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". Sauf code licence open source explicite (indiqué Creative Commons / gratuit), l'algorithme pour "Chiffre Chaocipher", l'applet ou snippet (convertisseur, solveur, chiffrement / déchiffrement, encodage / décodage, encryptage / décryptage, traducteur) ou les 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 les données, en téléchargement, script, ou les accès API à "Chiffre Chaocipher" 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 Chaocipher" 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 Chaocipher sur dCode.fr [site web en ligne], consulté le 05/10/2024,