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) : Chiffrement par Substitution

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 ? Écrire à 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 !


Remarques et suggestions sont les bienvenues afin que dCode propose le meilleur outil 'Chiffre Affine' gratuit ! Merci !

Chiffre Affine

Déchiffrement Affine

 



Paramètres manuels et Options







Chiffrement Affine

 





Voir aussi : Chiffre de HillCode César



Réponses aux Questions (FAQ)

Qu'est ce que le chiffrement Affine ? (Définition)

Le chiffrement affine est le nom donné à un chiffre par substitution dont la clé est constituée de 2 coefficients A et B constituant les paramètres d'une fonction mathématique linéaire (dite affine) $ f=Ax+B $.

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 (qui est une équation de droite).

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, 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). Si la valeur obtenue est négative, rajouter 26.

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

Quelles sont les variantes du chiffre Affine ?

Les chiffres affines regroupent en fait plusieurs chiffrements qui sont des cas particuliers :

— Le chiffre multiplicatif (multiplicative cipher) est un cas particulier du chiffre Affine où B vaut 0.

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

Le chiffre affine est lui-même un cas particulier du chiffrement de Hill, qui utilise une matrice inversible, plutot qu'une équation de droite, pour générer l'alphabet de substitution.

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 ne sont connus pour le chiffre affine.

Code source

dCode se réserve la propriété du code source pour "Chiffre Affine". Sauf code licence open source explicite (indiqué Creative Commons / gratuit), l'algorithme pour "Chiffre Affine", l'applet ou snippet (convertisseur, solveur, chiffrement / déchiffrement, encodage / décodage, encryptage / décryptage, traducteur) ou les fonctions liées à "Chiffre Affine" (calculer, convertir, résoudre, décrypter / encrypter, déchiffrer / chiffrer, décoder / encoder, traduire) codés en langage informatique (Python, Java, C#, PHP, Javascript, Matlab, etc.) ou les données, en téléchargement, script, ou les accès API à "Chiffre Affine" ne sont pas publics, idem pour un usage hors ligne, PC, mobile, tablette, appli iPhone ou Android !
Rappel : dCode est gratuit.

Citation

Le copier-coller de la page "Chiffre Affine" ou de ses résultats est autorisée (même pour un usage commercial) tant que vous créditez dCode !
L'exportation des résultats sous forme de fichier .csv ou .txt est gratuite en cliquant sur l'icone export
Citer comme source bibliographique :
Chiffre Affine sur dCode.fr [site web en ligne], consulté le 04/10/2024, https://www.dcode.fr/chiffre-affine

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

Remarques et suggestions sont les bienvenues afin que dCode propose le meilleur outil 'Chiffre Affine' gratuit ! Merci !


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