Chiffre de Hill
Encodez et décodez le chiffre de Hill, le chiffre polygraphique classique fondé sur l'algèbre linéaire. Les lettres sont regroupées en blocs, transformées en vecteurs de nombres, puis multipliées par une matrice clé modulo 26 : le chiffrement est C = K·P, le déchiffrement est P = K⁻¹·C. Choisissez une clé 2×2 ou 3×3, observez en direct la matrice, son déterminant et son inverse modulaire, et suivez le calcul bloc par bloc. Tout s'exécute dans votre navigateur.
Clé (lettres)
La clé comporte 4 lettres (A=0 … Z=25) qui remplissent la matrice ligne par ligne. Une clé 2×2 chiffre les lettres par paires (digrammes).
Saisissez du texte ci-dessus pour voir le résultat ici.
Matrice clé
Chaque bloc de lettres devient un vecteur (A=0 … Z=25) et est multiplié par la matrice clé modulo 26. Une clé ne fonctionne que lorsque son déterminant est inversible mod 26.
C = K · P (mod 26)
Saisissez exactement 4 lettres (A–Z) pour remplir la matrice clé.
Comment utiliser Chiffre de Hill
- 1
Choisissez chiffrer ou déchiffrer et une taille de matrice
Sélectionnez Chiffrer pour chiffrer ou Déchiffrer pour déchiffrer, puis choisissez une clé 2×2 (lettres par paires) ou une clé 3×3 (lettres par triplets).
- 2
Saisissez la clé sous forme de lettres
Saisissez les lettres de la clé qui remplissent la matrice ligne par ligne — quatre lettres pour une clé 2×2, neuf pour une clé 3×3. La matrice en direct affiche le déterminant et vous indique si la clé est inversible mod 26.
- 3
Saisissez ou collez votre texte
Saisissez votre message et il est converti au fur et à mesure que vous tapez. Le panneau de calcul montre chaque bloc sous forme de vecteur, la multiplication matricielle et le bloc résultant.
- 4
Vérifiez la matrice clé et l'inverse
Ouvrez le panneau de la matrice clé pour voir la clé, son déterminant et — lorsque la clé est valide — la matrice inverse modulaire utilisée pour le déchiffrement.
- 5
Copiez, téléchargez ou partagez
Copiez le résultat, téléchargez-le sous forme de fichier texte, ou partagez un lien qui rouvre l'outil avec votre texte, votre clé, votre taille et votre direction exacts, prêts à l'emploi.
Comprendre le chiffre de Hill
Qu'est-ce que le chiffre de Hill ?
Le chiffre de Hill est un chiffre de substitution polygraphique classique inventé par le mathématicien américain Lester S. Hill en 1929. Au lieu de remplacer une lettre à la fois, il chiffre tout un bloc de lettres ensemble en traitant le bloc comme un vecteur de nombres et en le multipliant par une matrice clé secrète, modulo 26. Ce fut le premier chiffre pratique capable d'opérer sur plus de trois symboles à la fois, et il a fait entrer de plein droit l'algèbre linéaire dans la cryptographie.
Parce que chaque lettre de sortie dépend de toutes les lettres d'entrée de son bloc, le chiffre de Hill masque les fréquences des lettres isolées qui trahissent les chiffres plus simples. Une clé 2×2 mêle les lettres par paires, une clé 3×3 les mêle par triplets, et des matrices plus grandes mêlent des blocs encore plus grands. Cette diffusion est la même idée qui sous-tend les chiffres par blocs modernes, ce qui fait du chiffre de Hill un exemple pédagogique de prédilection — même si, en tant que chiffre linéaire, il est facile à casser avec un peu de texte clair connu.
Comment fonctionne le chiffre de Hill
D'abord, transformez les lettres en nombres avec A=0, B=1, jusqu'à Z=25. La clé est une matrice n×n de tels nombres ; ici, vous la saisissez sous forme d'une suite de lettres qui remplit la matrice ligne par ligne, si bien qu'une clé 2×2 nécessite quatre lettres et une clé 3×3 en nécessite neuf. Le texte clair est découpé en blocs de n lettres, chacun écrit comme un vecteur colonne.
Pour chiffrer un bloc P, calculez C = K · P (mod 26) : multipliez la matrice clé par le vecteur et réduisez chaque entrée modulo 26, puis relisez les nombres sous forme de lettres. Pour déchiffrer, il vous faut l'inverse modulaire de la matrice clé, K⁻¹, et vous calculez P = K⁻¹ · C (mod 26). L'inverse n'existe que lorsque le déterminant de la matrice est inversible modulo 26 — c'est-à-dire lorsqu'il ne partage aucun facteur commun avec 26 —, ce qui est la règle la plus importante au moment de choisir une clé.
Choisir une matrice clé valide
Toute matrice ne peut pas être une clé de Hill. Pour que le déchiffrement fonctionne, le déterminant de la clé, pris modulo 26, doit être premier avec 26. Comme 26 = 2 × 13, le déterminant doit être impair et non multiple de 13 ; les valeurs autorisées sont les douze nombres 1, 3, 5, 7, 9, 11, 15, 17, 19, 21, 23, 25. Si le déterminant est pair ou égal à 13, aucun inverse modulaire n'existe et le texte chiffré ne peut pas être déchiffré de façon unique.
L'outil calcule le déterminant à votre place et affiche un badge vert lorsque la clé est inversible ou un badge rouge lorsqu'elle ne l'est pas, aux côtés de la matrice inverse qu'il utilisera pour le déchiffrement. Si une clé est rejetée, changez une lettre ou deux et observez le déterminant se mettre à jour jusqu'à ce qu'il tombe sur une valeur valide. Ce retour en direct transforme la tâche autrement fastidieuse de choisir une clé de Hill à la main en un exercice rapide et visuel.
Un exemple résolu en 2×2
Prenez la clé DDCF, qui remplit la matrice 2×2 avec les nombres 3, 3 sur la ligne du haut et 2, 5 sur la ligne du bas. Son déterminant est 3×5 − 3×2 = 9, et comme 9 est premier avec 26, la clé est valide. Chiffrons maintenant HELP. Le premier bloc HE est le vecteur (7, 4) : la multiplication donne (3×7 + 3×4, 2×7 + 5×4) = (33, 34), qui se réduit mod 26 à (7, 8) = HI.
Le second bloc LP est (11, 15), donnant (3×11 + 3×15, 2×11 + 5×15) = (78, 97) = (0, 19) = AT. Ainsi HELP se chiffre en HIAT. Pour déchiffrer, l'outil inverse la clé en (15, 17 / 20, 9) et multiplie chaque bloc chiffré par celle-ci, retrouvant HELP. Saisissez DDCF comme clé ci-dessus pour voir chaque étape apparaître dans le panneau de calcul en direct.
Un exemple résolu en 3×3
L'exemple 3×3 classique utilise la clé GYBNQKURP, qui remplit la matrice avec 6, 24, 1 sur la première ligne, 13, 16, 10 sur la deuxième, et 20, 17, 15 sur la troisième. Le chiffrement du trigramme ACT — le vecteur (0, 2, 19) — donne (67, 222, 319) avant réduction, ce qui devient (15, 14, 7) modulo 26, soit POH.
Le déterminant de cette matrice est 25 modulo 26, ce qui est premier avec 26, c'est donc une clé valide, et son inverse modulaire est la matrice (8, 5, 10 / 21, 8, 21 / 21, 12, 8). Multiplier le bloc chiffré POH par cet inverse redonne ACT. Basculez le sélecteur de taille sur 3×3 et saisissez GYBNQKURP pour reproduire cet exemple de manuel et voir la matrice inverse que l'outil dérive.
Remplissage, lettres et mise en forme
Le chiffre de Hill ne connaît que les 26 lettres A–Z, si bien que les espaces, les chiffres et la ponctuation sont supprimés avant le chiffrement et ne reviennent pas lorsque vous déchiffrez. Comme le message est traité par blocs de taille fixe, un texte clair dont la longueur n'est pas un multiple de la taille du bloc est complété avec la lettre X pour finir le dernier bloc ; un message déchiffré peut donc se terminer par une ou deux lettres supplémentaires.
La casse des lettres n'est pas conservée — tout est traité en majuscules. Ces limitations sont inhérentes au chiffre classique plutôt qu'à cet outil, et elles font partie des raisons pour lesquelles le chiffre de Hill, comme ses contemporains, servait pour de courts messages tactiques plutôt que pour du texte libre. La décomposition en direct montre exactement comment votre texte est regroupé et complété en blocs.
Sécurité et cryptanalyse
La force du chiffre de Hill est aussi sa faiblesse fatale : il est linéaire. Chaque bloc chiffré est une fonction linéaire fixe du bloc de texte clair, si bien qu'un attaquant qui apprend assez de paires de blocs texte clair–texte chiffré peut poser et résoudre un système d'équations linéaires pour retrouver directement la matrice clé. Pour une clé n×n, environ n blocs connus suffisent généralement, ce qui fait tomber le chiffre rapidement face à une attaque à texte clair connu.
Il n'offre par ailleurs aucune diffusion entre les blocs ni aucune confusion au-delà du mélange linéaire, si bien que des blocs de texte clair identiques se chiffrent toujours en blocs chiffrés identiques. Selon les normes modernes, il n'est pas sûr, et vous ne devriez jamais l'utiliser pour protéger de vraies informations — recourez plutôt à un algorithme éprouvé tel qu'AES. En tant qu'illustration claire et concrète de la façon dont les matrices, l'arithmétique modulaire et le chiffrement par blocs s'imbriquent, le chiffre de Hill reste cependant l'un des meilleurs chiffres classiques à apprendre.
Questions fréquentes
Qu'est-ce que le chiffre de Hill ?
Comment fonctionne le chiffre de Hill ?
Comment choisir une clé valide pour le chiffre de Hill ?
Pouvez-vous montrer un exemple résolu du chiffre de Hill ?
Comment déchiffre-t-on un chiffre de Hill ?
Quelle est la différence entre un chiffre de Hill 2×2 et 3×3 ?
Pourquoi ma clé indique-t-elle qu'elle n'est pas inversible ?
Qu'advient-il des espaces, des chiffres et de la ponctuation ?
Le chiffre de Hill est-il sûr ?
Qui a inventé le chiffre de Hill ?
Qu'est-ce que l'inverse modulaire d'une matrice ?
Mon texte est-il envoyé sur un serveur ?
Outils similaires
Continuez avec ces outils pratiques