Carre de Polybe
Le carré de Polybe est une méthode ancienne de chiffrement par substitution. Actuellement, nous ne connaissons ni son inventeur, ni sa date de création. Le premier ouvrage connu qui traite de ce sujet s’appelle Histoire et a été rédigé vers -150 av-JC par l’historien grec Polybe (vers -200 à Mégalopolis – vers -120).
Principe général
Le principe du carre de Polybe est relativement simple. Tous d’abord , nous allons créer une matrice carré d’ordre 5 dont chaque ligne et chaque colonne seront numérotées. Comme l'alphabet latin est constitué de 26 lettres et que notre matrice compte 25 cases, nous allons par convention ranger les lettres I et J dans la même case.
Pour chiffrer un message avec le Carré de Polybe, il suffit de chiffrer chaque lettre du message par les coordonnées (ligne / colonne) de la case dans laquelle elle se trouve. Ainsi, nous avons le résultat suivant si l'on souhaite chiffrer le message SPARTACUS :
Afin de déchiffrer un message chiffré avec le Carré de Polybe, il suffit d'effectuer l'opération inverse. C'est à dire traduire chaque paire de chiffres, correspondant à des coordonnées, par la lettre correspondante.
Les variantes
Il existe trois principales "variantes", ou plutôt trois principales extensions, au Carré de Polybe afin de complexifier son utilisation :
- Étendre la table
- Utiliser une clé de cryptage
- Faire une permutation paire-imparaire
Extension de la table
Le Carré de Polybe est extensible. C'est à dire qu'il ne s'agit pas obligatoirement d'un carré d'ordre 5 contenant les 26 lettres de l'alphabet latin.
En effet, le principe du Carré de Polybe, de part son fonctionnement, est indépendant de l'alphabet qu'il permet de chiffrer. Il permet donc de chiffrer des alphabets différents, dans un même carré ou non, à une seule condition : que la table de chiffrement ait autant de ligne que de colonne.
Il est donc, par exemple, possible de chiffrer les alphabets suivants :
- l'alphabet latin
- l'alphabet grec
- l'alphabet cyrillique
- les chiffres arabes
- des caractères spéciaux (accents, ponctuation...)
- etc.
Vous pouvez, par exemple, retrouver ci-dessous un Carré de Polybe permettant de chiffrer à la fois l'alphabet latin et les chiffres arabes.
Utilisation d’une clé
L'un des problèmes majeurs du Carré de Polybe est qu'il est générique. C'est à dire qu'à partir du moment ou une personne a connaissance de la méthode de chiffrement utilisée (le Carré de Polybe) et du ou des alphabet(s) chiffré(s), cette personne peut déchiffrer un message, même si ce dernier ne lui est pas destiné.
Afin de complexifier le déchiffrement d'un message, il est possible d'utiliser une clé privée, connue de l'expéditeur et du destinataire du message uniquement.
Pour utiliser une clé privée avec le Carré de Polybe, il suffit d'utiliser la méthode suivante :
- Choisir une clé faite à partir des caractères compris dans l'alphabet choisit. Pour l'exemple, nous choisirons la clé SPARTACUS300
- Remplir les premières cases du tableau avec les caractères de notre clé (si un caractère apparaît plusieurs fois dans la clé, alors on ne rentre dans le tableau que la première apparition du caractère dans la clé et on ignore toutes les autres)
- On remplit le reste de notre tableau avec les caractères restant de alphabet, dans leur ordre d'apparition classique