Outil pour chiffrer/déchiffrer le chiffre bifide. Le chiffre bifide de Delastelle utilise les coordonnées des lettres afin de les mélanger pour obtenir de nouvelles coordonnées. Ce procédé tomographique est décrit dans Le Traité élémentaire de cryptographie de Delastelle.
Chiffre de Delastelle - dCode
Catégorie(s) : Chiffrement Polygrammique
dCode est gratuit et ses outils sont une aide précieuse dans les jeux, les maths, les énigmes, les géocaches, et les problèmes à résoudre au quotidien !
Une suggestion ? un problème ? une idée ? Ecrire à dCode !
Outil pour chiffrer/déchiffrer le chiffre bifide. Le chiffre bifide de Delastelle utilise les coordonnées des lettres afin de les mélanger pour obtenir de nouvelles coordonnées. Ce procédé tomographique est décrit dans Le Traité élémentaire de cryptographie de Delastelle.
Le chiffrement Bifide nécessite une grille carrée (ou un mot clé pour générer la grille, souvent 5x5 ou 6x6) et (optionnellement) un nombre N qui servira de période/longueur de bloc (sinon N=1).
Exemple : Le message à chiffrer DCODE par la grille (générée avec le mot SECRET) :
\ | 1 | 2 | 3 | 4 | 5 |
---|---|---|---|---|---|
1 | S | E | C | R | T |
2 | A | B | D | F | G |
3 | H | I | K | L | M |
4 | N | O | P | Q | U |
5 | V | W | X | Y | Z |
Le chiffrement consiste d'abord à regrouper les lettres par blocs de taille N. Cette étape de découpage n'est pas obligatoire, mais simplifie le chiffrement/déchiffrement pour de longs textes.
Exemple : Avec des blocs de longueur N=3, DCODE se découpe DCO,DE (si le bloc n'est pas complet, cela ne pose pas de problème)
Pour un chiffrement sans découpe en blocs, considérer une taille de bloc de N=1 (ou une taille de bloc égale ou plus grande que le nombre de lettres dans le message à chiffrer)
Pour chaque lettre du bloc, noter les coordonnées des lettres (ligne, colonne) dans un tableau.
Exemple : Le premier bloc DCO. D=(2,3), C=(1,3), O=(4,2) s'écrit dans un tableau :
D | 2 | 3 |
C | 1 | 3 |
O | 4 | 2 |
Pour obtenir de nouvelles coordonnées, lire les nombres du tableau verticalement par colonnes.
Exemple : La lecture verticale donne 2,1,4,3,3,2 soit les coordonnées (2,1),(4,3),(3,2).
Remplacer les nouvelles coordonnées par les lettres correspondantes dans la grille.
Exemple : (2,1) pour A, (4,3) pour P et (3,2) pour I.
Ces étapes sont répétées pour chaque bloc.
Exemple : Le message chiffré final est APIAI
Le déchiffrement Bifide commence de manière identique au chiffrement.
Exemple : Le message DBAKS a été chiffré avec une période N=3 et la grille (5x5 générée avec le mot MESSAGE) :
\ | 1 | 2 | 3 | 4 | 5 |
---|---|---|---|---|---|
1 | M | E | S | A | G |
2 | B | C | D | F | H |
3 | I | K | L | N | O |
4 | P | Q | R | T | U |
5 | V | W | X | Y | Z |
Le message est découpé en période/bloc de taille N
Exemple : Le message est décomposé en bloc de 3 : DBA,KS
A chaque lettre est associée sa position dans la grille sous forme de coordonnées (ligne, colonne)
Exemple : Les lettres du bloc D,B,A ont pour coordonnées respectives (2,3),(2,1),(1,4).
Il s'agit cette fois d'écrire les coordonnées sur 2 lignes (et donc N colonnes, sauf éventuellement pour le dernier groupe)
Exemple :
2 | 3 | 2 |
1 | 1 | 4 |
Puis la lecture s'effectue verticalement par colonnes
Exemple : La lecture verticale donne 2,1,3,1,2,4 soit (2,1),(3,1),(2,4).
Les nouvelles coordonnées sont alors associées aux lettres correspondantes dans la grille.
Exemple : Les lettres claires sont (2,1)=B, (3,1)=I et (2,4)=F
Ces étapes sont répétées pour chaque bloc.
Exemple : Le message clair est BIFID.
Le message a un indice de coincidence faible autour de 0.04 à 0.05.
Si la grille est de 5x5 alors il ne peut avoir au plus que 25 caractères distincts.
Bifide signifie 'qui est coupé en deux dans le sens de la longueur' ce qui s'applique au chiffre de Delastelle : les coordonnées sont coupées en 2 lors des étapes de chiffrement et de déchiffrement.
Avec une période de 1, l'algorithme de chiffrement ou de déchiffrement est sans effet (car le principe d'écriture en colonne et de lecture en ligne ne produit pas d'effet de mélange)
Felix-Marie Delastelle, ingénieur en génie civil, a décrit de ce procédé en 1902.
dCode se réserve la propriété du code source de l'outil 'Chiffre de Delastelle' en ligne. Sauf code licence open source explicite (indiqué CC / Creative Commons / gratuit), tout algorithme, applet ou snippet (convertisseur, solveur, chiffrement / déchiffrement, encodage / décodage, encryptage / décryptage, traducteur) ou toute fonction (convertir, résoudre, décrypter / encrypter, déchiffrer / chiffrer, décoder / encoder, traduire) codé en langage informatique (PHP, Java, C#, Python, Javascript, Matlab, etc.) aucune donnée, script ou accès API ne sera cédé gratuitement, idem pour télécharger Chiffre de Delastelle pour un usage hors ligne, PC, tablette, appli iPhone ou Android !
Rendez-vous sur notre communauté Discord pour participer au forum d'entraide !