Outils pour décoder/encoder Rail Fence, chiffrement utilisant l'écriture en zig-zag, mode de déchiffrement par brute-force automatique.
Chiffre Rail Fence (Zig-Zag) - dCode
Catégorie(s) : Chiffrement par Transposition
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 chiffrement Rail Fence (ou zig-zag) est un chiffre de transposition consistant à écrire un texte en suivant un motif de vague sur plusieurs lignes et à le lire ligne par ligne pour obtenir le message chiffré.
Le chiffrement Rail Fence suit ces étapes :
— Définir un nombre de niveaux N (ou rangées ou étages), ce nombre est parfois appelé la clé du chiffrement.
— Écrire le message en suivant un motif en dent de scie (alternance de montée et descente) le long d'un chemin à N niveaux/étages.
Exemple : Coder DCODEZIGZAG avec N=3 :
D---E---Z-- |
-C-D-Z-G-A- |
--O---I---G |
— Lire le message ligne par ligne pour obtenir le texte chiffré.
Exemple : Le message chiffré est DEZCDZGAOIG
Le déchiffrement Rail Fence nécessite de connaitre le nombre de niveaux N, et se décompose en 3 étapes :
Exemple : Déchiffrer le message DEZCDZGAOIG et N=3
— Reconstituer le motif de zig-zag avec le nombre de niveaux attendu.
Exemple :
X---X---X-- |
-X-X-X-X-X- |
--X---X---X |
— Inscrire les lettres chiffrées dans le motif, ligne par ligne.
Exemple :
D---E---Z-- |
-C-D-Z-G-A- |
--O---I---G |
— Lire les lettres suivant le chemin du zig-zag pour reconstruire le message original.
Exemple : Le message clair est DCODEZIGZAG.
Un message chiffré par Rail-Fence a un indice de coincidence égal à celui de la langue du texte original.
Une analyse de fréquences révèle des occurrences de lettres similaires à celle d'un texte clair.
Toutes mentions de zig-zag, de dents de scie, de hauts et bas, montée et descente, de palissade, de chemin/circuit/route, de vague, etc. sont des indices.
Tout ce qui a la forme de bosses peut également être un indice : chameau, ralentisseur/dos-d'ane, etc.
Le mot rail peut être la cible de jeux de mots à propos de trains, de voie de chemin de fer, de cocaine/coke, etc.
Si le nombre de niveaux est inconnu, plusieurs approches existent :
— Brute-force automatique : Tester différents niveaux et chercher un texte lisible (dCode applique cette méthode).
— Détection manuelle : Essayer de trouver des mots possibles en utilisant les lettres du texte et en déduire la clé.
Il existe plusieurs variations :
— Le motif de palissade peut commencer par un pic ou par un creux (vers le haut ou vers le bas).
Exemple : (↘↗ creux)
A---E
-B-D-
--C--
Exemple : (↗↘ pic)
--C--
-B-D-
A---E
— La première lettre n'est pas forcément la base du pic ou du creux, le zig zag peut commencer au milieu avec un décalage (cela revient à ajouter des espaces au début)
Exemple : (décalage de +1)
----D-
-A-C-E
--B---
— Il est possible d'autoriser les espaces et la ponctuation, ce qui décale les caractères.
— Il est possible de chiffrer un message en appliquant les étapes de déchiffrement. dCode note cette variante avec le symbole ⁻¹.
Si la valeur du nombre de niveaux est supérieure ou égale à la taille du texte, alors le texte ne subit aucun chiffrement (pas de changement).
Rail Fence est le nom original, ZigZag est le nom mnémotechnique correspondant.
Parfois Zig-Zag est le nom donné à une méthode de lecture. Le message est caché dans une grille écrite comme avec Rail Fence, mais les emplacements vides de la grille sont ensuite remplis par des lettres neutres.
Exemple : (Lecture en zig zag de ABCDE)
AxyzE
xByDz
wxCyz
Rail-Fence est une transposition basique, aucune date ni aucun créateur n'est reconnu.
dCode se réserve la propriété du code source pour "Chiffre Rail Fence (Zig-Zag)". Tout algorithme pour "Chiffre Rail Fence (Zig-Zag)", applet ou snippet ou script (convertisseur, solveur, chiffrement / déchiffrement, encodage / décodage, encryptage / décryptage, traducteur) ou toutes fonctions liées à "Chiffre Rail Fence (Zig-Zag)" (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 toute base de données, ou accès API à "Chiffre Rail Fence (Zig-Zag)" ou tout autre élément ne sont pas publics (sauf licence open source explicite type Creative Commons). Idem avec le téléchargement pour un usage hors ligne sur PC, mobile, tablette, appli iPhone ou Android.
Rappel : dCode est une ressource éducative et pédagogique, accessible en ligne gratuitement et pour tous.
Le contenu de la page "Chiffre Rail Fence (Zig-Zag)" ainsi que ses résultats peuvent être copiés et réutilisés librement, y compris à des fins commerciales, à condition de mentionner dCode.fr comme source.
L'export des résultats est gratuit et se fait simplement en cliquant sur les icônes d'export ⤓ (format .csv ou .txt) ou ⧉ copier-coller.
Pour citer dCode.fr sur un autre site Internet, utiliser le lien :
Dans un article scientifique ou un livre, la citation bibliographique recommandée est : Chiffre Rail Fence (Zig-Zag) sur dCode.fr [site web en ligne], consulté le 17/04/2025,