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) : Chiffre Poly-Alphabétique

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 !


dCode aime toutes les remarques et commentaires pertinents, pour avoir une réponse, laisser 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, associer 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, associer 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 commençant par 0 : A=0, B=1, ..., Z=25 (il est envisageable un alphabet ZABCDEFGHIJKLMNOPQRSTUVWXY où A=1, ..., Y=25 et Z=0).

A chaque lettre de valeur \( y \) du message, associer 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' \), calculer l'inverse modulaire de A.

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 \)), calculer 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

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

Le théorème de Bezout's indicates que A' n'existe que si A et 26 (la longueur de l'alphabet) sont premiers entre eux. Ceci limite A aux valeurs 1, 3, 5, 7, 9, 11, 15, 17, 19, 21, 23 et 25 (toujours si l'alphabet à 26 lettres)

Est-il possible d'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.

Existe-t-il 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.

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

Aucune date ni auteur connus.

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, Matlab, etc.) dont dCode a les droits ne sera pas cédé gratuitement. Pour télécharger le script en ligne Chiffre Affine pour un usage hors ligne, PC, iPhone ou Android, demandez un devis sur la page de contact !

Questions / Commentaires


dCode aime toutes les remarques et commentaires pertinents, pour avoir une réponse, laisser 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
© 2018 dCode — La 'boite à outils' indispensable qui sait résoudre tous les jeux / énigmes / géocaches. dCode
Un problème ?