Rechercher un outil
Chiffre de Hill

Outil pour décoder/encoder avec le chiffre de Hill, un système de chiffrement similaire au chiffre affine mais utilisant une matrice plutôt qu'un coefficient directeur.

Résultats

Chiffre de Hill -

Catégorie(s) : Chiffre Poly-Alphabétique

Partager
Partager
dCode et plus

dCode est gratuit et ses outils sont une aide précieuse dans les jeux, les maths, les énigmes, les géocaches, et les problèmes à résoudre au quotidien !
Une suggestion ? un problème ? une idée ? Écrire à dCode !


Rendez-vous sur notre communauté Discord dCode pour participer au forum d'entraide !
PS : Pour les messages codés, testez notre détecteur de chiffrement !


Remarques et suggestions sont les bienvenues afin que dCode propose le meilleur outil 'Chiffre de Hill' gratuit ! Merci !

Chiffre de Hill

Déchiffrement avec Hill

 

 

Chargement en cours...
(si ce message ne disparait pas, actualiser la page)





Voir aussi : Chiffre Affine

Chiffrement avec Hill

 


Chargement en cours...
(si ce message ne disparait pas, actualiser la page)





Voir aussi : Chiffre Affine

Inversion de Matrice

Réponses aux Questions (FAQ)

Qu'est-ce que le chiffrement de Hill ? (Définition)

Le chiffrement de Hill est un chiffrement polyalphabétique créé par extension du chiffrement Affine, utilisant l'algèbre linéaire et l'arithmétique modulaire via une matrice numérique qui sert de clé de chiffrement et déchiffrement.

Comment encoder avec Hill ? (Principe de chiffrement)

Le chiffre de Hill utilise un alphabet et une matrice carrée $ M $ de taille $ n $ composée de nombres entiers et appelée matrice de chiffrement.

Exemple : Chiffrer le texte DCODE avec l'alphabet ABCDEFGHIJKLMNOPQRSTUVWXYZ et la matrice $ M $ d'ordre $ n=2 $ : $$ M = \begin{bmatrix} 2 & 3 \\ 5 & 7 \end{bmatrix} $$

Découper le texte en $ n $-grammes. Compléter tout ngramme incomplet final avec des lettres aléatoires si besoin.

Exemple : La matrice $ M $ est une matrice 2x2, DCODE devient DC,OD,EZ (un Z a été rajouté pour compléter le dernier bigramme)

Substituer les lettres du message clair par leur rang dans l'alphabet à partir de $ 0 $.

Exemple : L'alphabet ABCDEFGHIJKLMNOPQRSTUVWXYZ devient A=0,B=1,…,Z=25.
Les groupes de lettres DC, OD, EZ deviennent les groupes de valeurs (3,2), (14,3), (4,25)

Il est envisageable (mais déconseillé) d'utiliser ZABCDEFGHIJKLMNOPQRSTUVWXY pour avoir A=1,B=2,…,Y=25,Z=0.

Pour chaque groupe de valeurs $ P $ du texte clair (mathématiquement équivalent à un vecteur de taille $ n $) effectuer le calcul matriciel : $$ M.P \equiv C \mod 26 $$ où $ C $ est le groupe de valeurs chiffrées calculé et $ 26 $ la longueur de l'alphabet.

Exemple : $$ \begin{bmatrix} 2 & 3 \\ 5 & 7 \end{bmatrix} \cdot \begin{bmatrix} 3 \\ 2 \end{bmatrix} \equiv \begin{bmatrix} 12 \\ 3 \end{bmatrix} \mod 26 $$

A partir des valeurs chiffrées $ C $, retrouver les lettres chiffrées de même rang dans l'alphabet.

Exemple : $ 12 $ équivaut à M et $ 3 $ équivaut à D etc.
Ainsi de suite, DCODEZ se chiffre MDLNFN

Comment décoder par Hill ? (Principe de déchiffrement)

Le déchiffrement nécessite de connaitre la matrice et l'alphabet utilisé. Les calculs font intervenir des notions de calcul matriciel comme l'inversion de matrice et du calcul arithmétique comme l'inversion modulaire.

Pour déchiffrer, d'abord calculer l'inverse de la matrice modulo 26 (où 26 la longueur de l'alphabet), ce qui nécessite que la matrice soit inversible.

Exemple : En reprenant la matrice de l'exemple pour le chiffrement, calculer l'inverse de la matrice (modulo 26) : $$ \begin{bmatrix} 2 & 3 \\ 5 & 7 \end{bmatrix}^{-1} \equiv \begin{bmatrix} -7 & 3 \\ 5 & -2 \end{bmatrix} \equiv \begin{bmatrix} 19 & 3 \\ 5 & 24 \end{bmatrix} \mod 26 $$

Le déchiffrement consiste alors à re-chiffrer le message chiffré à l'aide de la matrice inversée.

A noter que toutes les matrices ne peuvent pas être adaptées à Hill. Le déterminant de la matrice doit être premier avec 26.

Pourquoi le déterminant de la matrice de Hill doit-il être premier avec 26 ?

Le déterminant de la matrice de Hill doit être premier avec 26 pour assurer que la matrice soit inversible modulo 26 (la valeur 26 provient de la longueur de l'alphabet latin ayant 26 lettres).

Cela garantit que chaque opération de multiplication modulaire reste bijective (chaque vecteur/ngramme d'entrée correspond à un seul vecteur/ngramme chiffré et inversement).

Si ce n'était pas le cas, plusieurs vecteurs/ngrammes différents pourraient être chiffrés de la même façon, ce qui rendrait le déchiffrement ambigu et difficile à réaliser de manière fiable.

Exemple : Pour une matrice de taille 2x2 les 4 nombres $ \{ a,b,c,d \} $ doivent satisfaire cette condition : $ ad-bc $ est premier avec 26.

Comment reconnaitre le chiffre Hill ?

Le message a un indice de coincidence faible, des ngrammes similaires peuvent être codés de la même manière.

Toute référence à une colline ou une montagne est un indice (Hill signifie colline en anglais).

Parfois les groupes de lettres sont laissés visibles (tous de longueur n = 2, 3 ou 4) ce qui laisse à imaginer que la matrice est de taille n.

Comment déchiffrer Hill sans matrice ?

dCode propose de tester par bruteforce environ 6000 combinaisons de matrices 2x2 (avec des chiffres entre 1 et 9) et d'alphabet.

Pour les matrices contenant des nombres $ >= 10 $ ou des matrices de taille supérieures, les temps de calculs deviennent exponentiellement plus long.

Quelles sont les variantes du chiffre de Hill ?

Hill est déjà une variante du chiffre Affine. Peu de variantes connues à part l'utilisation de matrices de taille supérieure à 2.

Quand le chiffre de Hill a-t-il été inventé ?

Le chiffrement de Hill a été créé en 1929 par Lester S. Hill

Code source

dCode se réserve la propriété du code source pour "Chiffre de Hill". Tout algorithme pour "Chiffre de Hill", applet ou snippet ou script (convertisseur, solveur, chiffrement / déchiffrement, encodage / décodage, encryptage / décryptage, traducteur) ou toutes fonctions liées à "Chiffre de Hill" (calculer, convertir, résoudre, décrypter / encrypter, déchiffrer / chiffrer, décoder / encoder, traduire) codés en langage informatique (Python, Java, C#, PHP, Javascript, Matlab, etc.) ou toute base de données, ou accès API à "Chiffre de Hill" ou tout autre élément ne sont pas publics (sauf licence open source explicite type Creative Commons). Idem avec le téléchargement pour un usage hors ligne sur PC, mobile, tablette, appli iPhone ou Android.
Rappel : dCode est une ressource éducative et pédagogique, accessible en ligne gratuitement et pour tous.

Citation

Le contenu de la page "Chiffre de Hill" ainsi que ses résultats peuvent être copiés et réutilisés librement, y compris à des fins commerciales, à condition de mentionner dCode.fr comme source. L'export des résultats est gratuit et se fait simplement en cliquant sur les icônes d'export ⤓ (format .csv ou .txt) ou ⧉ copier-coller.
Pour citer dCode.fr sur un autre site Internet, utiliser le lien : https://www.dcode.fr/chiffre-hill
Dans un article scientifique ou un livre, la citation bibliographique recommandée est : Chiffre de Hill sur dCode.fr [site web en ligne], consulté le 16/04/2025, https://www.dcode.fr/chiffre-hill

Besoin d'Aide ?

Rendez-vous sur notre communauté Discord dCode pour participer au forum d'entraide !
PS : Pour les messages codés, testez notre détecteur de chiffrement !

Questions / Commentaires

Remarques et suggestions sont les bienvenues afin que dCode propose le meilleur outil 'Chiffre de Hill' gratuit ! Merci !


https://www.dcode.fr/chiffre-hill
© 2025 dCode — La collection d'outils incontournable pour les jeux, les maths et les énigmes.
 
Un problème ?