Chiffre ADFGVX

Le chiffre ADFGVX combine un chiffrement par substitution inspiré du carré de Polybe et une transposition.

Histoire :

Ce système de chiffrement fut inventé par le colonel allemand Fritz Nebel et utilisé par les allemands à partir du 5 mars 1918. Cependant, il fut cassé par le lieutenant français Georges Painvin début juin 1918.

Le carré est composé de 6 lettres qui correspondent à celles de son nom : « ADFGVX ». Ce qui fait 6 × 6 = 36 lettres au total : les 26 lettres de l’alphabet ainsi que les 10 chiffres.

Ces lettres furent utilisées en raison de leurs codes morse très variés afin d’éviter les erreurs de transmission radio.

Le chiffrement se fait en deux étapes :

  • Le chiffrement par substitution avec le carré
  • La transposition du message obtenu précédemment avec une clé privée constituée d’au maximum 1 fois chaque caractère de l’alphabet

Chiffrement et déchiffrement :

Tout d’abord, on dispose les lettres de l’alphabet et les chiffres dans un carré aléatoirement :

  • A D F G V X
    A c 1 o f w j
    D y m t 5 b 4
    F i 7 a 2 8 s
    G p 3 0 q h x
    V k e u l 6 d
    X v r g z n 9
  • Nous remplaçons chaque caractère de notre message par le couple de lettres qui lui correspond dans le tableau ci-dessus (exemple « o » deviendra « AF »). Si je prends le message « PLOPA » cela deviendra « GAVGAFGAFF ».
  • Ensuite, nous plaçons notre chaîne obtenue dans un quadrillage constitué d’autant de colonnes que le nombre des lettres que notre clé privée. Dans l’exemple cela sera la clé « BETA », les cases restantes seront complétées par des « 0 » chiffrés avec le carré ci-dessus (« 0 » -> « GF »)
    B E T A
    G A V G
    A F G A
    F F G F
  • Nous allons ensuite transposer notre clé (et donc les colonnes) avec l’ordre alphabétique de la clé. « BETA » deviendra donc « ABET ». Notre quadrillage deviendra donc :
    A B E T
    G G A V
    A A F G
    F F F G
  • Nous remplaçons ensuite dans l’ordre des lignes les caractères : « GGAVAAFGFFFG »
  • Le récepteur n’aura donc besoin que de la table aléatoire, du mot-clé et du message chiffré pour inverser le processus en inversant la transposition en fonction de la clé puis la substitution avec le carré.

Cryptanalyse :

L’attaque va tester toutes les transpositions des colonnes et calculer l’indice de coïncidence non pas des lettres mais des groupes de 2 lettres. Si celui-ci s’approche du français nous pouvons alors essayer une analyse de fréquence avec toujours ces groupes de 2 caractères formant une lettre.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.