dCode

Rechercher un outil sur dCode.fr


Chiffre Affine

La fonction de codage affine est une fonction de chiffrement faisant correspondre à une lettre e(x) = (ax + b)(mod 26) avec a et m premiers entre eux. La fonction de décodage est d(x) = a^-1 * (e(x) - b)(mod 26)

dCode est ton ami !

Plus aucun jeu, plus aucune énigme, plus aucune chasse au trésor ne vous résisteront ! Contactez l'auteur de dCode !

Chiffre Affine

Annonces sponsorisées :

Déchiffrement par fonction affine


(optionnel)
(généralement 0 (défaut) ou 1)
(optionnel)
(optionnel)

A cause des propriétés mathématiques de cryptage et de décryptage, le coefficient A ne peut prendre que les valeurs 1, 3, 5, 7, 9, 11, 15, 17, 19, 21, 23 ou 25. De même, le coefficient B doit être compris entre 1 et 26, tout nombre négatif est ignoré.

Chiffrement par fonction affine


(optionnel)
(généralement 0 (défaut) ou 1)


Principe de Chiffrement

Chaque lettre est numérotée par son rang dans l'alphabet, selon les variantes on commence par A = 0 ou A = 1, on nomme x la valeur obtenue. A chaque valeur de x du message clair, on associe une valeur y résultat de la fonction affine y = A*x+B mod 26. La lettre chiffrée est donc la lettre au rang y dans l'alphabet.

ABCDEFGHIJKLMN OPQRSTUVWXYZ
012345678910111213141516171819202122232425

Soit un chiffrement affine de coefficients A = 3, B = 5. A chaque lettre du message clair DCODE (D = 3, C = 2, O = 14, D = 3, E = 4) on réalise le calcul Ax+B, soit 3*3+5=14=O, 3*2+5=11=L, 3*14+5(mod26)=47(26)=21=V, 3*3+5=14=O, 3*4+5=17=R. Le message codé est donc OLVOR.

Principe de Déchiffrement

A chaque valeur de y du message codé, on associe une valeur x, résultat de la fonction réciproque x = A'*(y-B) mod 26. La valeur A' est un entier tel que A*A' = 1 mod(26).

Soit un chiffrement affine de coefficients A = 3, B = 5. On recherche la valeur A' pour A = 3, une des valeurs possibles est A'=9, car A*A'=3*9=27=1 mod 26. A chaque lettre du message codé OLVOR (O = 14, L = 11, V = 21, O = 14, R = 17) on réalise le calcul A'*(x-B) mod 26, soit 9*(14-5)=81(mod26)=3=D, 9*(11-5)=54(mod26)=2=C, 9*(14-5)=144(mod26)=14=O, 9*(14-5)=81(mod26)=3=D, 9*(17-5)=108(mod26)=4=E. Le message clair est donc DCODE.

Quelles sont les valeurs de A' ?

1357911151719212325
1921153197231151725

Pourquoi y a-t-il une contrainte sur la valeur de A ?

Le théorème de Bezout indique que A' n'existe que si A et 26 sont premiers entre eux. Ceci limite les valeurs pour A à 1, 3, 5, 7, 9, 11, 15, 17, 19, 21, 23 et 25.

Pourquoi ne peut-on pas utiliser de valeur de A négative ?

C'est pourtant possible, mais une valeur de A = -1 est égale à une valeur de A = 25 (car 25 = -1 mod 26).

Cryptanalyse

Le chiffre affine est attaquable par force brute et analyse des fréquences car la substitution est monoalphabétique pour A parmi (1, 3, 5, 7, 9, 11, 15, 17, 19, 21, 23 et 25). Le coefficient A peut prendre 12 valeurs et le coefficient B peut prendre 26 valeurs soit seulement 312 clés à tester.

Code source

dCodeur se réserve la propriété du code source du script Chiffre Affine. Sauf open source, toute demande d'algorithme ou applet (déchiffrement, chiffrement, encodage, décodage, encryptage, décryptage, traduction, traducteur, conversion, solveur), de fonction (décrypter, encrypter, déchiffrer, chiffrer, décoder, code, traduire, convertir, résoudre) ou un script en langage Java, C++, PHP, Python, Javascript, etc. pourra être formulée via la page contact. Si vous avez besoin de télécharger le script Chiffre Affine hors ligne pour vous, votre entreprise ou association, et que vous avez un financement, n'hésitez pas !

Commentaires


Menu

Outils similaires

Recommander



Divers pubs

Mots-clés

Liens


© 2014 dcode.fr — Le site indispensable pour résoudre les énigmes, les jeux et les chasses au trésor. dCode