Congrès Dédra-MATH-isons Modulus VS Cryptographix Larithmétique modulaire au service du...
-
Upload
arnaude-berthe -
Category
Documents
-
view
111 -
download
0
Transcript of Congrès Dédra-MATH-isons Modulus VS Cryptographix Larithmétique modulaire au service du...
Congrès Dédra-MATH-isons
Modulus VS CryptographixL’arithmétique modulaire au service du chiffrement affine
• À l’ « Époque » :
• De nos jours :
Messages militaires & Diplomatiques
Transactions bancairesE-commerce
IntroIntro/ Congruence/ Chiffrement monoalphabétique/ Chiffrement polyalphabétique
Les Applications de la cryptographieLes Applications de la cryptographie
CryptanalysteCryptanalyste
ExpéditeurExpéditeurDestinataireDestinataireCléClé
ChiffrementChiffrement DéchiffrementDéchiffrement
CryptogrammeCryptogrammeTexte clairTexte clair
Le Vocabulaire du CryptologueLe Vocabulaire du Cryptologue
IntroIntro/ Congruence/ Chiffrement monoalphabétique/ Chiffrement polyalphabétique
AD1 4BE2 5
…25 28
A B C D … X Y Z
1 2 3 4 … 24 25 26
+3
+3
+3 2
Et les Mathématiques là dedans ?Et les Mathématiques là dedans ?
Décalage de 3 lettres
IntroIntro/ Congruence/ Chiffrement monoalphabétique/ Chiffrement polyalphabétique
1. Notions élémentaires de congruence arithmétique2. Chiffrement par substitution monoalphabétique3. Chiffrement par substitution polyalphabétique
Le plan que nous allons suivre :Le plan que nous allons suivre :
IntroIntro/ Congruence/ Chiffrement monoalphabétique/ Chiffrement polyalphabétique
Notions élémentaires de congruence
arithmétique
Intro/ CongruenceCongruence/ Chiffrement monoalphabétique/ Chiffrement polyalphabétique
a congru à b modulo ma congru à b modulo m
Soit m 0, a, b
a-b est divisible par m.
4-9=-5
-5-3=-8
Intro/ CongruenceCongruence/ Chiffrement monoalphabétique/ Chiffrement polyalphabétique
RésiduRésidu
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
Intro/ CongruenceCongruence/ Chiffrement monoalphabétique/ Chiffrement polyalphabétique
Un nouvel ensembleUn nouvel ensemble
3-3
39
0
Intro/ CongruenceCongruence/ Chiffrement monoalphabétique/ Chiffrement polyalphabétique
Travaillons en mod3mod3
30
28
53
-4
32
1
43
-2
7
31
33 2,1,0
Classe de résidusClasse de résidus
Intro/ CongruenceCongruence/ Chiffrement monoalphabétique/ Chiffrement polyalphabétique
1,...,2,1,0 mm
baba :
baba :
Dans 3=,,:
+ =2+1==
. = 2.2==
Inversibilité d’un élément dans ZInversibilité d’un élément dans Zmm
x est inversible dans Zm
↨ x et m sont premiers entre eux.
↨PGCD(x,m)= 1
↨
ax+bm=1
Intro/ CongruenceCongruence/ Chiffrement monoalphabétique/ Chiffrement polyalphabétique
Dans 6
-1= Car . =
-1n’existe pas !Car PGCD(2,6)=2
QuelQuel est l’inverse de 31 dans est l’inverse de 31 dans 9898 ??
31 et 98 sont-ilspremiers entre eux?98=3.31+531=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)
Intro/ CongruenceCongruence/ Chiffrement monoalphabétique/ Chiffrement polyalphabétique
m premierm premier
Si m est un nombre premier, Si m est un nombre premier, tous les éléments de tous les éléments de mm (hormis 0) ont (hormis 0) ont
un inverse pour la multiplication dans un inverse pour la multiplication dans mm..
Alphabet à 29 caractèresAlphabet à 29 caractères
Intro/ CongruenceCongruence/ Chiffrement monoalphabétique/ Chiffrement polyalphabétique
A B C D E F G H I J K L M M O0 1 2 3 4 5 6 7 8 9 10 11 12 13 14P Q R S T U V W X Y Z15 16 17 18 19 20 21 22 23 24 25
. , _26 27 28
Chiffrement par substitution
monoalphabétique
Intro/ Congruence/ Chiffrement monoalphabétiqueChiffrement monoalphabétique/ Chiffrement polyalphabétique
Formule générale de codageFormule générale de codage
(x)=(ax+b) mod 29
Conditions:
0a29,0 ba
Intro/ Congruence/ Chiffrement monoalphabétiqueChiffrement monoalphabétique/ Chiffrement polyalphabétique
Nba ,
Exemple de chiffrement
(x)=c=(2x+3) mod 29.
« Je ne suis pas intelligent, je suis incroyablement curieux. »
Message clairx
Equivalent numérique 2x+3
(2x+3)mod 29
Cryptogrammec
e 4 11 11 l
_ 26 55 26 _
n 13 29 0 a
e 4 11 11 l
vl_al_kotk_edk_tamlzztplam._vl_kotk_tahicwdfzl,lam_hoiulou
j 9 21 21 v
Intro/ Congruence/ Chiffrement monoalphabétiqueChiffrement monoalphabétique/ Chiffrement polyalphabétique
DéchiffrementDéchiffrement
c=(x)=(ax+b) mod 29
x=-1(c)= a-1 (c-b) mod 29
?
Intro/ Congruence/ Chiffrement monoalphabétiqueChiffrement monoalphabétique/ Chiffrement polyalphabétique
DéchiffrementDéchiffrement
zd_hoitcktml_lkm_oa_qtzdta_jlndom
Cryptogrammec
Equivalent numérique
15(c-3)15 (c-3) mod 29
Texte clairx
d 3 0 0 a
_ 26 345 26 _
h 7 60 2 c
La curiosité est un vilain défaut
(x)=c=(2x+3) mod 29
x=-1(c)= 2-1 (c-3) mod 29x=-1(c)= 15 (c-3) mod 29
z 25 330 11 l
Intro/ Congruence/ Chiffrement monoalphabétiqueChiffrement monoalphabétique/ Chiffrement polyalphabétique
CryptanalyseCryptanalyse
la curiosité est un vilain défaut
_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
Intro/ Congruence/ Chiffrement monoalphabétiqueChiffrement monoalphabétique/ Chiffrement polyalphabétique
Cryptogramme Equivalent numérique
c
Texte clair Equivalent numérique
x
, 27 - 26
m 12 e 4
27=(a.26+b)mod2912=(a.4+b)mod29
Pour trouver la cléPour trouver la clé
Intro/ Congruence/ Chiffrement monoalphabétiqueChiffrement monoalphabétique/ Chiffrement polyalphabétique
c=(x)=(ax+b) mod 29? ?
Chiffrement par substitution
polyalphabétique
Intro/ Congruence/ Chiffrement monoalphabétique/ Chiffrement polyalphabétiqueChiffrement 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étiqueChiffrement polyalphabétique
La matrice du message clair
« Il faut détruire Carthage. »« IL_/FAU/T_D/ETR/UIR/E_C/ART/HAG/E. _ »A
M =
Intro/ Congruence/ Chiffrement monoalphabétique/ Chiffrement polyalphabétiqueChiffrement polyalphabétique
Les matrices clés
Conditions préalables sur le genre :
C = A x M + B[ ?x? ] = [ ?x? ] x [ lxm ] + [ ?x? ]
[ ?x? ] = [ lxl ] x [ lxm ] + [ lxm ]
[ ?x? ] = [ ?xl ] x [ lxm ] + [ ?x? ]
[ ?x? ] = [ lxl ] x [ lxm ] + [ ?x? ]
[ lxm ] = [ lxl ] x [ lxm ] +
[ lxm ]
Intro/ Congruence/ Chiffrement monoalphabétique/ Chiffrement polyalphabétiqueChiffrement polyalphabétique
Matrice clé de multiplication
A• Deux possibilités :
– Matrice quelconque [ 3x3 ]– Matrice [ 3x3 ] représentée par un mot de 9
lettres
déterminant de A ≠ 0
Soit A =
Genre de la matrice : [ 3x3 ]
Intro/ Congruence/ Chiffrement monoalphabétique/ Chiffrement polyalphabétiqueChiffrement polyalphabétique
132
001
153
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 =
« KEY » dupliquée 9 fois
Genre de la matrice : [ 3x9 ]
Intro/ Congruence/ Chiffrement monoalphabétique/ Chiffrement polyalphabétiqueChiffrement polyalphabétique
24
4
10
24
4
10
24
4
10
24
4
10
24
4
10
24
4
10
24
4
10
24
4
10
24
4
10
24
4
10
La matrice du message codé
« .MM/QJZ/_X,/SIT/LYS/JIZ/HEH/ILP/RIA »
C = (A x M + B) mod29
x
+
Intro/ Congruence/ Chiffrement monoalphabétique/ Chiffrement polyalphabétiqueChiffrement polyalphabétique
=
(
)mod 29
132
001
153
06192171732026
280172681926011
47042041958
24
4
10
24
4
10
24
4
10
24
4
10
24
4
10
24
4
10
24
4
10
24
4
10
24
4
10
0
8
17
15
11
8
7
4
7
25
8
9
18
24
11
19
8
18
27
23
26
25
9
16
12
12
28
Codage multiple
« .MM/QJZ/_X,/SIT/LYS/JIZ/HEH/ILP/RIA »
« IL_/FAU/T_D/ETR/UIR/E_C/ART/HAG/E.A »
Intro/ Congruence/ Chiffrement monoalphabétique/ Chiffrement polyalphabétiqueChiffrement polyalphabétique
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étiqueChiffrement polyalphabétique
Matrice du cryptogramme
EGQ/PXZ/QKQ/PIS/UBC/.XR/RMO/HDW
C =
Intro/ Congruence/ Chiffrement monoalphabétique/ Chiffrement polyalphabétiqueChiffrement polyalphabétique
(A-1 (C – B)) mod 29 = M
22
3
7
14
12
17
17
23
28
2
1
20
18
8
15
16
10
16
25
23
15
16
6
4
Les matrices clés
A-1 =
Intro/ Congruence/ Chiffrement monoalphabétique/ Chiffrement polyalphabétiqueChiffrement polyalphabétique
A-1 =
(A-1 (C – B)) mod 29 = M
AAt~ 29mod.
~ 1 AAt
513
111
020~ tA 29mod)2(29mod 11 A
171413
141415
010
1429mod1
A
La matrice du message clair
« CAR/THA/GE_/EST/_DE/TRU/ITE/.AA »
Intro/ Congruence/ Chiffrement monoalphabétique/ Chiffrement polyalphabétiqueChiffrement polyalphabétique
(A-1 (C – B)) mod 29 = Mx
-
=
(
))mod 29
171413
141415
010
(
22
3
7
14
12
17
17
23
28
2
1
20
18
8
15
16
10
16
25
23
15
16
6
4
24
4
10
24
4
10
24
4
10
24
4
10
24
4
10
24
4
10
24
4
10
24
4
10
24
4
10
0
0
28
4
19
8
20
17
19
4
3
26
19
18
4
26
4
6
0
7
19
17
0
2
Cryptanalyse
• 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
Intro/ Congruence/ Chiffrement monoalphabétique/ Chiffrement polyalphabétiqueChiffrement polyalphabétique
Conclusion
C = (Ax M + B)mod29
Intro/ Congruence/ Chiffrement monoalphabétique/ Chiffrement polyalphabétiqueChiffrement polyalphabétique