Académique Documents
Professionnel Documents
Culture Documents
Cryptographie classique
Introduction
• Dans ce chapitre, nous faisons un tour d’horizon des
systèmes cryptographiques classiques utilisés jusqu’à la
deuxième guerre mondiale. S’ils sont caduques à
l’heure actuelle, ils n’en restent pas moins des
exemples importants qui permettent de comprendre
les principes sous-jacents aux systèmes modernes.
• M = ensemble des messages clairs
• C = ensemble des messages codés (ou chiffrés)
• K = ensemble des cas possibles (les clés)
Mme K. MEKLICHE 97
Chiffrement par décalage (de César
pour k=3)
• Est un chiffre dans lequel chaque caractère du texte en
clair est remplacé par un autre caractère dans le texte
chiffré.
• Ici M = C= K= Z26, n = 26 si on prend l’alphabet latin
(pour chiffrer du texte) ; pour chiffrer des images, on
pourra prendre par exemple le nombre de niveaux de
gris.
• Fonction de chiffrement :
– 𝑓𝑘 𝑥 = 𝑥 + 𝑘 𝑚𝑜𝑑 26, 𝑥 ∈ 𝑍26
• Fonction de déchiffrement :
– 𝑓𝑘−1 𝑦 = 𝑦 − 𝑘 𝑚𝑜𝑑 26, 𝑥∈𝑍
Mme K. MEKLICHE26 98
Chiffrement par décalage (de César
pour k=3)
• C’est un algorithme peu sûr car il n’y a que 26 clés
possibles, voire seulement 25 si on exclut la valeur 0
qui ne modifie pas le texte clair, ce qui n’est pas très
utile en cryptologie. Il suffit, au pire, de faire 26
essais avant de retrouver le texte clair. C'est-à-dire
l’algorithme peut être «cassé » par une simple
recherche exhaustive.
• En moyenne, il faut 26/2=13 essais pour casser un
message.
Mme K. MEKLICHE 99
Chiffrement par décalage
• Exemple:
• Chiffrement :
• BZ : 1 25
• Ajouter 3 : 4 28
• Réduire modulo 26 : 4 2
• Convertir en code alphabétique texte chiffré : EC
• Exemple :
– fk(x) ≡4x+7 mod26 non plus ; n’est pas un chiffrement valide car
PGCD(4,26)=2≠1 et on a deux solutions : x et x+13 qui sont
toujours chiffrés de la même façon, quelque soit x∈ Z26.
Mme K. MEKLICHE 104
Chiffrement linéaire
• Conclusion :
– L’espace des clés est maintenant
𝐾 = { 𝑎, 𝑏 ∈ ℤ26 × ℤ26 ∶ 𝑃𝐺𝐶𝐷 𝑎, 26 = 1}
– Dans notre cas, les valeurs de a valides sont a
=1,3,5,7,9,11,15,17,19,21,23 et 25.
– b peut être quelconque ;
– Le chiffrement linéaire possède card𝐾 = 12 × 26 =
312 clés possibles. La sécurité est meilleure que le
chiffrement par décalage, mais le nombre de clés reste
bien trop petit pour résister longtemps.
Mme K. MEKLICHE 105
Chiffrement linéaire
• Autre méthode de calcul de la taille de l’espace des clés du chiffrement
linéaire : 𝑐𝑎𝑟𝑑 𝐾 = 𝑛 × 𝜑(𝑛) où 𝜑 𝑛 est la fonction indicatrice d’Euler qui
donne le nombre d’entiers de Zm qui sont premiers avec m.
• S𝑖 𝑃 𝑖 𝑒𝑠𝑡 𝑙𝑎 𝑑é𝑐𝑜𝑚𝑝𝑜𝑠𝑖𝑡𝑖𝑜𝑛 𝑒𝑛 𝑓𝑎𝑐𝑡𝑒𝑢𝑟 𝑝𝑟𝑒𝑚𝑖𝑒𝑟
• 𝑎𝑙𝑜𝑟𝑠
– 𝜑 𝑛 = ς𝑛𝑖=1( 𝑝𝑒𝑖 𝑖 - 𝑝𝑒𝑖−1 𝑖 )
• Exemple :
– N=26=2*13 => 𝜑 26 = 2 − 20 13 − 130 = 12
– Pour n=60, vérifier que phy(60)=16, et le nombre de clés possibles serait de 960
(60=22´31´51)
• Retour au calcul d’inverse dans Zm, a est inversible si et seulement si PGCD
(a, n)=1, c'est-à-dire si a et n sont premiers ; il faut donc un procédé efficace
de calcul du PGCD. On peut factoriser en nombres premiers, mais la
méthode est peu efficace, car le problème de factorisation de grands
entiers est «difficile » algorithmiquement.
Mme K. MEKLICHE 106
Chiffrement linéaire
• Algorithme de calcul d’inverse :
– Utiliser l’algorithme d’Euclide étendu pour trouver x et y
tels que ax+my = d où d=PGCD (a,m).
– Si d>1, l’inverse a-1 mod m n’existe pas.
– Si d=1, le résultat est a-1.