Chapitre: |
XIII. Chiffres polygrammiques | Prérequis: |
Chiffre de Hill |
On ne peut pas prendre n'importe quoi comme matrice de chiffrement. Ses composantes doivent tout d'abord être des nombres entiers positifs. Il faut aussi qu'elle ait une matrice inverse dans Z26.
existe si (ad-bc)-1 (mod 26) existe. Or (ad-bc)-1 (mod 26) existe si (ad-bc) et 26 sont premiers entre eux. Il faut donc contrôler que (ad-bc) est impair et n'est pas multiple de 13 (voir à ce sujet le chiffre affine).
L'instruction Mathematica PowerMod[k, -1, n] donne l'inverse de k (mod n). Par exemple PowerMod[43, -1, 26] retourne 23 comme résultat.
Il existe des algorithmes efficaces pour déterminer l'inverse de k (mod n), par exemple l'algorithme d'Euclide étendu. Mais quand n=26, la méthode "force brute" est sans doute la manière la plus simple:
| 43·1 (mod 26) = 43 (mod 26) = 17 (mod 26). | Donc 1 n'est pas le nombre cherché. |
| 43·3 (mod 26) = 129 (mod 26) = 25 (mod 26). | Donc 3 n'est pas le nombre cherché. |
| 43·5 (mod 26) = 215 (mod 26) = 7 (mod 26). | Donc 5 n'est pas le nombre cherché. |
| 43·7 (mod 26) = 301 (mod 26) = 15 (mod 26). | Donc 7 n'est pas le nombre cherché. |
| 43·9 (mod 26) = 387 (mod 26) = 23 (mod 26). | Donc 9 n'est pas le nombre cherché. |
| 43·11 (mod 26) = 473 (mod 26) = 5 (mod 26). | Donc 11 n'est pas le nombre cherché. |
| 43·15 (mod 26) = 645 (mod 26) = 21 (mod 26). | Donc 15 n'est pas le nombre cherché. |
| 43·17 (mod 26) = 731 (mod 26) = 3 (mod 26). | Donc 17 n'est pas le nombre cherché. |
| 43·19 (mod 26) = 817 (mod 26) = 11 (mod 26). | Donc 19 n'est pas le nombre cherché. |
| 43·21 (mod 26) = 903 (mod 26) = 19 (mod 26). | Donc 21 n'est pas le nombre cherché. |
| 43·23 (mod 26) = 989 (mod 26) = 1 (mod 26). | Donc 23 est le nombre cherché. STOP. |
Calculez à la main 15-1 mod 26, puis vérifiez votre résultat avec le programme ci-dessous.
Entrez votre matrice de chiffrement, après avoir vérifié qu'elle est valide.
| Ecrivez un programme dans Mathematica qui compte toutes les matrices 2x2 (modulo 26) permettant un chiffrement de Hill. Parmi toutes les matrices de chiffrement 2x2 envisageables, quel est le pourcentage de matrices vraiment utilisables pour le chiffre de Hill?
|
| Le fichier Mathematica complet est disponible, mais seulement pour les visiteurs autorisés! |