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.
Chiffre de Delastelle - dCode
Catégorie(s) : Chiffrement Polygrammique, GRID_CIPHER
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 ? Écrire à dCode !
Le chiffre bifide est un chiffrement combinant une substitution avec un carré de Polybe et une transposition, il est décrit dans le Traité Élémentaire de Cryptographie de Felix 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 : Chiffrer le message DCODE avec 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 |
— Choisir une taille de bloc N et regrouper les lettres par blocs de taille N.
Exemple : Avec des blocs de longueur N=3, DCODE se découpe DCO,DE (inutile de compléter le bloc si le dernier n'est pas de longueur N)
Cette étape de découpage n'est pas obligatoire, mais simplifie le chiffrement/déchiffrement pour de longs textes. 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 ce procédé en 1902.
dCode se réserve la propriété du code source pour "Chiffre de Delastelle". Sauf code licence open source explicite (indiqué Creative Commons / gratuit), l'algorithme pour "Chiffre de Delastelle", l'applet ou snippet (convertisseur, solveur, chiffrement / déchiffrement, encodage / décodage, encryptage / décryptage, traducteur) ou les fonctions liées à "Chiffre de Delastelle" (calculer, convertir, résoudre, décrypter / encrypter, déchiffrer / chiffrer, décoder / encoder, traduire) codés en langage informatique (Python, Java, C#, PHP, Javascript, Matlab, etc.) ou les données, en téléchargement, script, ou les accès API à "Chiffre de Delastelle" ne sont pas publics, idem pour un usage hors ligne, PC, mobile, tablette, appli iPhone ou Android !
Rappel : dCode est gratuit.
Le copier-coller de la page "Chiffre de Delastelle" ou de ses résultats est autorisée (même pour un usage commercial) tant que vous créditez dCode !
L'exportation des résultats sous forme de fichier .csv ou .txt est gratuite en cliquant sur l'icone export
Citer comme source bibliographique :
Chiffre de Delastelle sur dCode.fr [site web en ligne], consulté le 04/12/2024,