Chiffre ADFGX
Utilisez le chiffre ADFGX de la Première Guerre mondiale, qui change chaque lettre en une paire des étiquettes A, D, F, G et X puis mélange les colonnes : avec les clés NAVAL et CARGO, ATTACKATONCE donne DAFFAAXFXDXDDAFGAGAGDAXD. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Exemple résolu
- Texte
- ATTACKATONCE
- Clé du carré
- NAVAL
- Key
- CARGO
- Mode de calcul
- Encrypt
- Résultat
- DAFFAAXFXDXDDAFGAGAGDAXD
- Longueur
- 24
- Lettres associées
- 12
- Longueur fractionnée
- 24
Cet outil de chiffre ADFGX chiffre ou déchiffre un texte selon le schéma classique allemand de la Première Guerre mondiale, qui combine un carré de Polybe 5×5 à clé et une transposition colonnaire en seconde étape. À l’encryptage, chaque lettre latine devient un digramme des labels A, D, F, G et X ; ces symboles sont ensuite réordonnés sous le mot de transposition. Le déchiffrement annule d’abord l’ordre des colonnes puis ramène les digrammes par le même carré, de sorte qu’une paire de clés connue restaure les lettres d’origine. I et J partagent une case, les non-lettres sont ignorées à l’encryptage et seuls les symboles ADFGX sont lus au déchiffrement, conformément aux manuels et aux CTF.
Ce qu’est le chiffre ADFGX et ce que renvoie cet outil
ADFGX est un chiffre de campagne classique qui fractionne chaque lettre via un carré de Polybe 5×5 dont les lignes et colonnes portent les lettres favorables au Morse A, D, F, G et X au lieu des chiffres de un à cinq. Le carré est à clé : les lettres uniques du mot du carré sont écrites d’abord dans l’ordre d’apparition, puis le reste de l’alphabet complète la grille, I et J étant forcés dans une seule case partagée afin que vingt-cinq emplacements couvrent A–Z.
L’encryptage remplace chaque lettre latine par le digramme à deux labels de sa ligne et de sa colonne, produisant un flux fait uniquement de symboles ADFGX dont la longueur est le double du nombre de lettres. Ce flux est ensuite écrit ligne par ligne dans une grille dont la largeur égale la longueur de la clé de transposition, puis lu colonne par colonne dans l’ordre obtenu en triant les caractères de la clé, les égalités étant tranchées par l’index de gauche à droite lorsque des lettres se répètent.
Le déchiffrement inverse la disposition avec les mêmes hauteurs de colonnes dérivées de la longueur totale et de la largeur de clé, regroupe le flux de digrammes récupéré et cherche chaque paire dans le carré. Cette page applique toujours ce contrat fixe et ne bascule jamais en silence vers ADFGVX, Bifide, Polybe pur ou un chiffre de seule transposition.
Où l'ADFGX sert en cours et en énigmes
Développeurs et enseignants rencontrent le chiffre ADFGX dans les échauffements capture-the-flag, les chapitres de manuels sur la cryptographie de campagne de la Première Guerre mondiale et les démos qui montrent pourquoi le fractionnement plus la transposition ont relevé la barre face à la simple substitution, même si le schéma n’est pas sûr face à la cryptanalyse moderne. Les équipes frontend peuvent brouiller des phrases d’exemple pour des captures d’écran sans inventer un alphabet sur mesure, puis les récupérer en decrypt sous les mêmes clés de carré et de transposition.
Les ingénieurs qualité génèrent des paires déterministes de chiffrement et de déchiffrement pour des tests de contrat, afin qu’un middleware prétendant prendre en charge ADFGX ne bascule pas en silence vers un fractionnement Bifide, n’omette l’étape de transposition ou n’impose des labels numériques au lieu de A D F G X. Les organisateurs de concours précalculent des clés de réponse pour des phrases anglaises modestes sans se fier à des jouets web opaques qui forcent une sortie en majuscules seules ou insèrent un remplissage que vous n’avez pas demandé.
Les outils produit et éducation utilisent la transformation lorsqu’un apprenant colle un chiffré et que l’interface doit afficher le clair récupéré sous les mots documentés. Associez-le à d’autres aides d’encodage classiques pour constituer un petit laboratoire d’outils texte gratuits et déterministes, et ne traitez jamais ADFGX comme un substitut au chiffrement authentifié moderne tel qu’AES-GCM pour de vrais secrets.
Cas d’usage
Pratique CTF et chiffres classiques
Chiffrez et déchiffrez des messages ADFGX avec mots de carré et de transposition pour puzzles, salles de classe et échauffements capture-the-flag.
Leçons d’histoire de la cryptographie
Montrez le fractionnement ADFGX de la WWI avec labels A/D/F/G/X, fusion I/J et transposition colonnaire sans remplissage forcé.
Questions fréquentes
Combien coûte l’outil de chiffre ADFGX ?
Il est gratuit dans votre navigateur sur cette page.
Comment déchiffrer un texte ADFGX ?
L’encryptage est la valeur par défaut si mode est omis.
En quoi l’ADFGX diffère-t-il du Polybe simple ou de la transposition colonnaire ?
ADFGX fractionne les lettres en digrammes A/D/F/G/X avec un carré à clé, puis applique une transposition colonnaire avec un second mot. Le Polybe simple s’arrête aux paires de chiffres (ou labels) ; la colonnaire seule ne fait que réordonner les caractères sans fractionnement.
L’ADFGX est-il sûr pour de vrais secrets ?
Non. C’est un chiffre classique d’enseignement de la Première Guerre mondiale. Utilisez un chiffrement authentifié moderne tel qu’AES-GCM pour une vraie confidentialité.
Pourquoi I et J partagent-ils une case dans le carré ADFGX ?
Parce qu'un carré de 5×5 n'offre que vingt-cinq cases pour vingt-six lettres. I et J sont placés dans la même case pour que la grille couvre tout l'alphabet : un J chiffré revient donc sous la forme d'un I au déchiffrement.
Outils associés
Pour les développeurs — accès API
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.
Endpoint
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é.
Appeler depuis votre stack
curl -X POST https://api.kit.forhosting.com/enc/adfgx \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"ATTACKATONCE","square_key":"NAVAL","key":"CARGO"}'const res = await fetch("https://api.kit.forhosting.com/enc/adfgx", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "ATTACKATONCE",
"square_key": "NAVAL",
"key": "CARGO"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/adfgx",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "ATTACKATONCE",
"square_key": "NAVAL",
"key": "CARGO"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/adfgx", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"ATTACKATONCE","square_key":"NAVAL","key":"CARGO"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"ATTACKATONCE","square_key":"NAVAL","key":"CARGO"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/adfgx", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemple de requête
{
"text": "ATTACKATONCE",
"square_key": "NAVAL",
"key": "CARGO"
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.adfgx",
"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.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |
Notes techniques
Vous fournissez un message, un mot-clé de carré qui remplit la grille de Polybe, une clé de transposition qui ordonne les colonnes et un mode optionnel. Utilisez-le gratuitement dans le navigateur pour des leçons d’histoire de la cryptographie, la conception de puzzles et des démos de labo réversibles, ou appelez l’API à $0.002 par requête réussie lorsque vos pipelines exigent des transformations ADFGX reproductibles sans réimplémenter le fractionnement et le remplissage de grille.
Ce qu’est le chiffre ADFGX et ce que renvoie cet outil
La réponse JSON inclut result pour le chiffré ou le clair récupéré, mode à encrypt ou decrypt, square_key et key qui reprennent les mots que vous avez fournis, letters_mapped et fractionated_length pour l’étape des digrammes, key_length et column_order pour la transposition, alphabet comme le remplissage de vingt-cinq lettres du carré, labels fixé à ADFGX, cipher fixé à adfgx, et une chaîne formula qui reformule le contrat en deux étapes pour la documentation et les tests. Il n’y a ni chemin de streaming ni repli silencieux vers Vigenère ou AES moderne : soit vous fournissez le texte et les deux clés selon les règles documentées, soit la requête échoue avec invalid_input. Si vous n’avez besoin que d’une carte de chiffres Polybe, d’un simple réordonnancement colonnaire ou d’un chiffrement authentifié moderne, utilisez ces endpoints dédiés ; cette landing répond au flux ADFGX combiné que les chapitres d’histoire de la crypto et les échauffements CTF décrivent déjà.
Comment text, square_key, key et mode sont lus et pourquoi le résultat reste reproductible
Les champs préférés du payload sont text pour le message, square_key pour le mot Polybe, key pour le mot de transposition et mode optionnel pour chiffrer ou déchiffrer. Text accepte des alias tels que input, value, s, message, plaintext et ciphertext afin que formulaires et clients SDK réutilisent des noms de colonnes sans renommer chaque appel. Square_key accepte square_keyword, polybius_key et square ; il doit contenir au moins une lettre latine après normalisation de casse, sinon le moteur lève invalid_input avec un message clair de square_key vide. Key accepte transposition_key, keyword, k, password et passphrase ; la chaîne non vide entière définit les colonnes, y compris chiffres et symboles si vous les incluez, car l’ordre utilise une comparaison de caractères avec lettres latines triées sans tenir compte de la casse et des égalités stables par index gauche en cas de répétition. Une clé de transposition vide est rejetée avec invalid_input. Mode vaut encrypt par défaut et accepte aussi des alias courts comme enc, encode, e pour chiffrer et dec, decode, d pour déchiffrer ; toute autre chaîne échoue à la validation. Texte manquant, clés manquantes, types non chaîne, clair sans lettres à l’encryptage, chiffré sans symboles ADFGX et flux de digrammes de longueur impaire après annulation de la transposition lèvent invalid_input afin qu’un formulaire vide ne ressemble pas à un no-op réussi. L’ordre des colonnes est calculé une seule fois à partir de la clé de transposition, et la même formule de hauteurs sert à l’encryptage et au déchiffrement, de sorte qu’un aller-retour restaure toujours les lettres d’origine pour tout message contenant des lettres latines sous ces deux mots-clés. Associez l’exécution gratuite dans le navigateur de cette page à l’API tarifée lorsque vous avez besoin de la même transformation ADFGX dans un pipeline automatisé sans réimplémenter le fractionnement en digrammes. Les entrées invalides renvoient invalid_input et ne sont pas facturées, ce qui garde la validation peu coûteuse tandis que les transformations réussies restent un prix fixe par item de $0.002.
Où l’ADFGX s’inscrit dans les cours, puzzles et fixtures de test
Les services backend encodent de courtes chaînes de défi pour des API de puzzles ou des sandboxes pédagogiques où les élèves doivent reconstruire le carré et la grille pour l’étape suivante. Sur cette page le travail s’exécute entièrement dans votre navigateur ; via l’API chaque consultation réussie coûte $0.002, l’échec de validation n’est pas facturé et rien n’est stocké après la réponse. Cette séparation — exploration interactive gratuite et API identique tarifée — s’aligne sur le reste du catalogue KIT de niveau A et vous permet de passer d’une démo de cours à un pipeline automatisé sans changer le chiffré.
Cas d'intégration
Fixtures CI déterministes
Générez des paires reproductibles de chiffré et de clair ADFGX pour tests unitaires, fichiers golden et contrôles de contrat.
Questions techniques
Que se passe-t-il si square_key est vide ?
La requête échoue avec invalid_input. Le mot-clé du carré de Polybe doit contenir au moins une lettre latine A–Z pour que le moteur remplisse une grille 5×5.