Chiffre de Hill

Chapitre: XIII. Chiffres polygrammiques Prérequis: -

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.

Chiffrement

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:

Exemple de chiffrement

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
Remarque
Certains auteurs posent "A"=1, "B"=2, ..., "Z"=0. On a utilisé ici cette convention. Cependant, d'autres auteurs posent "A"=0, "B"=1, ..., "Z"=25. Les deux conventions se défendent. L'essentiel est que les protagonistes se mettent d'accord avant d'échanger des messages. On pourrait même imaginer de prendre un alphabet désordonné, par exemple "A"=15, "B"=6, etc., ce qui constituerait un surchiffrement.


Déchiffrement

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.

Exemple de déchiffrement

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

Message d'entrée
Matrice

"A" = 1 "A" = 0
Message de sortie


Exercice

Chiffrement

Chiffrez à la main le message suivant avec le chiffre de Hill en utilisant la matrice : "Rendez-vous ce soir"
Vérifiez votre cryptogramme avec le programme ci-dessus.

Déchiffrement

Déchiffrez à la main le cryptogramme suivant qui a été chiffré avec la matrice : "UDZBI WLOSR VSSAY STAIE AM"


Références


Didier Müller, 8.10.01