ForHosting KIT · Outils pour développeurs

Chaocipher

Chiffrez WELLDONEISBETTERTHANWELLSAID avec les disques de départ classiques de Byrne et vous obtenez OAHQHCNYNXTSZJRRHJBYHQKSOUJY : les deux alphabets se réordonnent après chaque lettre, si bien que chacune suit une correspondance différente. Les mêmes disques déchiffrent. Gratuit dans votre navigateur.

  • Gratuit
  • Fonctionne dans votre navigateur
  • Sans inscription
  • Vos données restent sur votre appareil
Utilisez-le depuis WebAPIE-mailTelegramApp bientôt
Si vous saisissez
Texte
WELLDONEISBETTERTHANWELLSAID
Gauche
HXUCZVAMDSLKPEFJRIGTWOBNYQ
Droite
PTLNBQDEOYSFAVZKGJRIHWXUMC
Mode de calcul
Encrypt
Vous obtenez
Résultat
OAHQHCNYNXTSZJRRHJBYHQKSOUJY
Entrée
WELLDONEISBETTERTHANWELLSAID
Normalisé
WELLDONEISBETTERTHANWELLSAID
Texte
OAHQHCNYNXTSZJRRHJBYHQKSOUJY

Le Chaocipher est la machine polyalphabétique classique inventée par John F. Byrne en 1918 et restée secrète pendant des décennies jusqu’à la publication complète de l’algorithme en 2010. Contrairement à une table fixe de César ou de Vigenère, il maintient deux alphabets circulaires — le disque gauche pour le texte chiffré et le droit pour le clair — et après chaque lettre les deux disques sont réordonnés par une permutation stricte zénith–nadir. Vous fournissez les alphabets de départ gauche et droit comme permutations complètes de 26 lettres A–Z, le texte à protéger ou à retrouver, et un mode encrypt ou decrypt. Le solveur localise chaque lettre sur un disque, lit la lettre alignée sur l’autre, puis fait tourner et glisser les deux alphabets pour que le mappage suivant soit complètement différent.

Comment fonctionnent les deux alphabets et les règles zénith–nadir

Le chiffrement Chaocipher traite l’alphabet droit comme disque de clair et le gauche comme disque de chiffré. Pour chaque lettre du clair vous la localisez dans l’alphabet droit courant et lisez la lettre du même index dans l’alphabet gauche ; c’est le symbole chiffré de cette étape. Immédiatement après, les deux alphabets sont permutés selon la procédure de zénith stationnaire du modèle de Byrne documentée par Moshe Rubin.

Sur le disque gauche la lettre chiffrée qui vient d’être utilisée est amenée au zénith (première position), la lettre en zénith plus un est extraite, le bloc de zénith plus deux jusqu’au nadir (position quatorze, index base zéro treize) se décale d’une place vers le zénith, et la lettre extraite est réinsérée au nadir.

Sur le disque droit la lettre du clair est amenée au zénith, tout l’alphabet tourne encore d’un cran pour que la lettre suivante soit au zénith, la lettre en zénith plus deux est extraite, le bloc de zénith plus trois jusqu’au nadir se décale à gauche et la lettre extraite tombe au nadir.

Le déchiffrement utilise la recherche inverse — trouvez la lettre chiffrée sur le disque gauche et lisez la lettre de même index à droite — puis applique exactement les deux mêmes permutations pour que l’état de la machine reste synchronisé.

Comme chaque étape dépend de la lettre précédente, un changement d’une seule lettre en début de message se propage dans les deux alphabets et détruit les longues plages de structure monoalphabétique, ce qui explique l’échec de l’analyse fréquentielle classique sur un long trafic Chaocipher lorsque les disques de départ sont inconnus.

Write-ups CTF et énigmes

Les auteurs de défis vérifient les étapes de chiffrement et déchiffrement Chaocipher pour des disques de départ publiés sans maintenir un script hors ligne séparé.

Qu’est-ce que le Chaocipher ?

Un chiffre polyalphabétique classique de John F. Byrne (1918). Deux alphabets alignent chaque lettre, puis les deux permutent après chaque caractère, de sorte que la substitution ne reste jamais fixe.

Que sont les alphabets gauche et droit ?

Le disque gauche fournit les lettres du chiffré ; le droit porte celles du clair. Chacun doit être une permutation complète de A–Z (26 lettres uniques). Ils constituent la clé secrète de la machine.

Que se passe-t-il si un alphabet est mal formé ?

Mauvaise longueur, lettres en double, symboles A–Z manquants ou caractères non alphabétiques dans la chaîne du disque sont rejetés avec un message clair.

Le Chaocipher est-il gratuit ?

L’outil navigateur est gratuit et s’exécute en local.

Que deviennent les espaces, la ponctuation et les minuscules ?

Le texte est mis en majuscules de A à Z, et les espaces et signes sont retirés avant le chiffrement. Un texte sans aucune lettre est refusé, puisqu'il n'y aurait rien à traiter.

Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.

POSThttps://api.kit.forhosting.com/enc/chaocipher

Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.

curl -X POST https://api.kit.forhosting.com/enc/chaocipher \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text":"WELLDONEISBETTERTHANWELLSAID","left":"HXUCZVAMDSLKPEFJRIGTWOBNYQ","right":"PTLNBQDEOYSFAVZKGJRIHWXUMC"}'
{
  "text": "WELLDONEISBETTERTHANWELLSAID",
  "left": "HXUCZVAMDSLKPEFJRIGTWOBNYQ",
  "right": "PTLNBQDEOYSFAVZKGJRIHWXUMC"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "enc.chaocipher",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.

par requête$0.002

Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.

HTTPCodeSignification
401unauthorizedClé API absente ou invalide : vérifiez l’en-tête Authorization.
402insufficient_balanceSolde insuffisant : rechargez votre compte pour lancer cette tâche.
404unknown_typeType de tâche inconnu : vérifiez le champ type de votre requête.
429rate_limitedTrop de requêtes : ralentissez la cadence, puis réessayez.

Les alphabets mal formés — mauvaise longueur, lettres en double, symboles A–Z manquants ou déchets non alphabétiques — sont rejetés avec une erreur invalid_input claire au lieu de produire silencieusement du non-sens. Le chemin est une arithmétique de lettres purement déterministe, sans appels réseau, sans graines aléatoires et sans dépendance à l’horloge, de sorte que l’exécuteur gratuit du navigateur et l’API prépayée renvoient le même JSON à chaque fois pour les ateliers, les write-ups CTF ou les démos historiques de crypto.

Comment appeler l’API et ce qu’elle renvoie

Le text est normalisé en A–Z majuscules uniquement ; espaces et ponctuation sont retirés, et une charge sans lettres est rejetée. Envoyez un corps JSON avec trois champs chaîne obligatoires — text, left et right — plus un mode optionnel qui vaut encrypt par défaut s’il est omis. Les alias acceptés pour text comprennent input, value, data, message, plaintext et ciphertext ; left accepte aussi left_alphabet, left_disk, ct_alphabet et cipher_alphabet ; right accepte right_alphabet, right_disk, pt_alphabet et plain_alphabet ; mode accepte operation, op, direction et action, et reconnaît des synonymes courants comme encode ou decode. Les deux alphabets doivent être exactement vingt-six lettres A–Z uniques après ignore des séparateurs optionnels ; une chaîne trop courte, une suite de doublons, une lettre manquante ou un chiffre dans la chaîne du disque est invalid_input et n’est jamais facturé. En cas de succès la réponse répète le text d’origine et les alphabets left et right de départ, indique mode comme encrypt ou decrypt, normalized comme le flux lettres seules traité, result et text comme le chiffré ou les lettres retrouvées, length comme le nombre de caractères de sortie, left_final et right_final comme les alphabets après la dernière permutation, formula comme une courte mnémonique de règles et message comme un résumé d’une ligne en anglais. Le tarif est un $0.002 forfaitaire par requête réussie avec unité item.

Conseils pratiques, limites et recherches associées

Utilisez des alphabets de départ bien mélangés plutôt que des chaînes A–Z quasi séquentielles afin que les premières permutations ne laissent pas de longues plages alphabétiques près du zénith. Cette page vise qui cherche Chaocipher, chiffre de Byrne ou outils d’alphabets duals évolutifs en ligne ; ce n’est pas AES, pas un coffre de mots de passe, pas Playfair et pas un simple César. Préférez cette capacité pour une substitution dynamique classique transparente en pédagogie ou en puzzles ; pour un secret réel, utilisez un chiffrement authentifié moderne. La paire d’exposition classique left HXUCZVAMDSLKPEFJRIGTWOBNYQ et right PTLNBQDEOYSFAVZKGJRIHWXUMC avec le clair WELLDONEISBETTERTHANWELLSAID est l’autocontrôle standard : le chiffrement doit donner OAHQHCNYNXTSZJRRHJBYHQKSOUJY, et le déchiffrement de ce flux avec les mêmes disques de départ doit retrouver la phrase d’origine. Les contrôles aller-retour sont le meilleur test de cohérence quand vous inventez de nouveaux disques — chiffrez puis déchiffrez avec les chaînes left et right d’origine, jamais avec les alphabets finaux d’une exécution précédente. Gardez les charges sous le maximum publié de cent mille caractères pour borner la mémoire du Worker. En enseignement, associez trois exemples : une phrase courte avec les alphabets de l’exposition Byrne, un déchiffrement d’un chiffré publié, et un alphabet délibérément mal formé pour montrer la voie dure invalid_input. Les tâches en échec qui renvoient invalid_input ne consomment pas le solde prépayé, ce qui garde les scripts exploratoires peu coûteux lorsque les clients testent des alphabets cassés.

Ateliers de chiffre classique en classe

Les élèves fixent à la main les alphabets de l’exposition Byrne, chiffrent une courte devise, puis comparent le flux de lettres et les disques finaux au résultat déterministe de l’API.

Démos de crypto historique

Musées et blogs montrent en direct comment des alphabets duals évolutifs diffèrent des chiffres monoalphabétiques fixes en chiffrant des phrases de visiteurs avec des disques left et right partagés.

Comment le déchiffrement reste-t-il synchronisé ?

Le déchiffrement localise la lettre chiffrée sur le disque gauche et lit la lettre de même index à droite, puis applique les mêmes permutations left et right utilisées au chiffrement.

Consulter la documentation complète du KIT →