T

Text Machine

Des outils de texte puissants, dans votre navigateur

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.

Matrice clé

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

Texte clair
Texte chiffré

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. 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. 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. 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. 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. 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 ?
Le chiffre de Hill est un chiffre de substitution polygraphique classique créé par Lester S. Hill en 1929. Il chiffre les lettres par blocs en transformant chaque bloc en un vecteur de nombres et en le multipliant par une matrice clé secrète modulo 26. Parce que chaque lettre de sortie dépend de tout le bloc, il masque les fréquences des lettres isolées et fut le premier chiffre à appliquer l'algèbre linéaire au chiffrement de façon pratique.
Comment fonctionne le chiffre de Hill ?
Les lettres deviennent des nombres (A=0 … Z=25). Le texte clair est découpé en blocs de n lettres, chacun écrit comme un vecteur, et chiffré avec C = K·P (mod 26) à l'aide d'une matrice clé n×n K. Le déchiffrement utilise l'inverse modulaire de la clé : P = K⁻¹·C (mod 26). Une clé 2×2 opère sur des paires de lettres et une clé 3×3 sur des triplets.
Comment choisir une clé valide pour le chiffre de Hill ?
La matrice clé n'est déchiffrable que lorsque son déterminant, pris modulo 26, est premier avec 26. Comme 26 = 2 × 13, le déterminant doit être impair et non multiple de 13 — l'un de 1, 3, 5, 7, 9, 11, 15, 17, 19, 21, 23 ou 25. Cet outil affiche le déterminant en direct et marque la clé comme inversible ou non, pour que vous puissiez ajuster les lettres jusqu'à ce qu'elle soit valide.
Pouvez-vous montrer un exemple résolu du chiffre de Hill ?
Avec la clé 2×2 DDCF (lignes 3,3 et 2,5, déterminant 9), le mot HELP se chiffre en HIAT : HE = (7,4) correspond à (7,8) = HI, et LP = (11,15) correspond à (0,19) = AT. Avec la clé 3×3 GYBNQKURP, le trigramme ACT se chiffre en POH. Saisissez l'une ou l'autre clé ci-dessus pour voir chaque bloc et la multiplication matricielle apparaître étape par étape.
Comment déchiffre-t-on un chiffre de Hill ?
Le déchiffrement multiplie chaque bloc chiffré par l'inverse modulaire de la matrice clé, P = K⁻¹·C (mod 26). Dans cet outil, choisissez Déchiffrer, réglez la même taille de matrice et saisissez la même clé que celle employée pour chiffrer ; il calcule l'inverse et reconstruit le texte clair. La clé doit être inversible mod 26, faute de quoi aucun inverse — et donc aucun déchiffrement unique — n'existe.
Quelle est la différence entre un chiffre de Hill 2×2 et 3×3 ?
La taille de la matrice fixe la longueur du bloc. Une clé 2×2 chiffre les lettres deux par deux et nécessite une clé de quatre lettres ; une clé 3×3 les chiffre trois par trois et nécessite une clé de neuf lettres. Des matrices plus grandes mêlent davantage de lettres par bloc et résistent un peu mieux à l'analyse de fréquence, mais elles sont plus difficiles à mettre en place et cèdent toujours à une attaque à texte clair connu.
Pourquoi ma clé indique-t-elle qu'elle n'est pas inversible ?
Une clé de Hill ne peut déchiffrer que si le déterminant de sa matrice est premier avec 26. Si le déterminant est pair ou multiple de 13, la matrice n'a pas d'inverse modulo 26 et le texte chiffré ne peut pas être déchiffré de façon unique. Changez une ou deux lettres de la clé et observez le déterminant se mettre à jour jusqu'à ce que l'outil marque la clé comme inversible.
Qu'advient-il des espaces, des chiffres et de la ponctuation ?
Seules les lettres A–Z existent dans le chiffre de Hill, si bien que les espaces, les chiffres et la ponctuation sont supprimés avant le chiffrement et ne réapparaissent pas lorsque vous déchiffrez. Si la longueur du message n'est pas un multiple de la taille du bloc, il est complété avec la lettre X pour remplir le dernier bloc, si bien qu'un message déchiffré peut se terminer par une ou deux lettres supplémentaires.
Le chiffre de Hill est-il sûr ?
Non. Le chiffre de Hill est linéaire, si bien qu'un attaquant qui obtient assez de paires de blocs texte clair–texte chiffré peut résoudre un système d'équations linéaires et retrouver la matrice clé. Pour une clé n×n, environ n blocs connus suffisent généralement. Il est excellent pour apprendre comment les matrices et l'arithmétique modulaire construisent un chiffre par blocs, mais pour une vraie protection vous devriez toujours utiliser un algorithme moderne tel qu'AES.
Qui a inventé le chiffre de Hill ?
Le chiffre de Hill a été inventé par Lester S. Hill, un mathématicien américain, et publié en 1929 dans la revue The American Mathematical Monthly. Il s'est distingué en étant le premier chiffre capable de chiffrer des blocs de plus de trois lettres à une échelle pratique, et il a introduit l'algèbre matricielle et l'arithmétique modulaire comme outils de chiffrement — des idées qui résonnent dans la conception des chiffres par blocs modernes.
Qu'est-ce que l'inverse modulaire d'une matrice ?
C'est la matrice qui, multipliée par la clé modulo 26, donne la matrice identité. Pour une clé 2×2 ou 3×3, on la trouve en multipliant l'adjointe (la matrice des cofacteurs transposée) par l'inverse modulaire du déterminant. Le chiffre de Hill l'utilise pour défaire le chiffrement, et cet outil affiche l'inverse qu'il calcule chaque fois que la clé est valide.
Mon texte est-il envoyé sur un serveur ?
Non. Tout l'encodage et le déchiffrement se déroulent entièrement dans votre navigateur, de sorte que votre texte et votre clé ne sont jamais envoyés, journalisés ni stockés. Même un lien de partage conserve votre texte et votre clé dans la partie de l'URL située après le dièse, que les navigateurs n'envoient jamais à un serveur, de sorte que votre message reste confidentiel jusqu'à ce que vous choisissiez de partager le lien.

Outils similaires

Continuez avec ces outils pratiques

Chiffre à quatre carrés

Chiffre à deux carrés

Chiffre de César

Chiffre de Vigenère

Chiffre Atbash

Chiffre Rail Fence