Norme de chiffrement

Services de technologie de l’information

Le chiffrement des données dans le transit est nécessaire pour réduire le risque d’interception ou de surveillance des données non cryptées, car elles sont transmises sur des réseaux de confiance ou non fiables. L’accès non autorisé pourrait compromettre la confidentialité des données institutionnelles sensibles. CUU et les ISM de l’unité universitaire sont chargés de s’assurer que les exigences de chiffrement suivantes sont satisfaites dans les unités qu’elles sont responsables:

Norme de chiffrement des données (DES) | Set 1

Cet article parle de la norme de chiffrement des données (DES), un algorithme de chiffrement historique connu pour sa longueur de clé 56 bits. Nous explorons son fonctionnement, sa transformation clé et son processus de cryptage, mettant en lumière son rôle dans la sécurité des données et ses vulnérabilités dans le contexte d’aujourd’hui.

Qu’est-ce que DES?

La norme de chiffrement des données (DES) est un chiffre de bloc avec une longueur de clé de 56 bits qui a joué un rôle important dans la sécurité des données . La norme de chiffrement des données (DES) s’est avérée vulnérable aux attaques très puissantes. Par conséquent, la popularité du DES a été légèrement trouvée sur le déclin. DES est un chiffre de blocs et chiffrer les données en blocs de taille de 64 bits Chacun, ce qui signifie 64 bits de texte brut comme entrée à DES, qui produit 64 bits de texte chiffré. Le même algorithme et la même clé sont utilisés pour le chiffrement et le déchiffrement, avec des différences mineures. La longueur de clé est 56 bits .

L’idée de base est montrée ci-dessous:

Nous avons mentionné que le DES utilise une clé 56 bits. En fait, la clé initiale se compose de 64 bits. Cependant, avant même que le processus DES ne commence, chaque 8e morceau de la clé est jeté pour produire une clé 56 bits. C’est des positions de bits 8, 16, 24, 32, 40, 48, 56 et 64 sont jetées.

Ainsi, le rejet de chaque 8e morceau de la clé produit un Clé 56 bits de l’original Clé 64 bits .
DES est basé sur les deux attributs fondamentaux de la cryptographie: substitution (également appelée confusion) et transposition (également appelée diffusion). DES se compose de 16 étapes, chacune est appelée un tour. Chaque tour effectue les étapes de la substitution et de la transposition. Discutons maintenant des étapes de niveau large de Des.

  • Dans la première étape, le bloc de texte brut 64 bits est remis à une fonction de permutation initiale (IP).
  • La permutation initiale est effectuée sur un texte brut.
  • Ensuite, la permutation initiale (IP) produit deux moitiés du bloc permuté; Dire le texte brut gauche (LPT) et le texte brut droit (RPT).
  • Maintenant, chaque LPT et RPT passent par 16 tours du processus de chiffrement.
  • En fin de compte, LPT et RPT sont réjouis et une permutation finale (FP) est effectuée sur le bloc combiné
  • Le résultat de ce processus produit un texte chiffré 64 bits.

Étapes dans Des
Permutation initiale (IP)

Comme nous l’avons noté, la permutation initiale (IP) ne se produit qu’une seule fois et cela se produit avant le premier tour. Il suggère comment la transposition dans l’IP doit se dérouler, comme indiqué sur la figure. Par exemple, il indique que l’IP remplace le premier bit du bloc de texte brut d’origine par le 58e bit du texte brut d’origine, le deuxième bit avec le 50e bit du bloc de texte brut d’origine, et ainsi de suite.

Ce n’est rien d’autre que de la jonglerie des positions de bits du bloc de texte brut d’origine. La même règle s’applique à toutes les autres positions de bits indiquées sur la figure.

Table de permutation initiale

Comme nous l’avons noté après la fin de l’IP, le bloc de texte permuté 64 bits résultant est divisé en deux demi-blocs. Chaque demi-bloc se compose de 32 bits, et chacun des 16 tours, à son tour, se compose des étapes de niveau large décrites sur la figure.

Rounds en des

Étape 1: Transformation de clé

Nous avons noté que la touche 64 bits initiale est transformée en une clé 56 bits en rejetant tous les 8 ans de la clé initiale. Ainsi, pour chacun une clé 56 bits est disponible. À partir de cette touche 56 bits, une autre clé de 48 bits est générée pendant chaque tour en utilisant un processus appelé transformation de clé. Pour cela, la clé 56 bits est divisée en deux moitiés, chacune des 28 bits. Ces moitiés sont décalées circulairement à gauche par une ou deux positions, selon le tour.

Par exemple: Si les numéros ronds 1, 2, 9 ou 16, le décalage est effectué par une seule position pour d’autres tours, le décalage circulaire est effectué par deux positions. Le nombre de bits clés déplacés par tour est illustré sur la figure.

Nombre de bits clés déplacés par tour

Après un changement approprié, 48 des 56 bits sont sélectionnés. À partir du 48, nous pourrions obtenir 64 ou 56 bits en fonction des exigences qui nous aident à reconnaître que ce modèle est très polyvalent et peut gérer toute gamme d’exigences nécessaires ou fournies. Pour sélectionner 48 des 56 bits, le tableau est illustré dans la figure ci-dessous. Par exemple, après le changement, le bit numéro 14 se déplace vers la première position, le numéro 17 du bit 17 se déplace vers la deuxième position, et ainsi de suite. Si nous observons la table, nous réaliserons qu’elle ne contient que des positions de 48 bits. Le bit numéro 18 est jeté (nous ne le trouverons pas dans le tableau), comme 7 autres, pour réduire une clé 56 bits à une clé 48 bits. Étant donné que le processus de transformation de clé implique la permutation ainsi qu’une sélection d’un sous-ensemble 48 bits de la clé d’origine 56 bits, elle est appelée permutation de compression.

Permutation de compression

En raison de cette technique de permutation de compression, un sous-ensemble différent de bits clés est utilisé à chaque tour. Qui rend les pas faciles à casser.

Étape 2: Permutation d’expansion

Rappelons qu’après la permutation initiale, nous avions deux zones de texte brut 32 bits appelées texte brut gauche (LPT) et texte brut droit (RPT). Pendant la permutation d’expansion, le RPT est passé de 32 bits à 48 bits. Les bits sont également permutés, donc appelés permutation d’expansion. Cela se produit car le RPT 32 bits est divisé en 8 blocs, chaque bloc composé de 4 bits. Ensuite, chaque bloc 4 bits de l’étape précédente est ensuite étendu à un bloc 6 bits correspondant, je.e., par bloc 4 bits, 2 bits supplémentaires sont ajoutés.

Division de RPT 32 bits en blocs 8 bits

Ce processus entraîne une expansion ainsi qu’une permutation du bit d’entrée lors de la création de sortie. Le processus de transformation de clé compresse la clé 56 bits à 48 bits. Ensuite, le processus de permutation d’extension élargit le RPT 32 bits à 48 bits . Maintenant, la touche 48 bits est XOR avec RPT 48 bits et la sortie résultante est donnée à l’étape suivante, qui est le Substitution S-Box .

Python

# Code python3 pour l’approche ci-dessus
# Hexadécimal à la conversion binaire
def hex2bin (s):
MP = < '0' : "0000" , for i in range ( len (s)): bin = bin + mp[s[i]] return bin # Binary to hexadecimal conversion def bin2hex(s): mp = < "0000" : '0' , for i in range ( 0 , len (s), 4 ): ch = ch + s[i] ch = ch + s[i + 1 ] ch = ch + s[i + 2 ] ch = ch + s[i + 3 ] hex = hex + mp[ch] return hex # Binary to decimal conversion def bin2dec(binary): binary1 = binary decimal, i, n = 0 , 0 , 0 while (binary ! = 0 ): dec = binary % 10 decimal = decimal + dec * pow ( 2 , i) binary = binary / / 10 return decimal # Decimal to binary conversion def dec2bin(num): res = bin (num).replace( "0b" , "") if ( len (res) % 4 ! = 0 ): div = len (res) / 4 div = int (div) counter = ( 4 * (div + 1 )) - len (res) for i in range ( 0 , counter): res = '0' + res return res # Permute function to rearrange the bits def permute(k, arr, n): permutation = "" for i in range ( 0 , n): permutation = permutation + k[arr[i] - 1 ] return permutation # shifting the bits towards left by nth shifts def shift_left(k, nth_shifts): for i in range (nth_shifts): for j in range ( 1 , len (k)): # calculating xow of two strings of binary number a and b def xor(a, b): for i in range ( len (a)): if a[i] = = b[i]: ans = ans + "0" ans = ans + "1" return ans # Table of Position of 64 bits at initial level: Initial Permutation Table initial_perm = [ 58 , 50 , 42 , 34 , 26 , 18 , 10 , 2 , 60 , 52 , 44 , 36 , 28 , 20 , 12 , 4 , 62 , 54 , 46 , 38 , 30 , 22 , 14 , 6 , 64 , 56 , 48 , 40 , 32 , 24 , 16 , 8 , 57 , 49 , 41 , 33 , 25 , 17 , 9 , 1 , 59 , 51 , 43 , 35 , 27 , 19 , 11 , 3 , 61 , 53 , 45 , 37 , 29 , 21 , 13 , 5 , 63 , 55 , 47 , 39 , 31 , 23 , 15 , 7 ] # Expansion D-box Table exp_d = [ 32 , 1 , 2 , 3 , 4 , 5 , 4 , 5 , 6 , 7 , 8 , 9 , 8 , 9 , 10 , 11 , 12 , 13 , 12 , 13 , 14 , 15 , 16 , 17 , 16 , 17 , 18 , 19 , 20 , 21 , 20 , 21 , 22 , 23 , 24 , 25 , 24 , 25 , 26 , 27 , 28 , 29 , 28 , 29 , 30 , 31 , 32 , 1 ] # Straight Permutation Table per = [ 16 , 7 , 20 , 21 , 29 , 12 , 28 , 17 , 1 , 15 , 23 , 26 , 5 , 18 , 31 , 10 , 2 , 8 , 24 , 14 , 32 , 27 , 3 , 9 , 19 , 13 , 30 , 6 , 22 , 11 , 4 , 25 ] # S-box Table sbox = [[[ 14 , 4 , 13 , 1 , 2 , 15 , 11 , 8 , 3 , 10 , 6 , 12 , 5 , 9 , 0 , 7 ], [ 0 , 15 , 7 , 4 , 14 , 2 , 13 , 1 , 10 , 6 , 12 , 11 , 9 , 5 , 3 , 8 ], [ 4 , 1 , 14 , 8 , 13 , 6 , 2 , 11 , 15 , 12 , 9 , 7 , 3 , 10 , 5 , 0 ], [ 15 , 12 , 8 , 2 , 4 , 9 , 1 , 7 , 5 , 11 , 3 , 14 , 10 , 0 , 6 , 13 ]], [[ 15 , 1 , 8 , 14 , 6 , 11 , 3 , 4 , 9 , 7 , 2 , 13 , 12 , 0 , 5 , 10 ], [ 3 , 13 , 4 , 7 , 15 , 2 , 8 , 14 , 12 , 0 , 1 , 10 , 6 , 9 , 11 , 5 ], [ 0 , 14 , 7 , 11 , 10 , 4 , 13 , 1 , 5 , 8 , 12 , 6 , 9 , 3 , 2 , 15 ], [ 13 , 8 , 10 , 1 , 3 , 15 , 4 , 2 , 11 , 6 , 7 , 12 , 0 , 5 , 14 , 9 ]], [[ 10 , 0 , 9 , 14 , 6 , 3 , 15 , 5 , 1 , 13 , 12 , 7 , 11 , 4 , 2 , 8 ], [ 13 , 7 , 0 , 9 , 3 , 4 , 6 , 10 , 2 , 8 , 5 , 14 , 12 , 11 , 15 , 1 ], [ 13 , 6 , 4 , 9 , 8 , 15 , 3 , 0 , 11 , 1 , 2 , 12 , 5 , 10 , 14 , 7 ], [ 1 , 10 , 13 , 0 , 6 , 9 , 8 , 7 , 4 , 15 , 14 , 3 , 11 , 5 , 2 , 12 ]], [[ 7 , 13 , 14 , 3 , 0 , 6 , 9 , 10 , 1 , 2 , 8 , 5 , 11 , 12 , 4 , 15 ], [ 13 , 8 , 11 , 5 , 6 , 15 , 0 , 3 , 4 , 7 , 2 , 12 , 1 , 10 , 14 , 9 ], [ 10 , 6 , 9 , 0 , 12 , 11 , 7 , 13 , 15 , 1 , 3 , 14 , 5 , 2 , 8 , 4 ], [ 3 , 15 , 0 , 6 , 10 , 1 , 13 , 8 , 9 , 4 , 5 , 11 , 12 , 7 , 2 , 14 ]], [[ 2 , 12 , 4 , 1 , 7 , 10 , 11 , 6 , 8 , 5 , 3 , 15 , 13 , 0 , 14 , 9 ], [ 14 , 11 , 2 , 12 , 4 , 7 , 13 , 1 , 5 , 0 , 15 , 10 , 3 , 9 , 8 , 6 ], [ 4 , 2 , 1 , 11 , 10 , 13 , 7 , 8 , 15 , 9 , 12 , 5 , 6 , 3 , 0 , 14 ], [ 11 , 8 , 12 , 7 , 1 , 14 , 2 , 13 , 6 , 15 , 0 , 9 , 10 , 4 , 5 , 3 ]], [[ 12 , 1 , 10 , 15 , 9 , 2 , 6 , 8 , 0 , 13 , 3 , 4 , 14 , 7 , 5 , 11 ], [ 10 , 15 , 4 , 2 , 7 , 12 , 9 , 5 , 6 , 1 , 13 , 14 , 0 , 11 , 3 , 8 ], [ 9 , 14 , 15 , 5 , 2 , 8 , 12 , 3 , 7 , 0 , 4 , 10 , 1 , 13 , 11 , 6 ], [ 4 , 3 , 2 , 12 , 9 , 5 , 15 , 10 , 11 , 14 , 1 , 7 , 6 , 0 , 8 , 13 ]], [[ 4 , 11 , 2 , 14 , 15 , 0 , 8 , 13 , 3 , 12 , 9 , 7 , 5 , 10 , 6 , 1 ], [ 13 , 0 , 11 , 7 , 4 , 9 , 1 , 10 , 14 , 3 , 5 , 12 , 2 , 15 , 8 , 6 ], [ 1 , 4 , 11 , 13 , 12 , 3 , 7 , 14 , 10 , 15 , 6 , 8 , 0 , 5 , 9 , 2 ], [ 6 , 11 , 13 , 8 , 1 , 4 , 10 , 7 , 9 , 5 , 0 , 15 , 14 , 2 , 3 , 12 ]], [[ 13 , 2 , 8 , 4 , 6 , 15 , 11 , 1 , 10 , 9 , 3 , 14 , 5 , 0 , 12 , 7 ], [ 1 , 15 , 13 , 8 , 10 , 3 , 7 , 4 , 12 , 5 , 6 , 11 , 0 , 14 , 9 , 2 ], [ 7 , 11 , 4 , 1 , 9 , 12 , 14 , 2 , 0 , 6 , 10 , 13 , 15 , 3 , 5 , 8 ], [ 2 , 1 , 14 , 7 , 4 , 10 , 8 , 13 , 15 , 12 , 9 , 0 , 3 , 5 , 6 , 11 ]]] # Final Permutation Table final_perm = [ 40 , 8 , 48 , 16 , 56 , 24 , 64 , 32 , 39 , 7 , 47 , 15 , 55 , 23 , 63 , 31 , 38 , 6 , 46 , 14 , 54 , 22 , 62 , 30 , 37 , 5 , 45 , 13 , 53 , 21 , 61 , 29 , 36 , 4 , 44 , 12 , 52 , 20 , 60 , 28 , 35 , 3 , 43 , 11 , 51 , 19 , 59 , 27 , 34 , 2 , 42 , 10 , 50 , 18 , 58 , 26 , 33 , 1 , 41 , 9 , 49 , 17 , 57 , 25 ] def encrypt(pt, rkb, rk): pt = hex2bin(pt) # Initial Permutation pt = permute(pt, initial_perm, 64 ) print ( "After initial permutation" , bin2hex(pt)) left = pt[ 0 : 32 ] right = pt[ 32 : 64 ] for i in range ( 0 , 16 ): # Expansion D-box: Expanding the 32 bits data into 48 bits right_expanded = permute(right, exp_d, 48 ) # XOR RoundKey[i] and right_expanded xor_x = xor(right_expanded, rkb[i]) # S-boxex: substituting the value from s-box table by calculating row and column for j in range ( 0 , 8 ): row = bin2dec( int (xor_x[j * 6 ] + xor_x[j * 6 + 5 ])) col = bin2dec( int (xor_x[j * 6 + 1 ] + xor_x[j * 6 + 2 ] + xor_x[j * 6 + 3 ] + xor_x[j * 6 + 4 ])) val = sbox[j][row][col] sbox_str = sbox_str + dec2bin(val) # Straight D-box: After substituting rearranging the bits sbox_str = permute(sbox_str, per, 32 ) # XOR left and sbox_str result = xor(left, sbox_str) left = result left, right = right, left print ( "Round " , i + 1 , " " , bin2hex(left), " " , bin2hex(right), " " , rk[i]) # Combination combine = left + right # Final permutation: final rearranging of bits to get cipher text cipher_text = permute(combine, final_perm, 64 ) return cipher_text pt = "123456ABCD132536" key = "AABB09182736CCDD" # Key generation # --hex to binary key = hex2bin(key) # --parity bit drop table keyp = [ 57 , 49 , 41 , 33 , 25 , 17 , 9 , 1 , 58 , 50 , 42 , 34 , 26 , 18 , 10 , 2 , 59 , 51 , 43 , 35 , 27 , 19 , 11 , 3 , 60 , 52 , 44 , 36 , 63 , 55 , 47 , 39 , 31 , 23 , 15 , 7 , 62 , 54 , 46 , 38 , 30 , 22 , 14 , 6 , 61 , 53 , 45 , 37 , 29 , 21 , 13 , 5 , 28 , 20 , 12 , 4 ] # getting 56 bit key from 64 bit using the parity bits key = permute(key, keyp, 56 ) # Number of bit shifts shift_table = [ 1 , 1 , 2 , 2 , 2 , 2 , 2 , 2 , 1 , 2 , 2 , 2 , 2 , 2 , 2 , 1 ] # Key- Compression Table : Compression of key from 56 bits to 48 bits key_comp = [ 14 , 17 , 11 , 24 , 1 , 5 , 3 , 28 , 15 , 6 , 21 , 10 , 23 , 19 , 12 , 4 , 26 , 8 , 16 , 7 , 27 , 20 , 13 , 2 , 41 , 52 , 31 , 37 , 47 , 55 , 30 , 40 , 51 , 45 , 33 , 48 , 44 , 49 , 39 , 56 , 34 , 53 , 46 , 42 , 50 , 36 , 29 , 32 ] left = key[ 0 : 28 ] # rkb for RoundKeys in binary right = key[ 28 : 56 ] # rk for RoundKeys in hexadecimal for i in range ( 0 , 16 ): # Shifting the bits by nth shifts by checking from shift table left = shift_left(left, shift_table[i]) right = shift_left(right, shift_table[i]) # Combination of left and right string combine_str = left + right # Compression of key from 56 to 48 bits round_key = permute(combine_str, key_comp, 48 ) rkb.append(round_key) rk.append(bin2hex(round_key)) print ( "Encryption" ) cipher_text = bin2hex(encrypt(pt, rkb, rk)) print ( "Cipher Text : " , cipher_text) print ( "Decryption" ) rkb_rev = rkb[:: - 1 ] rk_rev = rk[:: - 1 ] text = bin2hex(encrypt(cipher_text, rkb_rev, rk_rev)) print ( "Plain Text : " , text) # This code is contributed by Aditya Jain

Javascrip

// définir la clé et le texte en clair
const key = “0123456789abcdef”;
const plaintext = “Bonjour, monde!”
// Effectuer le cryptage
const Des = new DES (clé);
const CIPherText = DES.Encrypt (texte en clair);
// Effectuer des décryptage des
const Decrypted = DES.Decrypt (chiffre chiffre);
// Imprimer les résultats
console.log (“PlainText:”, PlainText);
console.log (“CipherText:”, CipherText);
console.Log (“Decrypted:”, décrypté);
// définir la classe des
constructeur (clé) < // Initialize DES with key this .key = CryptoJS.enc.Hex.parse(key); encrypt(plaintext) < // Perform DES encryption on plaintext const encrypted = CryptoJS.DES.encrypt( // Return ciphertext as hex string return encrypted.ciphertext.toString(); decrypt(ciphertext) < // Parse ciphertext from hex string const ciphertextHex = CryptoJS.enc.Hex.parse(ciphertext); // Perform DES decryption on ciphertext const decrypted = CryptoJS.DES.decrypt( // Return decrypted plaintext as UTF-8 string return decrypted.toString(CryptoJS.enc.Utf8); Sortir

. 60AF7CA5 Round 12 FF3C485F 22A5963B C2C1E96A4BF3 Round 13 22A5963B 387CCDAA 99C31397C91F ROUND 14 387CCDAA BD2DD2AB 251B8BC717D0 Round 15 BD2D2AB CF26B472 3330C5D5 12 CF26B472 181C5D75C66D Texte du chiffre: C0B7A8D05F3A829C Décription après la permutation initiale: 19BA9212CF26B472 après le fractionnement:L0 = 19ba9212 R0 = CF26B472 Round 1 CF26B472 BD2DD2AB 181C5D75C66D Round 2 BD2DD2AB 387CCDAA 3330C5D9A36D ROUND 3 387CCDAA 22A5963B 251B8BC717D0 ROUND 4 22A5963B FF3C485BC717D0 ROUND 4 22A5963B FF3C485517D0 1397C91F Round 5 FF3C485F 6CA6CB20 C2C1E96A4BF3 Round 6 6CA6CB20 10AF9D37 6D5560AF7CA5 Round 7 10af9d37 8f9c65 34F822F0C66D Round 10 2E8F9C65 A15A4B87 708AD2DDB3C0 ROUND 11 A15A4B87 236779C2 C1948E87475E Round 12 23679C2 B8089591 69A629Fec913 Round 13 B8089591 4A1210f6DEC913 EE3 Round 14 4A1210F6 5A78E394 06EDA4ACF5B5 ROUND 15 5A78E394 18CA18AD 4568581ABCCE ROUND 16 14A7D678 18CA18AD 194CD072DE8C Text brut: 123456ABCD132536

Sortir:

Chiffrement:
Après la permutation initiale: 14A7D67818CA18AD
Après la division: l0 = 14a7d678 r0 = 18ca18ad
Round 1 18CA18AD 5A78E394 194CD072DE8C
Round 2 5A78E394 4A1210F6 4568581ABCCE
Round 3 4A1210F6 B8089591 06EDA4ACF5B5
Round 4 B8089591 236779C2 DA2D032B6EE3
Round 5 236779C2 A15A4B87 69A629Fec913
Round 6 A15A4B87 2E8F9C65 C1948E87475E
Round 7 2E8F9C65 A9FC20A3 708AD2DDB3C0
Round 8 A9FC20A3 308BEE97 34F822F0C66D
Round 9 308BEE97 10AF9D37 84BB4473DCCC
Round 10 10af9d37 6CA6CB20 02765708B5BF
Round 11 6CA6CB20 FF3C485F 6D5560AF7CA5
Round 12 FF3C485F 22A5963B C2C1E96A4BF3
Round 13 22A5963B 387CCDAA 99C31397C91F
Round 14 387CCDAA BD2DD2AB 251B8BC717D0
Round 15 BD2DD2AB CF26B472 3330C5D9A36D
Round 16 19ba9212 CF26B472 181C5D75C66D
Texte de chiffre: C0B7A8D05F3A829C
Décryptage
Après la permutation initiale: 19BA9212CF26B472
Après la division: l0 = 19Ba9212 R0 = CF26B472
Round 1 CF26B472 BD2DD2AB 181C5D75C66D
Round 2 BD2DD2AB 387CCDAA 3330C5D9A36D
Round 3 387CCDAA 22A5963B 251B8BC717D0
Round 4 22A5963B FF3C485F 99C31397C91F
Round 5 FF3C485F 6CA6CB20 C2C1E96A4BF3
Round 6 6CA6CB20 10AF9D37 6D5560AF7CA5
Round 7 10af9d37 308BEE97 02765708B5BF
Round 8 308BEE97 A9FC20A3 84BB4473DCCC
Round 9 A9FC20A3 2E8F9C65 34F822F0C66D
Round 10 2E8F9C65 A15A4B87 708AD2DDB3C0
Round 11 A15A4B87 236779C2 C1948E87475E
Round 12 236779C2 B8089591 69A629Fec913
Round 13 B8089591 4A1210F6 DA2D032B6EE3
Round 14 4A1210F6 5A78E394 06EDA4ACF5B5
Round 15 5A78E394 18CA18AD 4568581ABCCE
Round 16 14A7D678 18CA18AD 194CD072DE8C
Texte brut: 123456ABCD132536

Conclusion

En conclusion, la norme de chiffrement des données (DES) est un chiffre de bloc avec une longueur de clé de 56 bits qui a joué un rôle important dans la sécurité des données. Cependant, en raison des vulnérabilités, sa popularité a diminué. DES fonctionne à travers une série de cycles impliquant une transformation clé, une permutation d’expansion et une substitution, produisant finalement un texte chiffré à partir de texte en clair. Bien que le DES ait une signification historique, il est crucial de considérer des alternatives de chiffrement plus sécurisées pour les besoins modernes de protection des données.

Questions fréquemment posées

Q.1 : Ce qui doit être considéré comme une alternative au DES pour le cryptage des données?

Répondre:

Pour les besoins modernes de chiffrement des données, envisagez d’utiliser des algorithmes de chiffrement plus forts comme les AES (Advanced Encryption Standard).

Q.2 : Comment le sous-ciel 48 bits est-il généré pour chaque tour dans DES?

Répondre:

La sous-clé 48 bits pour chaque tour dans le DES est dérivée de la clé 56 bits à travers un processus de décalage circulaire et de permutation, assurant une diversité clé.

Dernière mise à jour: 20 septembre 2023

Vignette de lecture similaire

Comme un article

Norme de chiffrement

Cette norme prend en charge et complète les politiques technologiques de la FSU et offre des meilleures pratiques de sécurité et de confidentialité supplémentaires. Il définit les exigences pour l’utilisation des technologies de chiffrement pour protéger les données et les ressources de la FSU. Le chiffrement est le processus de codage des messages ou des informations afin de protéger les données ou la communication et peut être appliqué aux données stockées (au repos) ou transmises (en transit) sur les réseaux.

La conformité à cette norme est obligatoire et est appliquée de la même manière que les politiques qu’elle prend en charge. Les normes seront périodiquement examinées et mises à jour si nécessaires pour répondre aux menaces émergentes, des changements dans les exigences juridiques et réglementaires et les avancées technologiques. Tous les utilisateurs doivent se conformer à cette norme ou obtenir une exception conformément à la demande d’exception à la politique de sécurité informatique.

Ii. Définitions

Unité universitaire consolidée – Un groupe consolidé d’unités universitaires connexes qui a l’autorité de gestion et la responsabilité du respect des politiques, des normes et des directives informatiques.

Incident de sécurité de l’information – une menace suspectée, tentée, réussie ou imminente d’accès, d’utilisation, de divulgation, de violation, de modification ou de destruction des informations non autorisées; Interférence avec les opérations des technologies de l’information; ou violation significative de la politique d’utilisation responsable.

III. Standard

FSU a adopté le cadre du NIST pour améliorer la cybersécurité des infrastructures critiques en conjonction avec les contrôles NIST 800-53 comme fondement d’une approche basée sur les risques de la gestion de la cybersécurité. Le noyau du cadre de cybersécurité (CSF) utilise des fonctions de cybersécurité, des activités et des résultats souhaités pour aligner la politique universitaire sur la gestion du risque informatique. Le CSF Core exploite les normes, les directives et les pratiques de l’industrie pour établir des attentes de base pour la cybersécurité pour toutes les unités universitaires.

Les unités universitaires sont responsables de l’utilisation de ce cadre et de ce contrôle pour évaluer leurs risques, leurs menaces, leurs vulnérabilités et leurs tolérances de risque uniques pour déterminer un plan de gestion des risques approprié qui est conforme aux politiques technologiques, aux normes et directives de la FSU.

Les contrôles à l’appui de cette norme incluent, mais sans s’y limiter:

Cadre et contrôles de la cybersécurité NIST

Fonction Catégorie Résultat souhaité
(Sous-catégorie)
Protéger
(Pr)
Sécurité des données (PR.Ds): Les informations et les enregistrements (données) sont gérés conformément à la stratégie de risque de l’organisation pour protéger la confidentialité, l’intégrité et la disponibilité d’informations. RP.DS-1: Data-at-Rest est protégé
RP.DS-2: Les données en transit sont protégées
RP.DS-5: Les protections contre les fuites de données sont implémentées

Républication du CSF complète aux commandes: passage pour piétons NIST
* Le graphique NIST ci-dessus décrivant le cadre et les contrôles de la cybersécurité et le lien avec d’autres principes et informations de la NIST de la NIST n’appartiennent en aucune façon à ou appartiennent à la Florida State University.

Rôles et responsabilités

Le directeur de la sécurité de l’information (CISO) et le Bureau de la sécurité et de la confidentialité de l’information (ISPO)
Le CISO dirige le Bureau de la sécurité et de la confidentialité de l’information (ISPO) pour l’université. Le CISO relève du CIO et du prévôt et sert à la fois le CISO et le chef de la vie privée de la FSU. Le CISO et l’ISPO sont responsables de l’application de l’application de contrôles de sécurité opérationnelle appropriés nécessaires pour atténuer les risques associés à une divulgation, une perte ou un vol d’informations universitaires.
Consolidated University Unit (CUU) Dean, Director ou Department Head (DDDH)
Le doyen, le directeur, le chef de département ou un autre poste de gestion responsable de la protection de la confidentialité, de la disponibilité et de l’intégrité des actifs informatiques universitaires au sein d’un CUU. Le CUU DDDH a la responsabilité d’assurer la sécurité informatique et la vie privée pour les unités au sein de la CUU.
Consolidated University Unit (CUU) Information Security Manager (ISM)
La liaison désignée par le doyen du CUU, directeur ou chef de département (DDDH) responsable de la coordination du programme de sécurité de l’information du CUU. Le CUU ISM est le point de contact central entre les unités universitaires et l’ISPO pour les problèmes de sécurité. Les responsabilités du CUU ISM seront incluses dans les descriptions de position.
University Unit Information Security Manager (ISM)
La liaison désignée par un doyen de l’unité universitaire, directeur ou chef de département (DDDH) chargé de garantir la conformité d’une unité universitaire aux politiques, normes et directives informatiques de la sécurité, en coordination avec leur programme de sécurité de l’information de CUU désigné par CUU.
Gardien de données
Le doyen, le directeur, le chef de département ou un autre gestionnaire qui est finalement responsable de l’intégrité, des rapports précis et de l’utilisation des ressources de données universitaires, sur la base du Norme de sécurité des données.
Gestionnaire de données
Le (s) employé (s) de l’unité universitaire a délégué la responsabilité de surveillance opérationnelle des ressources de données par le dépositaire des données.

Classification des données

Les gardiens de données sont chargés de classer toutes les données pour lesquelles ils sont responsables en fonction des exigences de la norme de sécurité des données. La classification des données détermine les protections et contrôles de sécurité de base qui sont appropriés et nécessaires pour protéger la confidentialité, l’intégrité et la disponibilité des données, y compris les normes de sécurité minimale applicables au chiffrement de toutes les données institutionnelles accessibles, créées, stockées, traitées ou traitées transmis.

Les utilisateurs doivent faire preuve de prudence pour protéger et sécuriser les données FSU, les appareils et les supports de stockage portables.

Cryptage automatique

Les parts de réseau / cloud approuvées par la FSU (E.g. OneDrive, SharePoint) fournit un chiffrement automatique et un stockage sécurisé lorsqu’il est utilisé. Les utilisateurs qui choisissent de ne pas utiliser les partages de réseau sont chargés de répondre à toutes les exigences de chiffrement telles que définies par cette norme. Pour plus d’informations, consultez les directives pour l’utilisation des services de cloud personnel (FSU.edu).

Gestion clé

Pour éviter la perte de données, les processus de gestion des clés doivent être en place et documentés avant de chiffrer les données au repos. CUU et les ISM des unités universitaires sont chargés de s’assurer que les unités et les individus traitent, entretiennent, stockant ou transmettant les données à risque élevé ou à risque modéré par un plan de gestion clés cryptographique documenté en place qui protège la création, l’utilisation, la distribution, le stockage et Récupération des clés cryptographiques. Une gestion efficace des clés est essentielle pour éviter la divulgation non autorisée et pour garantir l’accès aux données en cas de besoin. Si une clé est perdue, il est très probable que les données sur l’appareil ne peuvent pas être récupérées, en particulier s’il n’y a pas d’autres copies des données disponibles.

Les clés cryptographiques sont un type d’informations sur la sécurité informatique classées comme des données à haut risque et doivent elles-mêmes être cryptées lorsqu’elles sont stockées. Les clés doivent être stockées séparément des données cryptées. Les touches stockées sur un milieu physique (papier, CD, stockage flash) doivent rester constamment verrouillées dans un emplacement sécurisé.

Cryptage des données au repos

Le chiffrement des données au repos signifie le cryptage des données lorsqu’il est stocké sur un serveur ou un support de stockage. Il existe deux façons de crypter les données au repos.

  • Cryptage à disque complet, Également connu sous le nom de chiffrement à disque entier, crypte l’ensemble de l’appareil, les partitions de disque à la fois ou les secteurs de disque utilisés au moment du chiffrement et des secteurs supplémentaires à mesure que les données sont générées. Il offre une bonne protection contre la perte de données due au vol ou à une autre perte et nécessite moins d’attention sur la gestion des fichiers.
  • Cryptage au niveau du fichier crypte les fichiers individuels. Il existe deux méthodes pour le cryptage au niveau du fichier:
    • Les fichiers sont déchiffrés uniquement lorsqu’ils sont utilisés, généralement le cas avec un cryptage basé sur l’application.
    • Les fichiers ne sont pas automatiquement à nouveau cryptés lorsque la visualisation ou l’édition est terminée, comme c’est le cas avec les utilitaires de chiffrement autonome. La clé pour décrypter le fichier doit être partagé séparément du fichier via une autre méthode de transmission. Ceci est parfois appelé cryptage basé sur les conteneurs.

    La méthode de chiffrement appropriée doit être sélectionnée en fonction de la classification des données et du type de périphérique. CUU et les ISM de l’unité universitaire sont chargés d’assurer des configurations sécurisées et de répondre aux exigences de chiffrement suivantes au sein de leurs unités:

    Tableau 1. Exigences de chiffrement pour les données au repos

    Type d’appareil Classification des données
    Données à haut risque Données de risque modérées Données à faible risque
    Appareils dans les centres de données ou les installations protégées Requis,
    Les données stockées sur les dispositifs de centre de données sont également couvertes par les exigences de la norme de sécurité physique informatique.
    Discrétion de l’unité
    Supports de stockage portables et amovibles Requis,
    Des soins supplémentaires doivent être accordés à la sécurité des médias portables et sont limités à des fins liées au travail à des fins de sauvegarde ou de stockage.
    Discrétion de l’unité
    Ordinateurs portables et autres appareils portables Requis Requis Recommandé
    Bureau Requis Requis Discrétion de l’unité
    Appareils appartenant à personne Stockage de données à risque élevé ou à risque modéré non autorisés Discrétion de l’unité
    Stockage de base de données Requis Requis
    Sauvegardes et archives de données Requis Discrétion de l’unité

    Cryptage des données en transit

    Le chiffrement des données dans le transit est nécessaire pour réduire le risque d’interception ou de surveillance des données non cryptées, car elles sont transmises sur des réseaux de confiance ou non fiables. L’accès non autorisé pourrait compromettre la confidentialité des données institutionnelles sensibles. CUU et les ISM de l’unité universitaire sont chargés de s’assurer que les exigences de chiffrement suivantes sont satisfaites dans les unités qu’elles sont responsables:

    Tableau 2. Exigences de chiffrement pour les données en transit

    Méthode Classification des données
    Données à haut risque Données de risque modérées Données à faible risque
    Informations envoyées par e-mail Requis Requis Discrétion de l’unité
    Données transmises entre les appareils du réseau FSU Requis Requis Discrétion de l’unité
    Informations transmises en dehors du réseau FSU Requis Requis Discrétion de l’unité
    Administration du matériel, des logiciels ou des applications effectuées sur un réseau Requis Requis Requis

    Voici des exemples de technologies couramment utilisées qui fournissent le chiffrement des données en transit.

    Réseau privé virtuel (VPN): Les utilisateurs voyageant dans l’entreprise universitaire ou qui ont besoin d’accéder au réseau FSU et à tout risque à haut risque ou à risque modéré, les données de l’université d’un réseau non universitaire ou public doivent se connecter au réseau privé virtuel FSU. Il permet également d’accéder aux applications ou aux données qui nécessitent une connexion sur le campus. Pour plus d’informations, consultez son catalogue de services – VPN.

    Trafic Web sécurisé (HTTPS): HTTPS est un protocole qui crypte le trafic entre un navigateur Web et une application Web. Les unités doivent utiliser un service de certificat fourni par l’université. Voir le catalogue de services pour son catalogue de services – Enterprise SSL.

    Sécurité de la couche de transport (TLS): TLS est un protocole cryptographique qui offre une sécurité de communication de bout en bout sur les réseaux et est largement utilisé pour les communications Internet et les transactions en ligne.

    Rapports d’incidents

    Des incidents se produisent lorsqu’un étudiant, un personnel, un entrepreneur ou un membre du corps professoral de la FSU viole cette norme, des exigences juridiques spécifiques ou des obligations contractuelles. Il est de la responsabilité de chaque étudiant, personnel, entrepreneur ou membre du corps professoral de la FSU à signaler immédiatement les incidents de sécurité et de confidentialité soupçonnés ou confirmés au directeur de la sécurité de l’information (CISO) à Security @ FSU.édu. L’ISM CUU ou l’unité universitaire doit informer le CISO de tout incident suspecté ou confirmé dans les 24 heures. Reportez-vous à la norme de réponse aux incidents informatiques pour plus d’informations.

    Iv. Les références

    • Framework de cybersécurité NIST (CSF)
    • NIST 800-53 Rev. 4, contrôles à fort impact
    • Procédures de réponse et de rapports sur la sécurité informatique et la confidentialité
    • Réseau privé virtuel FSU
    • ENTREPRISE SSL
    • FIPS 140-2 Exigences de sécurité pour les modules cryptographiques
    • Ligne directrice pour utiliser les normes cryptographiques dans le gouvernement fédéral: les mécanismes cryptographiques (NIST.Gov)
    • Lignes directrices pour l’utilisation des services de cloud personnels