
Attention! Cette page requiert des connaissances en algèbre matriciel. Le symbole
renvoie à une page plus technique qui éclaircira certains points délicats de la méthode.
Le chiffre publié en 1929 par Lester S. Hill (1891-1961) est un chiffre polygraphique (comme le chiffre Playfair), c'est-à-dire qu'on ne (dé)chiffre pas les lettres les unes après les autres, mais par paquets. Nous étudierons sur cette page la version bigraphique du chiffre de Hill, puisque nous grouperons les lettres deux par deux, mais on peut imaginer des paquets plus grands, par exemple des paquets de trois lettres.
Les lettres sont d'abord remplacées par leur rang dans l'alphabet. Les lettres Pk et Pk+1 du texte clair seront chiffrées Ck et Ck+1 avec la formule ci-dessous:
Ce qui signifie, pour fixer les idées, que les deux premières lettres du message clair (P1 et P2) seront chiffrées (C1 et C2) selon les deux équations suivantes:
Alice prend comme clef de cryptage la matrice
pour chiffrer le message "je vous aime"
. Après avoir remplacé les lettres par leur rang dans l'alphabet (a=1, b=2, etc.), elle obtiendra:
Elle fera de même avec les 3e et 4e lettres, 5e et 6e, etc. Elle obtiendra finalement:
| Lettres | j | e | v | o | u | s | a | i | m | e |
| Rangs (Pk) | 10 | 5 | 22 | 15 | 21 | 19 | 1 | 9 | 13 | 5 |
| Rangs chiffrés (Ck) | 6 | 7 | 24 | 7 | 5 | 4 | 19 | 16 | 7 | 22 |
| Lettres chiffrées | F | G | X | G | E | D | S | P | G | V |
Pour déchiffrer, le principe est le même que pour le chiffrement: on prend les lettres deux par deux, puis on les multiplie par une matrice.
Cette matrice doit être l'inverse de matrice de chiffrement (modulo 26). Ordinairement l'inverse de la matrice
est:
Mais que cela signifie-t-il dans le contexte Z26? Reprenons notre exemple.
Pour déchiffrer le message d'Alice, Bob doit calculer
Comme pgdc(43,26)=1, (43)-1 existe dans Z26 et (43)-1 égale 23
. Bob a donc maintenant la matrice de déchiffrement:
Bob prend donc la matrice
pour déchiffrer le message "FGXGE DSPGV". Après avoir remplacé les lettres par leur rang dans l'alphabet (A=1, B=2, etc.), il obtiendra:
Il fera de même avec les 3e et 4e lettres, 5e et 6e, etc. Il obtiendra finalement:
| Lettres chiffrées | F | G | X | G | E | D | S | P | G | V |
| Rangs chiffrés (Ck) | 6 | 7 | 24 | 7 | 5 | 4 | 19 | 16 | 7 | 22 |
| Rangs (Pk) | 10 | 5 | 22 | 15 | 21 | 19 | 1 | 9 | 13 | 5 |
| Lettres | j | e | v | o | u | s | a | i | m | e |
Le petit programme javascript ci-dessous vous permettra de chiffrer et déchiffrer un message avec le chiffre de Hill. Entrez un message non accentué (au besoin prétraitez le texte).