![]() |
Polybe, historien grec (env. 200 - 125 av. J.-C.), est à l'origine du premier procédé de chiffrement par substitution. C'est un système de transmission basé sur un carré de 25 cases (on peut agrandir ce carré à 36 cases, afin de pouvoir ajouter les chiffres - voir le "chiffre ADFGVX" - ou pour chiffrer des alphabets comportant davantage de lettres, comme l'alphabet cyrillique):
En français, on supprime le W, qui sera le cas échéant
remplacé par V. En anglais, on agrège le I et le J. |
Les cryptologues modernes ont vu dans le "carré de 25" plusieurs caractéristiques extrêmement intéressantes:
On peut compliquer ce système de chiffrement avec un mot de passe. Par exemple, si le mot de passe est DIFFICILE, on commencera à remplir le carré avec les lettres de ce mot, après avoir supprimé les lettres identiques, puis on complètera le tableau avec les lettres inutilisées (voir les "alphabets désordonnés"). On obtiendra alors:
1 | 2 | 3 | 4 | 5 | |
1 | d | i | f | c | l |
2 | e | a | b | g | h |
3 | j | k | m | n | o |
4 | p | q | r | s | t |
5 | u | v | x | y | z |
Plusieurs chiffres modernes s'inspirent du carré de Polybe: le chiffre de Delastelle, le chiffre ADFGVX, le chiffre des Nihilistes, la méthode Hayhanen, ...
Le petit programme javascript ci-dessous vous permettra de chiffrer/déchiffrer un message non accentué avec le carré de Polybe (au besoin prétraitez le texte).
![]() |
De 1872 à 1921, les ennemis de l'état étaient incarcérés dans des cellules sombres et humides du bastion Troubetskoï de la forteresse Pierre et Paul (photo ci-dessus) à Saint-Pétersbourg. Le panneau ci-contre est affiché à l'entrée
d'une des cellules que l'on peut visiter aujourd'hui. On reconnaît
un carré de Polybe auquel on a ajouté une ligne, car il
fallait 28 cases. En réalité l'alphabet cyrillique compte
33 symboles: les signes les moins fréquents ou inutiles pour la
compréhension ont été supprimés. Les explications
de ce panneau ont été agrandies ci-dessous: ![]() Traduction(à gauche) Alphabet pour le "langage frappé". Pour transmettre un message en frappant sur les murs, on donnait d'abord le numéro de la ligne, puis celui de la lettre dans la ligne. (à droite) ... la lutte pour les coups est la première lutte que mène le prisonnier: c'est justement la lutte pour l'existence. (auteur illisible) |
Proposez une manière de remplir le carré de Polybe qui minimise le nombre de coups à frapper sur les murs (pour la langue française). Combien y a-t-il de carrés de Polybe optimaux équivalents ?
Ecrivez
un programme Python qui chiffre et déchiffre un texte en utilisant le
carré de Polybe. Solution.
![]() |
![]() ![]() |