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.

Chiffre Affine

Annonces sponsorisées

Déchiffrement Affine











Chiffrement 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éponses aux Questions

Comment encoder avec le code Affine ? (Principe de chiffrement)

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

Exemple : Chiffrer DCODE avec l'alphabet ABCDEFGHIJKLMNOPQRSTUVWXYZ et les coefficients A=5, B=3.

A chaque lettre de l'alphabet est associée la valeur de son rang dans l'alphabet (début à 0).

Exemple : A=0, B=1, ..., Z=25. Il est possible d'utiliser A=1, ..., Y=25, Z=0 en modifiant l'alphabet en ZABCDEFGHIJKLMNOPQRSTUVWXY (déconseillé).

A chaque lettre de valeur \( x \) du message, on associe une valeur \( y \), résultat de la fonction de codage affine \( y = A \times x + B \mod 26 \) (avec \( 26 \) la longueur de l'alphabet). A chaque valeur \( y \) obtenue, on associe la lettre de même rang dans l'alphabet qui constitue la lettre codée.

Exemple :

Lettre claire\(x\)\(y\)Lettre chiffrée
D3\( 5 \times 3 + 3 = 18 \)S
O14\( 5 \times 14 + 3 = 73 = 21 \mod 26 \)V

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

Exemple : DCODE est chiffré SNVSX

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

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

Exemple : Message à déchiffrer SNVSX avec et les coefficients A=5 et B=3

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

Exemple : Avec l'alphabet ABCDEFGHIJKLMNOPQRSTUVWXYZ puisqu'on commence par 0, on a A=0, B=1, ..., Z=25 (on peut aussi avoir 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 réciproque \( x = A' \times (y-B) \mod 26 \) (où \( 26 \) est à la longueur de l'alphabet)

La valeur \( A' \) est un entier tel que \( A \times A' = 1 \mod 26 \) (où \( 26 \) est la longueur de l'alphabet). Pour trouver \( A' \), il faut calculer un inverse modulaire.

Exemple : Un coefficient \( A' \) pour \( A=5 \) et un alphabet de longueur \( 26 \) est \( 21 \) car \( 5 \times 21 = 105 \equiv 1 \mod 26).

Exemple : Pour S (\( y = 18 \)), on obtient la valeur \( x = A' \times (18-B) = 21 \times (18-3) \equiv 315 \mod 26 = 3 \)

A chaque valeur \( x \) obtenue, est associée la lettre de même rang dans l'alphabet qui constitue la lettre codée.

Exemple : Pour S ( \( x = 3 \)) correspond la lettre au rang 3 : D

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

Exemple : Le message clair est DCODE.

Comment reconnaitre le chiffre Affine ?

Un message chiffré par Affine a un indice de coincidence proche de celui de la langue du texte clair.

Comment déchiffrer Affine sans les coefficients ?

Il est possible de réaliser 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.

Comment calculer la valeur A' ?

Calculer l'inverse modulaire de A, modulo la longueur de l'alphabet.

Comment calculer la valeur B' ?

B' a la même valeur que B.

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 = 1A' = 1
A = 3A' = 9
A = 5A' = 21
A = 7A' = 15
A = 9A' = 3
A = 11A' = 19
A = 15A' = 7
A = 17A' = 23
A = 19A' = 11
A = 21A' = 5
A = 23A' = 17
A = 25A' = 25

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

Aucune date ni auteur connus.

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 eux. 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).

Y a-t-il une contrainte sur la valeur de B?

Non, B peut prendre n'importe quelle valeur.

Poser une nouvelle question

Code source

dCode se réserve la propriété du code source du script Chiffre Affine en ligne. Sauf code licence open source explicite (indiqué Creative Commons / gratuit), tout algorithme, applet, snippet ou logiciel (convertisseur, solveur, chiffrement / déchiffrement, encodage / décodage, encryptage / décryptage, traducteur) ou toute fonction (convertir, résoudre, décrypter, encrypter, déchiffrer, chiffrer, décoder, traduire) codé en langage informatique (PHP, Java, C#, Python, Javascript, etc.) dont dCode a les droits pourra être cédé après devis. Donc si vous avez besoin de télécharger le script en ligne Chiffre Affine pour un usage 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 : https://www.dcode.fr/chiffre-affine
© 2017 dCode — La 'boite à outils' indispensable qui sait résoudre tous les jeux / énigmes / géocaches. dCode