Accueil technologie Chiffre affine

Chiffre affine



introduction

Le mot de passe affine est un mot de passe de remplacement.

Le mot de passe affine est un type de cryptage à table unique.

Danslechiffrementaffiné,lesystèmedelettresdetaillemcorrespondd'abordàunevaleurdanslaplagede0..m-1,puisl'arithmétiquemoduloestutiliséepourconvertirleslettresdufichierd'originedanslefichierchiffrécorrespondantdanslesnombres.Lafonctiondechiffrementd'unelettreuniqueest

De plus, il y a la taille du système de lettres et les valeurs clés du mot de passe. La valeur de a doit être telle que a et soit relativement première.

où l'équation est satisfaite.

L'élément inverse multiplicatif de a n'existe que lorsque a et mar sont relativement premiers.

Désavantages

Becausetheaffinecipherisstillasinglealphabetcipher, itstillretainstheweaknessofthistypeofencryption.Whena = 1, affineencryptionistheCaesarcipher, becausetheencryptionequationcanbesimplifiedtolinearmovement.ConsiderencryptingEnglish. (Ie: m = 26), excluding26andCaesarciphers, thereareatotalof286affineciphers.Thisvalueisduetothefactthat12numbersand26arerelativelyprimeamongnumberslessthan26.Eachvalueofacanhave26mutuallydifferentadditivemoves (thevalueofb) et, par conséquent, thereare12 * 26or312possiblekeyvalues ​​intotal.Becausethepasswordlackscomplexity, accordingtoKirkhoff'sprinciple, thissystemisinsecure.

La principale faiblesse de ce mot de passe est que si un cryptographe peut découvrir (par exemple par analyse de fréquence, craquage par force brute, spéculation ou toute autre méthode) le texte original à deux caractères du document crypté, la valeur clé peut être résolue. Un système d'équations est obtenu.

Lemêmetypedeconversionencryptographieaffineestutilisédanslegénérateurpseudoaléatoirelinéaire,quiestundesgénérateursdenombrespseudoaléatoires.

Exemple

Dans l'exemple de chiffrement et de déchiffrement suivant, les lettres vont de A à Z, et elles ont toutes des valeurs correspondantes dans le tableau.

UNE

B

C

E

F

g

H

je

J

K

L

M

N

O

P

Q

R

S

J

tu

V

O

X

Oui

Z

0

1

2

3

4

5

6

sept

8

9

dix

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

Chiffrement

Intheencryptionexample, usethevaluecorrespondingtoeachletterintheprecedingtabletoknowthattheoriginalfiletobeencryptedis "chiffre affine", acorrespondsto5, bcorrespondsto8, andmcorrespondsto26 (becauseatotalof26lettersareused) .Allpossiblevalues ​​ofaare1,3,5,7,9,11,15,17,19,21,23, and25.Ifaisnotequalto1, thevalueofbcanberandomlyselected, sothefunctionofthisencryptionexampleis.Thefirststepinencryptingamessageistowriteoutthenumericvalueofeachletter .

Fichier d'origine :

UNE

td>

F

F

je

N

E

C

je

P

H

E

R

X:

0

5

5

8

13

4

2

8

15

sept

4

17

Maintenant, prenez les valeurs de x et résolvez la première partie de l'équation, (5x+8). Après avoir obtenu la valeur correspondant à chaque lettre (5x+8), prenez le reste de 26. Le tableau suivant présente les quatre premières étapes du chiffrement.

Fichier d'origine :

UNE

td>

F

F

je

N

E

C

je

P

H

E

R

X

0

5

5

8

13

4

2

8

15

sept

4

17

5x+8

8

33

33

48

73

28

18

48

83

43

28

93

(5x+8)mod26

8

sept

sept

22

21

2

18

22

5

17

2

15

LadernièreétapeduchiffrementdumessageestdetrouverlalettrecorrespondanteValeurNumérique.Danscetexemple,letextechiffrédoitêtreIHHWVCSWFRCP.

Fichier d'origine :

UNE

td>

F

F

je

N

E

C

je

P

H

E

R

X

0

5

5

8

13

4

2

8

15

sept

4

17

5x+8

8

33

33

48

73

28

18

48

83

43

28

93

(5x+8)pmod26

8

sept

sept

22

21

2

18

22

5

17

2

15

Fichiers cryptés :

je

H

H

O

V

C

S

O

F

R

C

P

Décryptage

Danscetexempledechiffrement, lefichierchiffréàdéchiffrerprovientdel'exempledechiffrement .

texte chiffré :

je

H

H

O

V

C

S

O

F

R

C

P

y :

8

sept

sept

22

21

2

18

22

5

17

2

15

Ensuite,calculez21(y-8),puisprenezlerestedeladivisiondurésultatpar26.Letableausuivantmontrelesrésultatsdesdeuxcalculs.

Texte chiffré :

je

H

H

O

V

C

S

O

F

R

C

P

y :

8

sept

sept

22

21

2

18

22

5

17

2

15

21(y-8):

0

-21

-21

294

273

-126

210

294

-63

189

-126

147

(21(y-8))mod26 :

0

5

5

8

13

4

2

8

15

sept

4

17

La dernière étape du déchiffrement consiste à utiliser le formulaire pour reconvertir la valeur en lettre. Le fichier d'origine déchiffré est AFFINECIPHER.

Fichier crypté :

je

H

H

O

V

C

S

O

F

R

C

P

y :

8

sept

sept

22

21

2

18

22

5

17

2

15

21(y-8):

0

-21

-21

294

273

-126

210

294

-63

189

-126

147

(21(y-8))mod26 :

0

5

5

8

13

4

2

8

15

sept

4

17

Fichier d'origine :

UNE

F

F

je

N

E

C

je

P

H

E

R

Chiffrer toutes les lettres

Pour un chiffrement et un déchiffrement plus rapides, toutes les lettres peuvent être chiffrées pour mapper les lettres du fichier d'origine sur le fichier chiffré un à un.

Leslettresdudocumentoriginal

UNE

B

C

E

F

g

H

je

J

K

L

M

N

O

P

Q

R

S

J

tu

V

O

X

Oui

Z

Numérodanslefichieroriginal

0

1

2

3

4

5

6

sept

8

9

dix

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

(5x+8)mode(26)

8

13

18

23

2

sept

12

17

22

1

6

11

16

21

0

5

dix

15

20

25

4

9

14

19

24

3

Lettre de fichier cryptée

je

N

S

X

C

H

M

R

O

B

g

L

Q

V

UNE

F

K

P

tu

Z

E

J

O

J

Oui

Exemple de programme

En utilisant le langage de programmation Python, les codes suivants sont disponibles pour chiffrer les lettres romaines A à Z.

  #Imprimezl'alphabetdumotdepasseaffine.#Amusetmmutualqualitydefaffine(a,b):foriinrange(26):printchr(i+65)+":"+chr(((a*i+b)%26)+65)#Examplesofcallingfunctionsaffine(5,8)

Ouprenez Java comme exemple :

  publicvoidAffine(inta,intb){for(intnum=0;num

Cet article provient du réseau, ne représente pas la position de cette station. Veuillez indiquer l'origine de la réimpression
HAUT