Documente Academic
Documente Profesional
Documente Cultură
Succession de rondes
• La plupart des chiffrements de la fin du XXè siècle sont basés sur cette
structure.
Structure de Feistel
Dans une construction de Feistel (figure), le bloc d’entrée d’un round est
séparé en deux parties.
La fonction de chiffrement est appliquée sur la première partie du bloc et
l’opération binaire OU-Exclusif (⊕) est appliquée sur la partie sortante de la
fonction et la deuxième partie.
• Ces clefs sont les mêmes quel que soit le bloc qu’on code dans un
message.
1. Permutation initiale
2. Calcul médian (16 fois) : application d’un algorithme
complexe appliqué en fonction de la clé
3. Permutation finale
– Tn = LnRn
– Ln = t1...t32
– Rn = t33...t64
Matrice d’expansion
Phase d’expansion
Par Dr RIAHLA Mohamed Amine
2, D.E.S. - Data Encryption Standard
b, Le calcul médian: Fct F : Addition de la sous-clé
Permutation finale
Permutation Initiale
Par Dr RIAHLA Mohamed Amine
2, D.E.S. - Data Encryption Standard
Algorithme du calcul de la clé G(K, n)
• La clé est constituée de 64 bits dont 56 sont utilisés dans
l’algorithme.
• Les 8 autres peuvent être utilisés pour la détection
d’erreurs où chacun de ces bits sera utilisé comme bit de
parité des 7 groupes de 8 bits.
• Ainsi, le nombre total de clés est de 256.
Matrice de réduction de la cl
• Le Chiffrement était :
– Ln = Rn−1
– Rn = Ln−1 ⊕ F(Rn−1, Kn)
• Suite aux failles du DES, quelques modifications ont été apportées, mais pas
toujours avec succès.
• choisir deux clefs k1 et k2 et chiffrer deux fois le Message:
E(k2,E(k1,m))
• Il a été prouvé que 2DES était équivalent à un DES avec une clé de 57 bits.
• Il faut donc seulement deux fois plus de travail pour le briser (257 = 2 256).
Double DES
Par Dr RIAHLA Mohamed Amine
2D.E.S : Attaque Meet-in-the-middle
• Le 2DES est sensible à l’attaque Meet-in-the-middle,un intrus peut s’introduire
dans l’échange et retrouver la clé utilisée. Imaginons la situation suivante :
• Alice transmet C = f2(f1(M)) à Bob où f1 = K1 et f2 = K2.
• Si Jack connaît M et C, il peut construire deux listes de 256 messages :
L1 = {fK(M); ¥K} et L2 = {fK-1 (C); ¥K}
• Il cherche ensuite un élément commun.
Si R = fK3 (M) = fK4-1 (C), c’est que fK4(fK3 (M)) = C.
• Jack a alors probablement retrouvé K3 = K1 et K4 = K2
• Ainsi, l’attaque nécessite X = 2n opérations, et Y = 2n opérations, ce qui
revient à 2*2n = 2n+1