34
Congrès Dédra-MATH- isons Modulus VS Cryptographix L’arithmétique modulaire au service du chiffrement affine

Congrès Dédra-MATH-isons

  • Upload
    dava

  • View
    30

  • Download
    0

Embed Size (px)

DESCRIPTION

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. - PowerPoint PPT Presentation

Citation preview

Page 1: Congrès Dédra-MATH-isons

Congrès Dédra-MATH-isons

Modulus VS CryptographixL’arithmétique modulaire au service du chiffrement affine

Page 2: Congrès Dédra-MATH-isons

• À 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

Page 3: Congrès Dédra-MATH-isons

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

Page 4: Congrès Dédra-MATH-isons

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

Page 5: Congrès Dédra-MATH-isons

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

Page 6: Congrès Dédra-MATH-isons

Notions élémentaires de congruence

arithmétique

Intro/ CongruenceCongruence/ Chiffrement monoalphabétique/ Chiffrement polyalphabétique

Page 7: Congrès Dédra-MATH-isons

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

Page 8: Congrès Dédra-MATH-isons

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

Page 9: Congrès Dédra-MATH-isons

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

Page 10: Congrès Dédra-MATH-isons

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==

Page 11: Congrès Dédra-MATH-isons

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

Page 12: Congrès Dédra-MATH-isons

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

Page 13: Congrès Dédra-MATH-isons

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

Page 14: Congrès Dédra-MATH-isons

Chiffrement par substitution

monoalphabétique

Intro/ Congruence/ Chiffrement monoalphabétiqueChiffrement monoalphabétique/ Chiffrement polyalphabétique

Page 15: Congrès Dédra-MATH-isons

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 ,

Page 16: Congrès Dédra-MATH-isons

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

Page 17: Congrès Dédra-MATH-isons

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

Page 18: Congrès Dédra-MATH-isons

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

Page 19: Congrès Dédra-MATH-isons

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

Page 20: Congrès Dédra-MATH-isons

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? ?

Page 21: Congrès Dédra-MATH-isons

Chiffrement par substitution

polyalphabétique

Intro/ Congruence/ Chiffrement monoalphabétique/ Chiffrement polyalphabétiqueChiffrement polyalphabétique

Page 22: Congrès Dédra-MATH-isons

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

Page 23: Congrès Dédra-MATH-isons

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

Page 24: Congrès Dédra-MATH-isons

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

Page 25: Congrès Dédra-MATH-isons

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

Page 26: Congrès Dédra-MATH-isons

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

Page 27: Congrès Dédra-MATH-isons

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

Page 28: Congrès Dédra-MATH-isons

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

Page 29: Congrès Dédra-MATH-isons

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

Page 30: Congrès Dédra-MATH-isons

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

Page 31: Congrès Dédra-MATH-isons

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

Page 32: Congrès Dédra-MATH-isons

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

Page 33: Congrès Dédra-MATH-isons

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

Page 34: Congrès Dédra-MATH-isons

Conclusion

C = (Ax M + B)mod29

Intro/ Congruence/ Chiffrement monoalphabétique/ Chiffrement polyalphabétiqueChiffrement polyalphabétique