Rechercher un outil

Chiffre Affine

Outil pour décoder/encoder avec Affine automatiquement. Le chiffre Affine utilise une fonction de chiffrement par addition et multiplication (comme la fonction mathématiques affine) qui fait correspondre à une lettre L (de rang x dans un alphabet de 26 lettres) une autre lettre de rang (ax + b) modulo 26.

Résultats

Chiffre Affine -

Catégorie(s) : Cryptographie,Chiffrement par Substitution

dCode et vous

dCode est gratuit et ses outils sont une aide précieuse dans les jeux, les énigmes et les problèmes à résoudre au quotidien !
Vous avez un problème, une idée de projet, besoin d'un outil spécifique et dCode ne peut pas (encore) vous aider ? Vous désirez une prestation de développement sur mesure ? Contactez-moi !


dCodeur lit tous les messages et y répond si vous indiquez un email (non publié) ! C'est grâce à vous que dCode a le meilleur outil de Chiffre Affine, Merci.

Voici la nouvelle version de dCode
Qu'en pensez-vous ?   Retour version précédente

Chiffre Affine

Annonces sponsorisées

Déchiffrement par fonction Affine








Aussi sur dCode : Chiffre de HillCode César


Chiffrement Affine







Aussi sur dCode : Chiffre de HillCode César


Outil pour décoder/encoder avec Affine automatiquement. Le chiffre Affine utilise une fonction de chiffrement par addition et multiplication (comme la fonction mathématiques affine) qui fait correspondre à une lettre L (de rang x dans un alphabet de 26 lettres) une autre lettre de rang (ax + b) modulo 26.

Réponses aux Questions

Comment encoder avec Affine ? (Principe de chiffrement)

Le chiffrement utilise un alphabet classique, et deux nombres entiers, appelés coefficients A et B.

Soient l'alphabet ABCDEFGHIJKLMNOPQRSTUVWXYZ et les coefficients A=5, B=3. On veut coder DCODE.

A chaque lettre de l'alphabet est associée la valeur de son rang dans l'alphabethref.

On commence par 0, donc A = 0, B = 1, Z = 25, mais A = 1, ... Y= 25, Z = 0 s'utilise aussi si on prend l'alphabet ZABCDEFGHIJKLMNOPQRSTUVWXY.

A chaque lettre (de valeur x) du message, on associe une valeur y, résultat de la fonction affine y=A*x+B mod 26 (ou 26 correspond à la longueur de l'alphabet)

Pour D (x=3), on obtient la valeur y = A*3+B = 5*3+3 = 18

Pour O (x=14), on obtient la valeur y = A*14+B = 5*14+3 = 73 = 21 mod 26

A chaque valeur y obtenue, on associe la lettre de même rang dans l'alphabethref qui constitue la lettre codée.

Pour D (y=18), on fait correspondre la lettre S (rang 18).

Pour O (y=21), on fait correspondre la lettre V (rang 21).

Le message chiffré par Affine est donc le remplacement des lettres de l'alphabet par ces nouvelles lettres.

DCODE devient SNVSX.

Comment décoder par Affine ? (Principe de déchiffrement)

Le déchiffrement nécessite de connaitre les 2 coefficients A et B (ceux du chiffrement) et l'alphabet utilisé.

Soient le message chiffré SNVSX et les coefficients A=5 et B=3.

A chaque lettre de l'alphabet est associée la valeur de son rang dans l'alphabethref.

Avec l'alphabet ABCDEFGHIJKLMNOPQRSTUVWXYZ puisqu'on commence par 0, on a A = 0, B = 1, Z = 25, mais avec l'alphabet ZABCDEFGHIJKLMNOPQRSTUVWXY alors A = 1, ... Y = 25 et Z = 0.

A chaque lettre (de valeur y) du message, on associe une valeur x, résultat de la fonction reciproque x = A'*(y-B) mod 26 (ou 26 correspond à la longueur de l'alphabet)

La valeur A' est un entier tel que A*A' = 1 mod 26 (ou 26 correspond à la longueur de l'alphabet). Pour trouver A', il faut calculer un inverse modulairehref.

Un coefficient A' pour A = 5 et un alphabet de longueur 26 est 21. Car 5 * 21 = 105 = 1 mod 26.

Pour S (y=18), on obtient la valeur x = A'*(18-B) = 21*(18-3) = 315 mod 26 = 3

A chaque valeur x obtenue, on associe la lettre de même rang dans l'alphabethref qui constitue la lettre codée.

Pour S (x=3), on fait correspondre la lettre D (rang 3).

Le message clair est donc le remplacement des lettres de l'alphabet par ces nouvelles lettres.

Le message clair est DCODE.

Comment reconnaitre le chiffre Affine ?

Le message a un indice de coincidencehref similaire à celui de la langue du texte clair.

Comment déchiffrer Affine sans les coefficients ?

Il est possible de realiser une attaque par brute-force testant tous les coefficients possibles. Utilisez la fonction Attaque par Brute-force.

>Si l'alphabet fait 26 caractères, alors le coefficient A peut prendre 12 valeurs et le coefficient B peut prendre 26 valeurs soit seulement 312 tentatives à réaliser.

Quelles sont les valeurs de A' ?

La valeur de A' dépend de A mais aussi de la longueur de l'alphabet, si celui ci est classique, il a 26 caractères. Les valeurs de A' dans ce cas sont les suivantes

A = 1, A' = 1

A = 3, A' = 9

A = 5, A' = 21

A = 7, A' = 15

A = 9, A' = 3

A = 11, A' = 19

A = 15, A' = 7

A = 17, A' = 23

A = 19, A' = 11

A = 21, A' = 5

A = 23, A' = 17

A = 25, A' = 25

Quand Affine a-t-il été inventé ?

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 (longueur de l'alphabet) sont premiers entre euxhref. Ceci limite les valeurs pour A à 1, 3, 5, 7, 9, 11, 15, 17, 19, 21, 23 et 25 (si l'alphabet fait 26 caractères).

Peut on utiliser une valeur de A non première avec 26 ?

Oui, mais le déchiffrement automatique devient impossible, une même lettre chiffrée pourra avoir plusieurs lettres claires possibles.

Peut-on utiliser une valeur de A négative ?

Oui, mais il existe une valeur positive correspondante, une valeur de A = -1 est égale à une valeur de A = 25 (car 25 = -1 mod 26).

Poser une nouvelle question

Code source

dCodeur se réserve la propriété du code source du script Chiffre Affine. Sauf code licence open source explicite (gratuit / freeware), tout algorithme, applet ou logiciel (convertisseur, solveur, chiffrement / déchiffrement, encodage / décodage, encryptage / décryptage, traducteur) ou tout snippet ou fonction (convertir, résoudre, décrypter, encrypter, déchiffrer, chiffrer, décoder, traduire) écrit en langage PHP (ou Java, C#, Python, Javascript, etc.) dont dCode a les droits pourra être cédé(e) après devis. Donc si vous avez besoin de télécharger le script Chiffre Affine hors ligne pour vous, votre entreprise ou association, rendez-vous sur la page de contact !

Questions / Commentaires


dCodeur lit tous les messages et y répond si vous indiquez un email (non publié) ! C'est grâce à vous que dCode a le meilleur outil de Chiffre Affine, Merci.


Source : http://www.dcode.fr/chiffre-affine
© 2016 dCode — Le site 'boite à outils' indispensable qui sait résoudre tous les problèmes. dCode