Encodeur et décodeur du chiffre des quatre carrés
Chiffrez des paires de lettres avec le chiffre des quatre carrés de Delastelle et deux mots-clés : HELPME avec les clés EXAMPLE et KEYWORD devient FYNFNE, et les mêmes clés le ramènent au clair. Espaces et ponctuation sont retirés, et le J compte comme I. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Exemple résolu
- Texte
- HELPME
- Clé1
- EXAMPLE
- Clé2
- KEYWORD
- Mode de calcul
- encrypt
- Résultat
- FYNFNE
- Encodage
- four_square
- Lettres clé1
- EXAMPLE
- Lettres clé2
- KEYWORD
Cet outil de chiffre des quatre carrés chiffre ou déchiffre du texte avec la substitution classique de digrammes inventée par Félix Delastelle. Deux mots-clés remplissent les carrés 5×5 supérieur-droit et inférieur-gauche tandis que les carrés supérieur-gauche et inférieur-droit contiennent un alphabet fixe à vingt-cinq lettres où J est associé à I. Le texte en clair est traité par paires de lettres : la première lettre de chaque digramme est localisée dans le carré supérieur-gauche et la seconde dans le carré inférieur-droit ; les lettres du texte chiffré sont lues dans les carrés à clé à la ligne et à la colonne complémentaires, si bien que la correspondance dépend des deux mots-clés à la fois plutôt que d'un simple flux répétitif. Les caractères non alphabétiques sont retirés avant l'appariement, un nombre de lettres impair est complété par X, et le résultat est renvoyé sous forme de lettres majuscules continues avec les quatre carrés aplatis pour inspection.
Ce qu'est le chiffre des quatre carrés et ce que renvoie cet outil
Le chiffre des quatre carrés est une substitution de digrammes sur un alphabet latin à vingt-cinq lettres organisé en quatre carrés de Polybe. Les carrés supérieur-gauche et inférieur-droit utilisent le même ordre en clair avec J combiné à I afin que chaque lettre ait une cellule unique. Le carré supérieur-droit est d'abord rempli avec les lettres uniques du premier mot-clé puis avec le reste de l'alphabet ; le carré inférieur-gauche est rempli de la même façon à partir du second mot-clé.
Le chiffrement prend une paire de lettres en clair, trouve la première dans le carré supérieur-gauche et la seconde dans le carré inférieur-droit, puis émet la lettre à la ligne de la première lettre et à la colonne de la seconde dans le carré supérieur-droit, suivie de la lettre à la ligne de la seconde lettre et à la colonne de la première dans le carré inférieur-gauche.
Le déchiffrement inverse ces recherches en lisant les digrammes du texte chiffré dans les carrés à clé et en récupérant le texte en clair depuis les carrés en clair, si bien que chiffrer puis déchiffrer avec les mêmes mots-clés restaure le flux de lettres normalisé, y compris tout remplissage X ajouté pour un compte impair. Cette page utilise toujours cette règle de manuel sans tables d'alphabet facultatives qui pourraient diverger entre les locales.
Si vous avez besoin d'AES, de Vigenère, de transposition en colonnes, ou de morse, utilisez ces points de terminaison dédiés ; cette page ne répond qu'au contrat classique de digramme des quatre carrés que les chapitres d'histoire de la cryptographie et les échauffements CTF décrivent déjà.
Le chiffre des quatre carrés en cours et en énigmes
Développeurs et enseignants rencontrent le chiffre des quatre carrés dans des échauffements de capture-the-flag, des chapitres de manuels sur la cryptologie classique de digrammes, et des démonstrations légères qui montrent comment deux carrés de mots-clés indépendants renforcent une simple substitution par paire au-delà d'une seule table Playfair. Les équipes frontend peuvent brouiller des phrases d'exemple pour des captures d'écran sans inventer d'alphabet personnalisé, puis les récupérer avec le déchiffrement sous les mêmes clés.
Les ingénieurs qualité génèrent des paires de chiffrement et de déchiffrement déterministes pour des tests de contrat afin qu'un middleware qui prétend prendre en charge les quatre carrés ne puisse pas basculer silencieusement vers une correspondance monoalphabétique. Les organisateurs de concours précalculent des corrigés pour des phrases anglaises modestes sans faire confiance à des jouets web opaques qui changent les règles de remplissage ou omettent la convention J-vers-I.
Les outils produit et pédagogiques utilisent la transformation lorsqu'un apprenant colle un texte chiffré et que l'interface doit montrer le texte en clair récupéré sous les mots-clés documentés. Associez-le aux autres auxiliaires d'encodage classiques pour bâtir un petit laboratoire d'outils de texte gratuits et déterministes, et ne traitez jamais les quatre carrés comme un substitut au chiffrement authentifié moderne.
Cas d’usage
Pratique CTF et digramme classique
Chiffrez et déchiffrez des phrases en digrammes à deux mots-clés pour des puzzles, des classes, et des échauffements de capture-the-flag.
Leçons d'histoire de la cryptographie
Démontrez les quatre carrés 5×5, les alphabets J-vers-I, le remplissage X, et pourquoi les mots-clés vides doivent être rejetés.
Questions fréquentes
Combien coûte l'outil de chiffre des quatre carrés ?
Il est gratuit dans votre navigateur sur cette page.
Comment déchiffrer un message en quatre carrés ?
Le chiffrement est le mode par défaut lorsque mode est omis.
Comment les digrammes sont-ils formés à partir du texte ?
Seules les lettres alphabétiques sont conservées (J correspond à I). Les lettres sont appariées de gauche à droite ; si le compte est impair, X est ajouté avant le chiffrement ou le déchiffrement.
Le chiffre des quatre carrés est-il sûr pour de vrais secrets ?
Non. C'est un chiffre pédagogique classique. Utilisez un chiffrement authentifié moderne comme AES-GCM pour une vraie confidentialité.
Pourquoi un X apparaît-il à la fin du message chiffré ?
Parce que le chiffre travaille par paires de lettres. Si le message compte un nombre impair de lettres, un X complète la dernière paire, et ce X reste présent après le déchiffrement avec les mêmes clés.
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/four-square \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"HELPME","key1":"EXAMPLE","key2":"KEYWORD"}'const res = await fetch("https://api.kit.forhosting.com/enc/four-square", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "HELPME",
"key1": "EXAMPLE",
"key2": "KEYWORD"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/four-square",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "HELPME",
"key1": "EXAMPLE",
"key2": "KEYWORD"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/four-square", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"HELPME","key1":"EXAMPLE","key2":"KEYWORD"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"HELPME","key1":"EXAMPLE","key2":"KEYWORD"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/four-square", 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": "HELPME",
"key1": "EXAMPLE",
"key2": "KEYWORD"
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.four_square",
"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
Utilisez-le gratuitement dans le navigateur pour des leçons d'histoire de la cryptographie, la conception de puzzles à digrammes, et des clés d'exercices réversibles, ou appelez l'API à $0.002 par requête réussie lorsque les pipelines ont besoin de transformations en quatre carrés reproductibles sans réimplémenter la disposition des carrés.
Ce qu'est le chiffre des quatre carrés et ce que renvoie cet outil
La réponse JSON inclut result pour la chaîne majuscule transformée, encoding fixé à four_square, mode réglé sur encrypt ou decrypt, key1_letters et key2_letters montrant les flux de mots-clés normalisés, des vues de lettres uniques de chaque clé, normalized_input après extraction et remplissage, un indicateur padded, le compte digraphs, des champs de longueur, letters_processed, la chaîne alphabet, les quatre carrés aplatis, et une chaîne formula qui reformule la correspondance de digrammes pour la documentation et les tests. Il n'y a aucun chemin de streaming et aucun repli silencieux vers Playfair ou Vigenère : soit vous fournissez un texte non vide avec au moins une lettre et deux mots-clés contenant chacun au moins une lettre, soit la requête échoue avec invalid_input.
Comment le texte, les clés et le mode sont lus et comment les résultats restent reproductibles
Seuls les caractères alphabétiques à l'intérieur de chaque clé sont conservés, mis en majuscules, et mappés avec J vers I ; les chiffres et symboles dans une clé sont ignorés. Chaque digramme est traité avec la disposition fixe des carrés, si bien que chiffrer puis déchiffrer avec la même paire de mots-clés restaure toujours le flux de lettres normalisé et complété. Les champs de charge utile privilégiés sont text pour le message, key1 et key2 pour les deux mots-clés, et mode facultatif pour encrypt ou decrypt. Text accepte des alias tels que input, value, s, message, plaintext et ciphertext afin que formulaires et clients SDK puissent réutiliser des noms de colonnes existants. Key1 accepte keyword1, key_1, k1, upper_key et right_key ; key2 accepte keyword2, key_2, k2, lower_key et left_key. Si après ce filtrage aucune lettre ne subsiste pour l'un ou l'autre mot-clé, ou si une chaîne de mot-clé est vide, le moteur rejette la requête avec invalid_input et un message clair indiquant que le mot-clé doit contenir au moins une lettre A-Z. Mode par défaut vaut encrypt lorsqu'il est omis et accepte aussi des alias courts tels que enc, encode, e pour encrypt et dec, decode, d pour decrypt ; toute autre chaîne échoue la validation. Un texte manquant, un texte vide, un texte sans lettres, des types non-chaîne, et des modes inconnus déclenchent tous invalid_input afin qu'un formulaire vide ne ressemble pas à une opération sans effet réussie. Associez l'exécution gratuite dans le navigateur de cette page à l'API payante lorsque vous avez besoin du même résultat mathématique au sein d'un pipeline automatisé sans réimplémenter vous-même les quatre carrés. Les entrées invalides renvoient invalid_input et ne sont pas facturées, ce qui garde la validation bon marché tandis que les transformations réussies restent à un prix fixe de $0.002.
Où le chiffre des quatre carrés s'inscrit dans les leçons, les puzzles et les fixtures de test
Les services backend encodent de courtes chaînes de défi pour des API de puzzles ou des bacs à sable pédagogiques où les étudiants doivent appliquer correctement les deux mots-clés pour débloquer l'étape suivante. Sur cette page, le travail s'exécute entièrement dans votre navigateur ; via l'API, chaque recherche réussie coûte $0.002, une validation échouée n'est pas facturée, et rien n'est conservé après le renvoi de la réponse. Cette séparation — exploration interactive gratuite et API payante identique — s'inscrit dans le reste du catalogue de niveau A du KIT et permet de passer d'une démonstration en classe à un pipeline automatisé sans changer le résultat transformé.
Cas d'intégration
Fixtures CI déterministes
Générez des paires reproductibles de texte chiffré et de texte en clair des quatre carrés pour tests unitaires, fichiers golden, et vérifications de contrat.
Questions techniques
Que se passe-t-il si un mot-clé est vide ?
La requête échoue avec invalid_input. key1 et key2 doivent tous deux être non vides et contenir au moins une lettre A-Z après filtrage.