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". Sauf code licence open source explicite (indiqué Creative Commons / gratuit), l'algorithme pour "Chiffre de Hill", l'applet ou snippet (convertisseur, solveur, chiffrement / déchiffrement, encodage / décodage, encryptage / décryptage, traducteur) ou les 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 les données, en téléchargement, script, ou les accès API à "Chiffre de Hill" ne sont pas publics, idem pour un usage hors ligne, PC, mobile, tablette, appli iPhone ou Android !
Rappel : dCode est gratuit.

Citation

Le copier-coller de la page "Chiffre de Hill" ou de ses résultats est autorisée (même pour un usage commercial) tant que vous créditez dCode !
L'exportation des résultats sous forme de fichier .csv ou .txt est gratuite en cliquant sur l'icone export
Citer comme source bibliographique :
Chiffre de Hill sur dCode.fr [site web en ligne], consulté le 21/11/2024, 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
© 2024 dCode — La 'boite à outils' indispensable qui sait résoudre tous les jeux / énigmes / géocaches / CTF.
 
Un problème ?