Rechercher un outil
Chiffre Affine

Outil pour décoder/encoder avec le chiffre Affine, une fonction de chiffrement par addition et multiplication qui code une lettre par une autre lettre de rang (ax + b) modulo 26.

Résultats

Chiffre Affine -

Catégorie(s) : Chiffre Poly-Alphabétique

Partager
Partager
dCode et plus

dCode est gratuit et ses outils sont une aide précieuse dans les jeux, les maths, les énigmes, les géocaches, et les problèmes à résoudre au quotidien !
Une suggestion ? un problème ? une idée ? Ecrire à dCode !


Rendez-vous sur notre communauté Discord dCode pour participer au forum d'entraide !
PS : Pour les messages codés, testez notre détecteur de chiffrement !


Grâce à vos remarques, réponses et commentaires pertinents, dCode peut développer le meilleur outil 'Chiffre Affine', alors écrivez-nous c'est gratuit ! Merci !

Chiffre Affine

Déchiffrement Affine





Paramètres manuels et Options







Voir aussi : Chiffre de HillCode César

Chiffrement Affine







Voir aussi : Chiffre de HillCode César



Réponses aux Questions (FAQ)

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

Le chiffrement Affine utilise un alphabet, et deux nombres entiers, appelés coefficients A et B, ce sont les paramètres de la fonction affine Ax+B.

Exemple : Chiffrer DCODE avec les coefficients A=5, B=3 et l'alphabet latin/français ABCDEFGHIJKLMNOPQRSTUVWXYZ.

A chaque lettre de l'alphabet est associée la valeur de son rang dans l'alphabet (en commençant par 0).

Exemple : Par défaut, A=0, B=1, ..., Z=25 mais il est possible (mais déconseillé) d'utiliser A=1, ..., Y=25, Z=0 en prenant l'alphabet ZABCDEFGHIJKLMNOPQRSTUVWXY.

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. Le message final chiffré par cryptage Affine est donc le remplacement des lettres de l'alphabet par ces nouvelles lettres.

Exemple : DCODE est chiffré SNVSX

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

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

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 $).
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. Le message clair est donc le remplacement des lettres de l'alphabet par ces nouvelles lettres.

Exemple : Pour S ( $ x = 3 $ ) correspond la lettre au rang 3 : D, etc. 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.

Toute référence à une fonction affine (en ligne droite), un graphique, une abscisse ou une ordonnée est un indice (la fonction $ f(x) = ax+b $ peut être représentée dans un repère orthonormé comme une fonction affine classique, il est donc possible à partir d'un graphe de retrouver le coefficient directeur $ a $ et l'ordonnée à l'origine $ b $).

Le chiffre de César est un cas particulier du chiffre Affine où A vaut 1 et B est le décalage.

Comment déchiffrer Affine sans les coefficients A et B ?

Il est possible de réaliser une attaque par brute-force testant toutes les valeurs possibles pour les coefficients A et B. 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 fonction de déchiffrement ?

Pour un chiffrement affine de fonction $ y = A x + B $, alors la fonction réciproque de déchiffrement s'exprime $ y' = A' x + B $

Comment calculer la valeur A' ?

Calculer l'inverse modulaire de A, modulo la longueur de l'alphabet (voir ci-après pour les valeurs pré-calculées).

Comment calculer la valeur B' ?

B' a la même valeur que B, pour cette raison, cette variable ne devrait pas s'appeler B' mais 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 indique 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.

Toutes les valeurs de B modulo 26 (longueur de l'alphabet) sont équivalentes. Ainsi si B est négative, il existe une valeur de B positive équivalente.

Exemple : B=-1 est équivalent à B=25 (modulo 26)

Pourquoi le chiffrement affine s'appelle ainsi ?

En mathématiques, une fonction affine est définie par une addition et une multiplication de la variable (souvent $ x $) et s'écrit $ f(x) = ax+b $. Le chiffrement affine est similaire à la fonction $ f $ car elle utilise les valeurs $ a $ et $ b $ comme coefficient et la variable $ x $ est la lettre à chiffrer.

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

Aucune date ni auteur connus.

Code source

dCode se réserve la propriété du code source de l'outil 'Chiffre Affine' en ligne. Sauf code licence open source explicite (indiqué CC / Creative Commons / gratuit), tout algorithme pour 'Chiffre Affine', applet ou snippet (convertisseur, solveur, chiffrement / déchiffrement, encodage / décodage, encryptage / décryptage, traducteur) ou toute fonction liée à 'Chiffre Affine' (calculer, convertir, résoudre, décrypter / encrypter, déchiffrer / chiffrer, décoder / encoder, traduire) codé en langage informatique (Python, Java, C#, PHP, Javascript, Matlab, etc.) aucune donnée, téléchargement, script, copier-coller, ou accès API à 'Chiffre Affine' ne sera cédé gratuitement, idem pour un usage hors ligne, PC, tablette, appli iPhone ou Android ! dCode est gratuit est en ligne.

Besoin d'Aide ?

Rendez-vous sur notre communauté Discord dCode pour participer au forum d'entraide !
PS : Pour les messages codés, testez notre détecteur de chiffrement !

Questions / Commentaires

Grâce à vos remarques, réponses et commentaires pertinents, dCode peut développer le meilleur outil 'Chiffre Affine', alors écrivez-nous c'est gratuit ! Merci !


Source : https://www.dcode.fr/chiffre-affine
© 2021 dCode — La 'boite à outils' indispensable qui sait résoudre tous les jeux / énigmes / géocaches / CTF.
Un problème ?