Outil pour décoder/encoder avec Chaocipher, un algorithme de chiffrement polyalphabétique utilisant 2 disques alphabet évoluant à chaque étape.
Chiffre Chaocipher - dCode
Catégorie(s) : Chiffre Poly-Alphabétique
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 Chaocipher utilise 2 disques rotatifs sur lequel est inscrit un alphabet modifiable (originellement les 26 lettres de A à Z dans un alphabet désordonné).
Les disques sont identiques et reliés par un engrenage (ratio 1:1), si bien que si l'un tourne dans le sens des aiguilles d'une montre alors l'autre tourne dans la direction opposée.
Exemple : Chiffrer le message DCODE avec les 2 disques suivants :
CHAOBDEFGIJKLMNPQRSTUVWXYZ pour le disque GAUCHE (texte chiffré) et
CIPHERABDFGJKLMNOQSTUVWXYZ pour le disque DROITE (texte clair).
La position 1 dans chaque alphabet disque est appelée zenith et la position opposée sur le disque, ici 14, est appelée nadir.
Le chiffrement de chaque lettre passe par 3 étapes :
Première étape : lire la lettre chiffrée correspondant à la lettre clair (au point d'intersection des disques)
Exemple : La lettre du texte clair D est en face de la lettre chiffrée G.
Deuxième étape : réaliser une permutation spéciale du disque de GAUCHE. Cette opération est composée de 4 actions :
1. Réaliser une rotation de l'alphabet de manière à positionner la lettre chiffrée au zénith (position 1)
Exemple : L'alphabet devient GIJKLMNPQRSTUVWXYZCHAOBDEF
2. Extraire la lettre se trouvant en position zenith+1 (à la droite du zénith) et laisser l'emplacement vide
Exemple : Extraction de I.
L'alphabet devient G.JKLMNPQRSTUVWXYZCHAOBDEF
3. Décaler toutes les lettres à partir de la position zenith+2 jusqu'à nadir (zenith+13) inclus en les décalant vers la gauche
Exemple : L'alphabet devient GJKLMNPQRSTUV.WXYZCHAOBDEF
4. Insérer la lettre extraite à l'étape 2 à l'emplacement vide qui se trouve maintenant en position nadir (zenith+13)
Exemple : L'alphabet devient GJKLMNPQRSTUVIWXYZCHAOBDEF
Troisième étape : réaliser une permutation spéciale du disque de DROITE. Cette opération est composée de 4 actions :
1. Réaliser une rotation de l'alphabet de manière à positionner la lettre immédiatement à droite de la lettre claire au zénith (la lettre claire est en position zenith-1).
Exemple : L'alphabet devient FGJKLMNOQSTUVWXYZCIPHERABD
2. Extraire la lettre se trouvant en position zenith+2 et laisser l'emplacement vide.
Exemple : Extraction de J.
L'alphabet devient FG.KLMNOQSTUVWXYZCIPHERABD
3. Décaler toutes les lettres à partir de la position zenith+3 jusqu'à nadir (zenith+13) inclus en les décalant vers la gauche
Exemple : L'alphabet devient FGKLMNOQSTUVW.XYZCIPHERABD
4. Insérer la lettre extraite à l'étape 3 à l'emplacement vide qui se trouve maintenant en position nadir (zenith+13).
Exemple : L'alphabet devient FGKLMNOQSTUVWJXYZCIPHERABD
A l'issue de toutes ces étapes, le résultat est le message chiffré.
Exemple : Le message est GZNDZ
Le déchiffrement est identique au chiffrement avec ses 3 étapes. Cependant faire attention à cette fois lire la lettre claire sur le disque DROITE correspondant à la lettre chiffrée sur le disque de GAUCHE.
Le message a un indice de coincidence faible, il est difficilement reconnaissable.
C'est malheureusement presque impossible. Si l'ordre des disques initial a été défini avec un alphabet désordonné, il est possible de tenter des mots clés.
Il est possible de changer la taille de l'alphabet ou de définir de nouvelles positions pour les permutations des alphabets.
Ce chiffrement a été inventé par John F. Byrne en 1918. Il est décrit dans son livre Silent Years ici (lien affilié)
dCode se réserve la propriété du code source pour "Chiffre Chaocipher". Tout algorithme pour "Chiffre Chaocipher", applet ou snippet ou script (convertisseur, solveur, chiffrement / déchiffrement, encodage / décodage, encryptage / décryptage, traducteur) ou toutes fonctions liées à "Chiffre Chaocipher" (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 Chaocipher" 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 Chaocipher" 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 Chaocipher sur dCode.fr [site web en ligne], consulté le 16/04/2025,