340 likes | 429 Views
Modulus VS Cryptographix. L’arithmétique modulaire au service du chiffrement affine. Congrès Dédra-MATH-isons. Les Applications de la cryptographie. Intro / Congruence/ Chiffrement monoalphabétique/ Chiffrement polyalphabétique. À l’ « Époque » :. Messages militaires & Diplomatiques.
E N D
Modulus VS Cryptographix L’arithmétique modulaire au service du chiffrement affine Congrès Dédra-MATH-isons
Les Applications de la cryptographie Intro/ Congruence/ Chiffrement monoalphabétique/ Chiffrement polyalphabétique • À l’ « Époque » : Messages militaires & Diplomatiques • De nos jours : Transactions bancaires E-commerce
Le Vocabulaire du Cryptologue Intro/ Congruence/ Chiffrement monoalphabétique/ Chiffrement polyalphabétique Cryptanalyste Chiffrement Déchiffrement Cryptogramme Texte clair Destinataire Clé Expéditeur
Intro/ Congruence/ Chiffrement monoalphabétique/ Chiffrement polyalphabétique Et les Mathématiques là dedans ? AD 1 4 BE 2 5 … 25 28 +3 +3 +3 Décalage de 3 lettres 2 A B C D … X Y Z 1 2 3 4 … 24 25 26
Le plan que nous allons suivre : Intro/ Congruence/ Chiffrement monoalphabétique/ Chiffrement polyalphabétique 1.Notions élémentaires de congruence arithmétique 2.Chiffrement par substitution monoalphabétique 3.Chiffrement par substitution polyalphabétique
Intro/ Congruence/ Chiffrement monoalphabétique/ Chiffrement polyalphabétique Notions élémentaires de congruence arithmétique
a congru à b modulo m Intro/ Congruence/ Chiffrement monoalphabétique/ Chiffrement polyalphabétique Soit m 0, a, b a-b est divisible par m. 4-9=-5 -5-3=-8
Résidu Intro/ Congruence/ Chiffrement monoalphabétique/ Chiffrement polyalphabétique • a , ! b : • ab(modm) • 0b<m b = reste de la division de a par m • b est le résidu • b=a(modm) 47=3.15+2 puisque 47-2=45
Un nouvel ensemble Intro/ Congruence/ Chiffrement monoalphabétique/ Chiffrement polyalphabétique Travaillons en mod3 3 -4 0 1 2 -3 7 3 43 8 -2 39 53
Intro/ Congruence/ Chiffrement monoalphabétique/ Chiffrement polyalphabétique Classe de résidus Dans 3=0,1,2: 2 + 1 =2+1=3= 0 2 . 2 = 2.2=4=1
Inversibilité d’un élément dans Zm Intro/ Congruence/ Chiffrement monoalphabétique/ Chiffrement polyalphabétique Dans 6 5 -1= 5 Car 5 . 5 = 1 2 -1n’existe pas ! Car PGCD(2,6)=2 xest inversible dans Zm ↨ x et m sont premiers entre eux. ↨ PGCD(x,m)= 1 ↨ ax+bm=1
Quelest l’inverse de 31 dans 98? Intro/ Congruence/ Chiffrement monoalphabétique/ Chiffrement polyalphabétique 31 et 98 sont-ils premiers entre eux? 98=3.31+5 31=6.5+1 =>PGCD(31,98)=1 Cherchons l’inverse a.31+b.98=1 (1) 31=6.5+1 (2) 98=3.31+5 (1)-6.(2) 31-6.98=1-18.31 19.31-6.98=1 19=31-1(mod98)
m premier Intro/ Congruence/ Chiffrement monoalphabétique/ Chiffrement polyalphabétique Si m est un nombre premier, tous les éléments de m (hormis 0) ont un inverse pour la multiplication dans m. Alphabet à 29 caractères
Intro/ Congruence/ Chiffrement monoalphabétique/ Chiffrement polyalphabétique Chiffrement par substitution monoalphabétique
Intro/ Congruence/ Chiffrement monoalphabétique/ Chiffrement polyalphabétique Formule générale de codage (x)=(ax+b) mod 29 Conditions:
Intro/ Congruence/ Chiffrement monoalphabétique/ Chiffrement polyalphabétique Exemple de chiffrement « Je ne suis pas intelligent, je suis incroyablement curieux. » (x)=c=(2x+3) mod 29. j 9 21 21 v vl_al_kotk_edk_tamlzztplam._vl_kotk_tahicwdfzl,lam_hoiulou
Intro/ Congruence/ Chiffrement monoalphabétique/ Chiffrement polyalphabétique Déchiffrement ? c=(x)=(ax+b) mod 29 x=s-1(c)= a-1 (c-b) mod 29
Intro/ Congruence/ Chiffrement monoalphabétique/ Chiffrement polyalphabétique Déchiffrement zd_hoitcktml_lkm_oa_qtzdta_jlndom (x)=c=(2x+3) mod 29 x=s-1(c)= 2-1 (c-3) mod 29 x=s-1(c)= 15 (c-3) mod 29 z 25 330 11 l La curiosité est un vilain défaut
Intro/ Congruence/ Chiffrement monoalphabétique/ Chiffrement polyalphabétique Cryptanalyse E , M _ _e,ipjudlunm,mln,pb,ru_eub,kmoepn _e_ipjudlune_eln_pb_ru_eub_keoepn la_ipjudlune_eln_pb_rulaub_keoapn lavipjudsute_est_pb_rulaub_keoapt la_iujidsite_est_un_vilain_keoaut la curiosité est un vilain défaut
Intro/ Congruence/ Chiffrement monoalphabétique/ Chiffrement polyalphabétique Pour trouver la clé ? ? c=(x)=(ax+b) mod 29 27=(a.26+b)mod29 12=(a.4+b)mod29
Intro/ Congruence/ Chiffrement monoalphabétique/ Chiffrement polyalphabétique Chiffrement par substitution polyalphabétique
Chiffrement C = (AxM + B) mod29, où C est la matrice du message codé M est la matrice du message clair A est la matrice clé de multiplication B est la matrice clé d’addition Intro/ Congruence/ Chiffrement monoalphabétique/ Chiffrement polyalphabétique
La matrice du message clair « Il faut détruire Carthage. » «IL_/FAU/T_D/ETR/UIR/E_C/ART/HAG/E. _ » Intro/ Congruence/ Chiffrement monoalphabétique/ Chiffrement polyalphabétique A M =
Les matrices clés Conditions préalables sur le genre : Intro/ Congruence/ Chiffrement monoalphabétique/ Chiffrement polyalphabétique C = Ax M + B [ ?x? ] = [ ?x? ] x [ lxm ] + [ ?x? ] [ ?x? ] = [ ?xl ] x [ lxm ] + [ ?x? ] [ ?x? ] = [ lxl ] x [ lxm ] + [ ?x? ] [ ?x? ] = [ lxl ] x [ lxm ] + [ lxm ] [ lxm ] = [ lxl ] x [ lxm ] + [ lxm ]
Matrice clé de multiplicationA Deux possibilités : Matrice quelconque [ 3x3 ] Matrice [ 3x3 ] représentée par un mot de 9 lettres déterminant de A ≠ 0 Soit A = Intro/ Congruence/ Chiffrement monoalphabétique/ Chiffrement polyalphabétique Genre de la matrice : [ 3x3 ]
Matrice clé d’addition B Deux possibilités : Duplication m fois d’une matrice [ 3x1 ] représentée par un mot clé de 3 lettres (Vigenère) Matrice quelconque de genre [ 3x9 ] (Vernam) Soit B = Intro/ Congruence/ Chiffrement monoalphabétique/ Chiffrement polyalphabétique Genre de la matrice : [ 3x9 ] « KEY » dupliquée 9 fois
La matrice du message codé Intro/ Congruence/ Chiffrement monoalphabétique/ Chiffrement polyalphabétique C = (Ax M + B)mod29 ( x )mod 29 + = « .MM/QJZ/_X,/SIT/LYS/JIZ/HEH/ILP/RIA »
Intro/ Congruence/ Chiffrement monoalphabétique/ Chiffrement polyalphabétique Codage multiple « IL_/FAU/T_D/ETR/UIR/E_C/ART/HAG/E.A » « .MM/QJZ/_X,/SIT/LYS/JIZ/HEH/ILP/RIA »
Déchiffrement Opération utilisée pour le codage : C = (AxM + B) mod 29 Opération utilisée pour le décodage : C – B = AxM (A-1 (C – B)) mod 29 = M Intro/ Congruence/ Chiffrement monoalphabétique/ Chiffrement polyalphabétique ?
Matrice du cryptogramme Intro/ Congruence/ Chiffrement monoalphabétique/ Chiffrement polyalphabétique (A-1 (C – B)) mod 29 = M EGQ/PXZ/QKQ/PIS/UBC/.XR/RMO/HDW C =
Les matrices clés Intro/ Congruence/ Chiffrement monoalphabétique/ Chiffrement polyalphabétique (A-1 (C – B)) mod 29 = M A-1 = A-1=
La matrice du message clair Intro/ Congruence/ Chiffrement monoalphabétique/ Chiffrement polyalphabétique (A-1 (C – B)) mod 29 = M ( ( x ))mod 29 - = « CAR/THA/GE_/EST/_DE/TRU/ITE/.AA »
Cryptanalyse Intro/ Congruence/ Chiffrement monoalphabétique/ Chiffrement polyalphabétique • Analyse fréquentielle… ? • Une lettre n’a pas qu’une correspondante • Multiplication des inconnues Mauvaise méthode • Attaque à texte clair • Découverte d’équations avec les éléments des clés comme inconnues
Conclusion Intro/ Congruence/ Chiffrement monoalphabétique/ Chiffrement polyalphabétique C = (Ax M + B)mod29