Carre de Polybe

De Wiki du LAMA (UMR 5127)
Aller à la navigation Aller à la recherche

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.

Carré de Polybe.png


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 :

Spartacus.gif


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.

Attention : A noter que ce système de chiffrement date de l'antiquité. Il s'agit d'un système de chiffrement dont l'algorithme doit être privée et qui n'est pas à l'épreuve d'un déchiffrement par ordinateur.

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.

Carré de Polybe étendu.PNG

Utilisation d’une clé privée

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
Carré de Polybe cle.png

Permutations paire-impaire

Dans le but de complexifier encore plus le déchiffrement d'un message, il est possible de complexifier l'algorithme de chiffrement de notre carré de Polybe grâce à une permutation paire-impaire.
Cette complexification de l'algorithme doit être privée. Si l'algorithme est publique, cette complexification n'a pas d'intérêt.
La modification de l'algorithme de chiffrement est simple et répond à une règle simple :

  • Lorsque le caractère à chiffrer est en position impaire dans le message, alors l'équivalent chiffré n'est pas traduit par ligne-colonne mais par colonne-ligne. Dans le cas contraire, la règle de chiffrement standard est appliqué

Cette méthode permet de compliquer le déchiffrement par une méthode de récurrence car chaque caractère peut être chiffré de deux façon différentes en fonction de sa position dans le message.
Voici comment serait chiffrer le message ALEXANDRE avec le Carré de Polybe précédent et en utilisant la méthode de permutation paire-impaire :

Alexandre.PNG

Les cas d’utilisation

A notre connaissance, au cours de l’histoire, le carré de Polybe est essentiellement utilisé pour l’envoie de message. Dans les parties suivantes, nous allons vous décrire certaine de ces techniques.

Technique des torches

L’une de ces techniques utilise des torches. Pour cela,pour chaque lettre du message, il suffit d’allumer un nombre de torche à gauche qui correspond à un numéro de ligne, et d’allumer un nombre de torche à droite qui correspond à un numéro de colonne dans le carré de Polybe. Cette technique est pratique si l’on veut envoyer des messages la nuit à petite ou moyenne distance.

Torche.gif

Technique des drapeaux

La deuxième méthode utilise des drapeaux. Pour cela, nous avons besoin de n drapeaux de couleurs différentes représentant les chiffres de 1 à , sachant que représente l’ordre notre matrice carré. Pour chaque lettre du message, il nous suffit de placer à gauche le drapeau de couleur qui correspond au numéro de ligne et à droite, le drapeau du numéro de colonne.

Flags.gif

Technique des sons

La dernière technique utilise les sons. Elle est très apprécie des détenus et des prisonniers de guerre. Le principe est simple; il suffit de donner des coups sur les murs ou les tuyaux par exemple. La première série de coups pour le numéro de la ligne et la seconde pour le numéro de la colonne suivi d’un silence.

Ils s’en sont inspirés...

Il faut savoir que le carré de Polybe a inspiré d’autres méthodes de chiffrements :

  • Le chiffre bifide de Delastelle inventé par le français Félix-Marie Delastelle (1840-1902)
  • Le chiffre ADFGVX qui a été utilisé pendant la Grande Guerre par l’Empire Allemand. C’est une amélioration du chiffre ADFGX inventé par le colonel allemand Fritz Nebel.
  • Le chiffre des Nihilistes qui est la méthode de chiffrement utilisée par les sympathisants du nihilisme russes, un mouvement intellectuel, philosophique, politique, littéraire et journalistique de gauche russe du 17eme siècle, dans les prisons de l’Empire Russe. Il faut noter qu’ils utilisaient la techniques des sons pour s’échanger les messages.