Mathématiques du chiffrement affine : guide complet de l'arithmétique et du chiffrement modulaires
Maîtrisez les mathématiques derrière le chiffre Affine. Apprenez l'arithmétique modulaire, les inverses modulaires, la formule de cryptage E(x) = (ax + b) mod 26 et comment déchiffrer les chiffrements affines étape par étape.
Présentation
Le chiffre Affine occupe une place unique dans l’histoire de la cryptographie. Il se situe à l’intersection de la théorie élémentaire des nombres et du chiffrement pratique, ce qui en fait l’un des chiffrements classiques les plus instructifs à étudier. Bien qu’il ne soit sécurisé par aucune norme moderne, le chiffre Affine code dans sa formule simple une quantité surprenante de profondeur mathématique.
À la base, le chiffre affine est un chiffre de substitution monoalphabétique régi par la formule E(x) = (ax + b) mod 26. Cette équation unique rassemble deux branches de l'arithmétique qui sont fondamentales pour les systèmes cryptographiques modernes : l'arithmétique modulaire et la théorie des inverses multiplicatifs. Comprendre comment et pourquoi cette formule fonctionne vous donne un aperçu direct des structures algébriques qui sous-tendent des algorithmes de chiffrement bien plus puissants comme RSA et la cryptographie à courbe elliptique.
Contrairement au chiffre César, qui déplace simplement les lettres le long de l'alphabet, le chiffre Affine applique une transformation linéaire qui à la fois étend et décale l'alphabet. Ce mappage de lettres non uniforme rend l'analyse de fréquence plus difficile qu'avec un chiffrement par décalage pur, bien que loin d'être impossible. Le chiffre sert de pont pédagogique idéal entre les chiffrements de substitution trivialement simples et les chiffrements plus exigeants mathématiquement qui apparaissent plus tard dans l'enseignement de la cryptographie.
Ce guide passe en revue tous les aspects mathématiques du chiffre Affine : l'arithmétique modulaire à partir des premiers principes, les formules de cryptage et de déchiffrement avec des exemples complets, les contraintes qui font fonctionner correctement le chiffre, la théorie des inverses multiplicatifs modulaires et les techniques cryptanalytiques qui le brisent. À la fin, vous aurez une compréhension approfondie non seulement du fonctionnement du chiffre Affine, mais également de la raison pour laquelle chaque composant de sa conception est mathématiquement nécessaire.
Essayez notre codeur de chiffrement affine gratuit pour voir les mathématiques en action pendant que vous lisez ce guide.
Fondamentaux de l'arithmétique modulaire
L'arithmétique modulaire est parfois appelée « arithmétique d'horloge » car l'analogie la plus intuitive est celle d'un cadran d'horloge ordinaire. Sur une horloge de 12 heures, s'il est 10 heures et que vous ajoutez 5 heures, vous n'obtenez pas 15 heures, mais 3 heures. Les nombres s'enroulent après avoir atteint 12. Mathématiquement, nous disons que 10 + 5 = 3 (mod 12), ce qui signifie que le reste lorsque 15 est divisé par 12 est 3.
L'opération Mod
L'expression "a mod n" renvoie le reste lorsque l'entier a est divisé par l'entier positif n. Plus formellement, pour tout entier a et entier positif n, il existe des entiers uniques q (le quotient) et r (le reste) tels que :
a = q × n + r, où 0 ≤ r < n
La valeur r est ce que renvoie "a mod n".
Quelques exemples avec le mod 26, qui est celui utilisé par le chiffre Affine :
- 0 mod 26 = 0 (car 0 = 0 × 26 + 0)
- 25 mod 26 = 25 (car 25 = 0 × 26 + 25)
- 26 mod 26 = 0 (car 26 = 1 × 26 + 0)
- 27 mod 26 = 1 (car 27 = 1 × 26 + 1)
- 52 mod 26 = 0 (car 52 = 2 × 26 + 0)
- 53 mod 26 = 1 (car 53 = 2 × 26 + 1)
- 105 mod 26 = 1 (car 105 = 4 × 26 + 1, puisque 4 × 26 = 104)
La raison pour laquelle le mod 26 est pertinent pour les chiffres de lettres est que l'alphabet anglais comporte 26 lettres. En mappant A=0, B=1, C=2, ..., Z=25 et en appliquant le mod 26 à tout résultat arithmétique, nous garantissons que la sortie est toujours un index de lettre valide entre 0 et 25. Quelle que soit la taille du calcul intermédiaire, l'opération de mod le ramène dans la plage alphabétique.
Propriétés de l'arithmétique modulaire
L'arithmétique modulaire préserve les propriétés algébriques standard de l'addition et de la multiplication :
Fermeture: le résultat de toute addition ou multiplication suivie de mod n est toujours un entier compris dans la plage [0, n-1].Commutativité: (a + b) mod n = (b + a) mod n, et (a × b) mod n = (b × a) mod n.Associativité: ((a + b) + c) mod n = (a + (b + c)) mod n.Distributivité : (a × (b + c)) mod n = ((a × b) + (a × c)) mod n.
Une propriété qui se comporte différemment en arithmétique modulaire par rapport à l’arithmétique ordinaire est la division. En arithmétique ordinaire, chaque nombre non nul a un inverse multiplicatif (par exemple, l'inverse de 5 est 1/5). En arithmétique modulaire, un inverse multiplicatif n'existe pas toujours. Cette restriction est essentielle pour comprendre pourquoi le chiffre Affine impose des contraintes sur ses clés.
La formule de chiffrement affine
Le chiffre affine crypte chaque lettre à l'aide de la formule :
E(x) = (ax + b) mod 26
Où :
- x est la position numérique de la lettre en clair (A=0, B=1, C=2, ..., Z=25)
- a est la clé multiplicative
- b est la clé additive
- Le résultat est la position numérique de la lettre du texte chiffré
Pas à pas : chiffrer "HELLO" avec a=5, b=8
Passons au chiffrement du mot HELLO à l'aide des clés a=5 et b=8.
Tout d’abord, convertissez chaque lettre en sa valeur numérique :
- H = 7
- E = 4
- L = 11
- L = 11
- O = 14
Appliquez maintenant E(x) = (5x + 8) mod 26 à chaque valeur :
**H (7) :E(7) = (5 × 7 + 8) mod 26 = (35 + 8) mod 26 = 43 mod 26 = 17 → RE (4) :E(4) = (5 × 4 + 8) mod 26 = (20 + 8) mod 26 = 28 mod 26 = 2 → CL (11) :E(11) = (5 × 11 + 8) mod 26 = (55 + 8) mod 26 = 63 mod 26 = 11 → LL (11) :**E(11) = 11 → L (comme ci-dessus)O (14) : E(14) = (5 × 14 + 8) mod 26 = (70 + 8) mod 26 = 78 mod 26 = 0 → A
Le texte chiffré est RCLLA.
Notez que la lettre L se chiffre sur elle-même (L → L). Ce n'est pas un défaut dans cet exemple particulier — cela se produit parce qu'avec a=5 et b=8, le nombre 11 satisfait (5 × 11 + 8) mod 26 = 11. Dans tout chiffre monoalphabétique, il est possible que certaines lettres se mappent sur elles-mêmes ; l'exigence clé est que le mappage soit une bijection (un-à-un et sur).
Contraintes clés : pourquoi a doit être premier avec 26
Le chiffre Affine ne fonctionne pas avec n’importe quelle valeur de a. La clé multiplicative a doit être première avec 26, ce qui signifie que le plus grand diviseur commun de a et 26 doit être égal à 1 : pgcd(a, 26) = 1.
Que signifie « Coprime »
Deux entiers sont premiers entre eux (également appelés « relativement premiers ») s'ils ne partagent aucun facteur commun autre que 1. Le nombre 26 est multiplié par 2 × 13. Par conséquent, tout nombre divisible par 2 ou par 13 partage un facteur avec 26 et n'est pas premier avec lui.
Les nombres entiers de 1 à 25 premiers avec 26 sont : 1, 3, 5, 7, 9, 11, 15, 17, 19, 21, 23, 25.
Cela donne exactement 12 valeurs valides pour a. (Ce décompte est donné par la fonction totale d'Euler φ(26) = φ(2) × φ(13) = 1 × 12 = 12.)
Pourquoi les valeurs non coprimes brisent le chiffre
Pour comprendre pourquoi a doit être premier avec 26, réfléchissez à ce qui se passe quand ce n'est pas le cas. Prenez a=2 (qui n'est pas premier avec 26 car pgcd(2, 26) = 2).
Appliquer E(x) = (2x + 0) mod 26 à chaque lettre :
- A (0) : (2 × 0) mod 26 = 0 → A
- B(1) : (2 × 1) mod 26 = 2 → C
- C(2) : (2 × 2) mod 26 = 4 → E
- ...
- M (12) : (2 × 12) mod 26 = 24 → Oui
- N(13) : (2 × 13) mod 26 = 26 mod 26 = 0 → A
A et N chiffrent en A. Le mappage n’est pas un à un. Lorsque deux lettres de texte en clair différentes produisent la même lettre de texte chiffré, il n'y a aucun moyen d'inverser le processus : le décryptage devient impossible car vous ne pouvez pas déterminer à quelle lettre originale était destinée.
L'exigence de coprimalité garantit que la fonction de chiffrement est une bijection sur l'ensemble {0, 1, ..., 25}, garantissant que chaque lettre de texte chiffré correspond exactement à une lettre de texte en clair.
Tableau complet des valeurs a valides
| une valeur | pgcd(a, 26) | Valide? |
|---|---|---|
| 1 | 1 | Oui |
| 2 | 2 | Non |
| 3 | 1 | Oui |
| 4 | 2 | Non |
| 5 | 1 | Oui |
| 6 | 2 | Non |
| 7 | 1 | Oui |
| 8 | 2 | Non |
| 9 | 1 | Oui |
| 10 | 2 | Non |
| 11 | 1 | Oui |
| 12 | 2 | Non |
| 13 | 13 | Non |
| 14 | 2 | Non |
| 15 | 1 | Oui |
| 16 | 2 | Non |
| 17 | 1 | Oui |
| 18 | 2 | Non |
| 19 | 1 | Oui |
| 20 | 2 | Non |
| 21 | 1 | Oui |
| 22 | 2 | Non |
| 23 | 1 | Oui |
| 24 | 2 | Non |
| 25 | 1 | Oui |
Inverse multiplicative modulaire
L'inverse multiplicatif modulaire de a (mod 26) est l'entier a⁻¹ tel que :
(une × une⁻¹) mod 26 = 1
C'est la contrepartie modulaire de l'inverse multiplicatif ordinaire. Tout comme 5 × (1/5) = 1 en arithmétique ordinaire, nous avons besoin de a × a⁻¹ ≡ 1 (mod 26) en arithmétique modulaire.
Pourquoi est-ce nécessaire pour le décryptage
Le décryptage nécessite « d'annuler » l'étape de multiplication du cryptage. En algèbre ordinaire, si vous chiffrez avec y = ax + b, vous déchiffrez en résolvant pour x : x = (y - b) / a. Division par a équivaut à multiplier par l’inverse de a.
En arithmétique modulaire, on ne peut pas diviser directement. Au lieu de cela, nous multiplions par l’inverse modulaire. La formule de décryptage est :
D(y) = a⁻¹(y - b) mod 26
L'inverse modulaire a⁻¹ existe si et seulement si pgcd(a, 26) = 1. C'est exactement l'exigence de coprimalité — les deux contraintes sont la même exigence sous deux angles différents.
Trouver l'inverse modulaire à l'aide de l'algorithme euclidien étendu
L'algorithme euclidien étendu trouve les entiers s et t tels que :
une × s + 26 × t = pgcd(une, 26) = 1
Lorsque pgcd(a, 26) = 1, la valeur s (prise mod 26 si nécessaire pour la rendre positive) est l'inverse modulaire de a.
Exemple : Trouvez l'inverse de 5 mod 26.
Appliquez l'algorithme euclidien à 26 et 5 :
- 26 = 5 × 5 + 1
Lecture des coefficients : 1 = 26 - 5 × 5.
Donc 5 × (-5) + 26 × 1 = 1, ce qui signifie s = -5.
Conversion en valeur positive mod 26 : -5 mod 26 = 21.
Vérification : (5 × 21) mod 26 = 105 mod 26 = 1. Correct.
Tableau de référence complet : tous les inverses modulaires pour le module 26
| un | a⁻¹ mod 26 | Vérification : (a × a⁻¹) mod 26 |
|---|---|---|
| 1 | 1 | (1 × 1) mod 26 = 1 |
| 3 | 9 | (3 × 9) mod 26 = 27 mod 26 = 1 |
| 5 | 21 | (5 × 21) mod 26 = 105 mod 26 = 1 |
| 7 | 15 | (7 × 15) mod 26 = 105 mod 26 = 1 |
| 9 | 3 | (9 × 3) mod 26 = 27 mod 26 = 1 |
| 11 | 19 | (11 × 19) mod 26 = 209 mod 26 = 1 |
| 15 | 7 | (15 × 7) mod 26 = 105 mod 26 = 1 |
| 17 | 23 | (17 × 23) mod 26 = 391 mod 26 = 1 |
| 19 | 11 | (19 × 11) mod 26 = 209 mod 26 = 1 |
| 21 | 5 | (21 × 5) mod 26 = 105 mod 26 = 1 |
| 23 | 17 | (23 × 17) mod 26 = 391 mod 26 = 1 |
| 25 | 25 | (25 × 25) mod 26 = 625 mod 26 = 1 |
Notez que certaines paires sont des inverses mutuels : 3 et 9, 5 et 21, 7 et 15, 11 et 19, 17 et 23. Les valeurs 1 et 25 sont leurs propres inverses (1 × 1 = 1 et 25 × 25 = 625 = 24 × 26 + 1).
Calculez les inverses modulaires avec notre calculatrice affine
La formule de décryptage
Avec l'inverse modulaire défini, la formule de décryptage complète est :
D(y) = a⁻¹(y - b) mod 26
Où y est la valeur numérique de la lettre du texte chiffré, b est la clé additive et a⁻¹ est l'inverse modulaire de la clé multiplicative a.
Lors du calcul de (y - b), le résultat peut être négatif. Pour gérer cela correctement en arithmétique modulaire, ajoutez 26 à tout résultat négatif avant d'appliquer la multiplication inverse, ou de manière équivalente, calculez ((y - b) mod 26 + 26) mod 26 pour garantir une valeur non négative.
Étape par étape : Décrypter "RCLLA" avec a=5, b=8
Nous avons chiffré HELLO en RCLLA plus tôt. Inversons maintenant le processus. Avec a=5, l'inverse modulaire est a⁻¹ = 21. La formule de décryptage est D(y) = 21(y - 8) mod 26.
R (17) : D(17) = 21 × (17 - 8) mod 26 = 21 × 9 mod 26 = 189 mod 26
189 ÷ 26 = 7 reste 7, donc 189 mod 26 = 7 → H
C (2) : D(2) = 21 × (2 - 8) mod 26 = 21 × (-6) mod 26 = -126 mod 26
- 126 + 5 × 26 = -126 + 130 = 4, donc -126 mod 26 = 4 → E
L (11) : D(11) = 21 × (11 - 8) mod 26 = 21 × 3 mod 26 = 63 mod 26
63 = 2 × 26 + 11, donc 63 mod 26 = 11 → L
L (11) :Comme ci-dessus → LA (0) : D(0) = 21 × (0 - 8) mod 26 = 21 × (-8) mod 26 = -168 mod 26
- 168 + 7 × 26 = -168 + 182 = 14, donc -168 mod 26 = 14 → O
Le texte déchiffré est HELLO. Le cryptage et le déchiffrement aller-retour fonctionnent correctement.
Les 312 combinaisons de touches
Le nombre total de combinaisons de touches valides dans le chiffre Affine est :
12 valeurs valides de a × 26 valeurs valides de b = 312 combinaisons de touches
Ce que cela signifie pour la sécurité
Pour mettre 312 clés en perspective :
- Chiffre César : 26 clés (uniquement le décalage additif b, avec un fixé à 1)
- Chiffre affine : 312 clés (12 choix pour a, 26 choix pour b)
- Chiffre de substitution simple : 26 ! ≈ 4 × 10^26 permutations possibles
- Chiffre de Vigenère (clé de longueur n) : 26^n clés
- AES-128 : 2^128 ≈ 3,4 × 10^38 touches
Un ordinateur moderne peut tester les 312 clés de chiffrement affine en moins d’une milliseconde. Cela signifie que le chiffrement n’offre pratiquement aucune sécurité contre les attaques automatisées. La comparaison avec AES-128 illustre à quel point l'écart est vaste entre le chiffrement classique et moderne : AES possède environ 10^36 fois plus de clés que le chiffrement Affine.
Le chiffre Affine représente une véritable amélioration par rapport au chiffre César : il possède 12 fois plus de clés et son mappage de lettres n'est pas uniforme, ce qui rend l'analyse de fréquence pure légèrement moins simple. Mais aucune de ces améliorations ne parvient à le rendre cryptographiquement sécurisé.
Briser le chiffre affine
Malgré son élégance mathématique, le chiffre Affine est facile à déchiffrer grâce à plusieurs techniques.
Méthode 1 : Force brute
Puisqu’il n’y a que 312 combinaisons de touches, l’attaque la plus directe consiste simplement à toutes les essayer. Pour chacune des 12 valeurs valides de a et chacune des 26 valeurs de b, appliquez la formule de décryptage au texte chiffré et examinez le résultat. Notez le texte brut de chaque candidat à l’aide de l’analyse de la fréquence des lettres anglaises et classez les résultats. Le décryptage correct obtiendra un score proche du sommet.
Cette approche ne nécessite aucune connaissance du texte brut et peut être implémentée en quelques lignes de code. Sur n’importe quel appareil moderne, l’ensemble du processus se déroule en quelques millisecondes.
Crackez les textes chiffrés avec notre décodeur affine
Méthode 2 : Analyse de fréquence
Le chiffre affine est un chiffre de substitution monoalphabétique, ce qui signifie que chaque lettre du texte en clair correspond toujours à la même lettre du texte chiffré. Cette propriété le rend vulnérable à l’analyse fréquentielle.
Dans le texte anglais, certaines lettres apparaissent beaucoup plus fréquemment que d’autres. La lettre la plus courante est E (environ 12,7 % des lettres), suivie de T (9,1 %), A (8,2 %), O (7,5 %) et I (7,0 %). Les lettres les moins courantes sont Z, Q, X et J.
Pour attaquer le chiffre Affine avec une analyse de fréquence, comptez la fréquence de chaque lettre du texte chiffré. La lettre de texte chiffré la plus fréquente est probablement le cryptage de E. La deuxième plus fréquente est probablement T. Avec deux paires de texte en clair-texte chiffré connues, vous pouvez résoudre algébriquement les clés a et b (voir méthode 3 ci-dessous).
Méthode 3 : attaque connue en texte clair
Si vous connaissez deux paires de lettres en clair-texte chiffré (x₁, y₁) et (x₂, y₂), vous pouvez écrire deux équations simultanées :
- y₁ ≡ ax₁ + b (mod 26)
- y₂ ≡ ax₂ + b (mod 26)
Soustraire la deuxième équation de la première :
y₁ - y₂ ≡ a(x₁ - x₂) (mod 26)
À partir de là, résolvez a en multipliant les deux côtés par l'inverse modulaire de (x₁ - x₂), à condition que pgcd(x₁ - x₂, 26) = 1. Une fois que a est connu, remplacez-le pour trouver b.
Exemple pratique : Supposons que vous sachiez que le texte en clair E (x=4) correspond au texte chiffré L (y=11) et que le texte en clair T (x=19) correspond au texte chiffré H (y=7).
A partir des deux équations :
- 11 ≡ 4a + b (mod 26)
- 7 ≡ 19a + b (mod 26)
Soustraction : 11 - 7 ≡ 4a - 19a (mod 26), donc 4 ≡ -15a (mod 26), ou de manière équivalente 4 ≡ 11a (mod 26).
Multipliez les deux côtés par l'inverse de 11 mod 26, qui est 19 : a ≡ 19 × 4 (mod 26) = 76 mod 26 = 24... cet exemple aurait besoin de pgcd(11, 26) = 1, ce qui est vrai, alors procédez : 19 × 4 = 76 et 76 mod 26 = 76 - 2×26 = 24.
Vérifiez : mais 24 n'est pas une valeur valide de a (gcd(24, 26) = 2). Cela signifie que soit les paires supposées texte clair-texte chiffré sont incorrectes, soit le chiffre n'est pas un chiffre affine avec a=24. Cela illustre comment une attaque connue en clair récupère les clés et valide les hypothèses sur la structure de chiffrement.
Famille de chiffrement affine
Le chiffre affine n’est pas un chiffre isolé : il appartient à une famille de chiffrements linéaires, et comprendre ses relations avec d’autres chiffrements révèle la structure mathématique qui sous-tend la cryptographie classique.
Chiffre de César : a = 1
Lorsque la clé multiplicative est définie sur a = 1, la formule affine devient :
E(x) = (1 × x + b) mod 26 = (x + b) mod 26
C'est précisément la formule du chiffre de César. Le chiffre César est le cas dégénéré du chiffre Affine où aucune multiplication ne se produit. Définir a = 1 signifie que chaque lettre se décale de la même constante b, produisant un décalage uniforme sur tout l'alphabet.
Chiffre multiplicatif : b = 0
Lorsque la clé additive est définie sur b = 0, la formule Affine devient :
E(x) = (ax + 0) mod 26 = ax mod 26
C'est le chiffre multiplicatif. Il utilise uniquement la composante multiplicative, produisant un mappage de lettres non uniforme mais sans aucun décalage. Le chiffre multiplicatif est rarement discuté seul car il mappe toujours A (x=0) à A (E(0) = 0), ce qui est une faiblesse évidente.
Hill Cipher : généralisation matricielle
Le chiffre de Hill peut être considéré comme une généralisation du chiffre Affine à plusieurs lettres à la fois. Au lieu de chiffrer une lettre à la fois en utilisant la multiplication scalaire, le chiffre de Hill chiffre des blocs de n lettres en utilisant la multiplication matricielle :
E(x) = (Ax + b) mod 26
Où A est une matrice inversible n×n et x et b sont des vecteurs à n dimensions. Le cas 1 × 1 du chiffre de Hill avec une matrice scalaire [a] et un vecteur [b] est exactement le chiffre affine. L’idée clé est la même : la matrice A doit être inversible mod 26, qui est l’analogue matriciel de l’exigence de coprimalité.
Connexion à la cryptographie moderne
Comprendre la structure du chiffrement affine vous prépare aux concepts cryptographiques modernes de plusieurs manières :
L'exigence selon laquelle a doit être premier avec 26 est un exemple du principe plus large selon lequel les fonctions de chiffrement doivent être inversibles. Dans RSA, l'exposant public e doit être premier avec φ(n) pour la même raison fondamentale.
Le calcul inverse modulaire utilisant l'algorithme euclidien étendu est le même algorithme utilisé pour trouver la clé privée RSA à partir des paramètres de clé publique.
Le concept d'une application linéaire sur un anneau modulaire (ce que le chiffrement Affine implémente sur Z₂₆) se généralise directement à l'arithmétique de champ utilisée dans AES et d'autres chiffrements par blocs.
Questions fréquemment posées
Que se passe-t-il si a n'est pas premier avec 26 ?
Si a n’est pas premier avec 26, la fonction de chiffrement n’est pas une bijection. Plusieurs lettres de texte en clair seront mappées sur la même lettre de texte chiffré, ce qui rendra impossible une inversion unique du cryptage. Le chiffre devient non inversible et donc inutilisable. Par exemple, avec a=2, A (0) et N (13) chiffrent en A car (2 × 0) mod 26 = 0 et (2 × 13) mod 26 = 0. Tout message contenant A ou N serait irrémédiablement ambigu après le chiffrement.
Le chiffrement affine peut-il chiffrer des nombres et des caractères spéciaux ?
Dans sa forme standard, le chiffre Affine ne crypte que les 26 lettres de l'alphabet anglais. Les nombres, les espaces, la ponctuation et autres caractères spéciaux sont généralement transmis sans modification. Certaines implémentations étendent le chiffrement à des alphabets plus grands (par exemple, le mod 95 pour tous les caractères ASCII imprimables), mais la définition standard utilise le mod 26 et ne fonctionne que sur les lettres.
Quelle est la combinaison de touches de chiffrement affine la plus forte ?
Aucune combinaison de clés de chiffrement affine n'offre une sécurité significative, mais d'un point de vue purement théorique, les clés avec des valeurs éloignées de 1 (telles que a=7 ou a=17) produisent des alphabets qui semblent plus brouillés que les clés proches de 1. La clé « la plus forte » est subjective dans un chiffre avec seulement 312 combinaisons — toutes sont également faciles à briser par la force brute.
Comment le chiffrement Affine se compare-t-il au chiffrement moderne ?
La comparaison est frappante. Le chiffre Affine comporte 312 combinaisons de touches ; AES-128 a 2 ^ 128 ≈ 3,4 × 10 ^ 38 combinaisons. Les chiffrements modernes utilisent également plusieurs cycles de substitution et de permutation non linéaires qui les rendent résistants aux attaques algébriques, à l'analyse de fréquence et à la cryptanalyse différentielle. Le chiffre affine, en tant que chiffre monoalphabétique linéaire, est vulnérable à tous ces vecteurs d’attaque simultanément. Il ne doit jamais être utilisé pour protéger des informations réelles.
Pouvez-vous utiliser le chiffre Affine avec des alphabets autres que l'anglais ?
Oui, avec des modifications. Pour un alphabet de taille m, la formule devient E(x) = (ax + b) mod m, où a doit être premier avec m. Par exemple, pour l'alphabet arabe de 28 lettres, vous utiliserez le mod 28, et les valeurs valides de a seraient celles premières avec 28. Le tableau inverse modulaire change en conséquence. Les mêmes principes mathématiques s'appliquent quelle que soit la taille de l'alphabet ; seules les valeurs clés valides spécifiques changent.
Résumé
Le chiffre Affine démontre que même une simple transformation linéaire appliquée avec l'arithmétique modulaire nécessite des contraintes mathématiques minutieuses pour fonctionner correctement. L'exigence que a soit premier avec 26, la nécessité d'inverses multiplicatifs modulaires dans le décryptage et la structure de l'espace de 312 clés sont toutes des conséquences directes de la théorie des nombres sous-jacente.
L'étude du chiffre Affine vous donne une expérience pratique de l'arithmétique modulaire, de l'algorithme euclidien étendu, des équations linéaires sur des anneaux modulaires et de la pensée cryptanalytique — tous des concepts récurrents dans des contextes cryptographiques plus avancés.
Pour une utilisation pratique :
- Essayez notre encodeur de chiffrement affine gratuit pour crypter et déchiffrer les messages de manière interactive
- Crackez les textes chiffrés avec notre décodeur affine pour voir l'analyse par force brute en action
- Calculez les inverses modulaires avec notre calculatrice affine pour explorer les mathématiques clés