Qu'est-ce que le chiffre Hill ?
Le chiffre Hill (parfois appelé "Cyphe Hill") est un chiffrement de substitution polygraphique qui chiffre les blocs de lettres simultanément en utilisant multiplication de la matrice. Inventé par le mathématicien Lester S. Hill dans 1929, c'était le premier chiffre pratique basé entièrement sur l'algèbre linéaire plutôt que sur des dispositifs mécaniques ou une simple substitution de lettres.
Au lieu de remplacer une lettre à la fois, le chiffre de Hill convertit des groupes de lettres en vecteurs numériques, les multiplie par une matrice clé secrète, et applique le modulo 26 arithmétique. Une matrice clé 2x2 chiffre des paires de lettres; une matrice 3x3 traite trois à la fois. Cette approche par blocs fournit une diffusion significativement plus importante que les chiffres de substitution à une seule lettre comme le César cophher ou affine cophher.
Comment fonctionne le chiffrement Hill
Formule de chiffrement
C = (K x P) mod 26
Where:
- P est le vecteur texte en clair (lettres converties en nombres: A=0, B=1,... Z=25)
- K est la matrice à clé carrée (2x2 ou 3x3)
- C est le vecteur de chiffrement résultant
Exemple de chiffrement 2x2
Chiffrer "HELP" avec la matrice clé K = [[3, 3], [2, 5]]:
Étape 1: Convertir en nombres et blocs de forme de 2:
- Bloc 1: H=7, E=4 -> [7, 4]
- Bloc 2: L=11, P=15 -> [11, 15]
Étape 2: Multipliez chaque bloc par la matrice clé:
Bloc 1: [[3,3],[2,5] x [7,4] = [3x7+3x4, 2x7+5x4] = [33, 34]
Appliquer le mod 26: [33 mod 26, 34 mod 26] = [7, 8] = HI
Case 2: [[3,3],[2,5] x [11,15] = [3x11+3x15, 2x11+5x15] = [78, 97]
Appliquer le mod 26: [78 mod 26, 97 mod 26] = [0, 19] = AT
Résultat: HELP devient HIAT
Formule de déchiffrement
P = (K^-1 x C) mod 26
Le déchiffrement nécessite l'inverse modulaire de la matrice clé. Cette inverse est calculée à l'aide du déterminant, de son mod 26 inverse modulaire et de la matrice adjuguée. Notre Décodeur de chiffrement Hill automatise ce processus.
Principales exigences de la matrice
Chaque matrice ne peut pas être valide Clé de chiffrement Hill. Trois conditions doivent être remplies:
| Requirement | Explanation |
|---|---|
| Matrice carrée | Doit être n x n (2x2 ou 3x3) |
| Déterminant non nul | det(K) ne peut pas égaler 0 |
| Coprime déterminant à 26 | gcd(det(K), 26) = 1 -- ne peut être divisible par 2 ou 13 |
Valeurs déterminantes valides mod 26: 1, 3, 5, 7, 9, 11, 15, 17, 19, 21, 23, 25
2x2 vs 3x3 matrices
| Fonctionnalité | Matrice 2x2 | Matrice 3x3 |
|---|---|---|
| Lettres par bloc | 2 | 3 |
| Éléments clés | 4 | 9 |
| Diffusion | Moderate | Strong |
| Calcul manuel | Manageable | Complex |
| Une attaque connue-plaintext nécessite | 4 caractères | 9 caractères |
| Meilleur pour | Learning | Meilleure sécurité |
Analyse de la sécurité
Le chiffrement Hill offre une sécurité plus grande que les chiffrements de substitution à une seule lettre en éliminant l'analyse directe de fréquence -- les lettres identiques dans différentes positions produisent un chiffrement différent. Cependant, elle présente une faiblesse fondamentale.
Texte connu Attaque
Parce que le chiffrement est purement linéaire, un attaquant qui obtient des caractères n-carrés correspondant à un texte simple-ciphertext (4 pour 2x2, 9 pour 3x3) peut configurer un système d'équations linéaires et résoudre pour la matrice de clé complète. Cela rend le chiffrement Hill inapproprié pour toute application de sécurité réelle.
Malgré cette vulnérabilité, le chiffre demeure un outil éducatif exceptionnel. Son principe de multiplication matricielle a directement influencé les algorithmes modernes -- notamment, AES (le standard mondial actuel de chiffrement) utilise la multiplication matricielle dans son étape MixColumns.
Chiffre Hill vs autres Chiffres classiques
| Fonctionnalité | Chiffre Hill | Cinéma d'affine | Cinéma du jeu | Chiffre de César |
|---|---|---|---|---|
| Type | Polygraphique | Monoalphabétique | Digraphique | Monoalphabétique |
| Base mathématique | Multiplication des matrices | Formule linéaire (ax+b) | Règles fondées sur le réseau | Ajouter le mod 26 |
| Taille du bloc | 2 ou 3 lettres | 1 lettre | 2 lettres | 1 lettre |
| Espace clé | Large | 312 clés | ~600 billions | 26 clés |
| Résiste freq. Analyse | Partially | No | Partially | No |
Foire aux questions
Comment calculez-vous le chiffre de Hill à la main ?
Convertir chaque lettre en un nombre (A=0 à Z=25), diviser le texte en blocs correspondant à la taille de votre matrice, multiplier la matrice clé par chaque vecteur de blocs, et appliquer le mod 26 à chaque résultat. Pour une matrice 2x2 avec la clé [[3,3],[2,5] et le texte en clair "HI": calculer [3x7+3x8, 2x7+5x8] = [45, 54], puis le mod 26 donne [19, 2] = "TC". Visitez notre page exemples pour plus de visites.
Qui a inventé le chiffre de Hill ?
Lester S. Hill, mathématicien et professeur américain, a publié le chiffre dans 1929 dans The American Mathematical Monthly. C'était le premier chiffre polygraphique basé uniquement sur des principes mathématiques plutôt que sur des dispositifs de substitution mécanique.
Le chiffre de Hill est-il encore utilisé aujourd'hui ?
Pas pour le chiffrement réel, en raison de sa vulnérabilité aux attaques en texte plat connues. Cependant, son approche matricielle a profondément influencé les chiffres des blocs modernes. AES utilise la multiplication matricielle dans son fonctionnement MixColumns -- un descendant direct de l'idée de Hill. Le chiffre reste largement enseigné en cryptographie universitaire et en algèbre linéaire.
Qu'est-ce qui fait une matrice de clés valide?
La matrice doit être carrée et son déterminant doit être coprime à 26 (non divisible par 2 ou 13). Si gcd(det(K), 26) n'est pas égal à 1, aucun inverse modulaire n'existe et le décryptage devient impossible. Les valeurs déterminantes valides sont: 1, 3, 5, 7, 9, 11, 15, 17, 19, 21, 23, 25.
Chiffre de Hill 2x2 vs 3x3 -- que dois-je utiliser?
Pour l'apprentissage, commencez par 2x2 matrices -- les calculs sont gérables à la main et les concepts sont transférés directement. Pour les affectations en classe ou pour de meilleures démonstrations de sécurité, les matrices 3x3 offrent une diffusion beaucoup plus forte (mélanger plus de lettres par bloc) et nécessitent un texte en clair plus connu pour attaquer (9 caractères contre 4).
Le chiffre de Hill peut-il gérer les espaces et la ponctuation?
La norme Le chiffre Hill fonctionne sur l'alphabet anglais de 26 lettres seulement. Les espaces, les nombres et la ponctuation sont généralement dépouillés avant le chiffrement. Certaines variantes étendent le module pour y inclure des caractères additionnels (p. ex., mod 29 pour ajouter de l'espace, de la période et des virgules), mais les processus d'implémentation traditionnels seulement A-Z.
Outils et Ressources connexes
- Décodeur de chiffrement de fin -- Déchiffrer avec des clés connues ou effectuer des attaques de texte plat connues
- Exemples de chiffrement en attente -- Cryptage et décryptage étape par étape
- [Cinéma d ' affine] (/ciphers/affine) -- Un autre chiffre basé sur l'arithmétique modulaire, utile pour la comparaison
- Cinéma du jeu -- Un chiffrement dipographique qui chiffre également les paires de lettres, en utilisant différentes méthodes
- [Polybius Square] (/ciphers/polybius) -- Conversion de lettres en paires de nombres, souvent combinés avec d'autres chiffres
- [Cinéma César] (/ciphers/caesar) -- Le chiffre de substitution le plus simple pour la compréhension fondamentale