Transposition colonnaire double
Avec les clés ZEBRAS puis STRIPE, WEAREDISCOVEREDFLEEATONCE devient CAEENSOIAEDRLEFWEDREEVTOC : deux grilles à mot-clé réordonnent le texte l'une après l'autre. Le déchiffrement les défait dans l'ordre inverse avec les mêmes clés. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Exemple résolu
- Texte
- WEAREDISCOVEREDFLEEATONCE
- Key1
- ZEBRAS
- Key2
- STRIPE
- Mode de calcul
- Encrypt
- Résultat
- CAEENSOIAEDRLEFWEDREEVTOC
- Encodage
- columnar_double
- Longueur de la clé 1
- 6
- Longueur de la clé 2
- 6
Cet outil de transposition colonnaire double chiffre ou déchiffre un texte en appliquant deux permutations de colonnes ordonnées par mot-clé, l'une après l'autre. Vous fournissez un message, une première clé, une seconde clé et un mode optionnel ; le moteur exécute une passe colonnaire complète sous le premier mot-clé, puis fait passer cette chaîne intermédiaire par une seconde passe colonnaire sous le second. Le déchiffrement inverse ces passes dans l'ordre opposé, de sorte que le même couple de clés restaure la chaîne d'origine bit à bit. Tous les caractères se déplacent ensemble —espaces, chiffres et ponctuation gardent leur place dans la séquence et ne sont jamais supprimés—, ainsi les feuilles d'exercices de manuel et les charges utiles CTF restent fidèles. Une vérification classique est WEAREDISCOVEREDFLEEATONCE sous les clés ZEBRAS puis STRIPE : l'intermédiaire après la première passe correspond au colonnaire simple sous ZEBRAS, et la seconde passe produit le chiffré double final qui se déchiffre proprement avec le même couple.
Ce qu'est la transposition colonnaire double et ce que renvoie cet outil
La transposition colonnaire double est un chiffre classique de réarrangement qui empile deux passes colonnaires simples au lieu de substituer des lettres. Chaque passe construit une grille dont la largeur égale la longueur du mot-clé de cette passe, écrit les caractères de gauche à droite et de haut en bas, puis lit les colonnes de haut en bas dans l'ordre obtenu en triant les caractères de la clé.
Lorsque la dernière ligne est incomplète, les colonnes de gauche contiennent simplement un caractère de plus que celles de droite, suivant la règle habituelle des manuels qui préserve la longueur, sans rembourrage forcé sauf si vous en mettez vous-même dans l'entrée. Le chiffrement applique d'abord le premier mot-clé en entier, puis le second à cette chaîne intermédiaire ; le déchiffrement annule d'abord le second mot-clé puis seulement le premier, de sorte que l'ordre des deux clés fait partie du secret.
Le départage est stable à chaque passe : si deux caractères de clé sont égaux, la colonne de gauche est prise en premier, pour que les lettres répétées n'inventent pas un ordre ambigu. Cette page applique toujours cette règle fixe à deux passes et ne bascule jamais en silence vers un colonnaire simple, une transposition par routes, un rail fence ou un chiffre de substitution.
Si vous n'avez besoin que d'un seul mot-clé, de décalages polyalphabétiques ou d'un chiffrement moderne, utilisez ces points d'accès dédiés ; cette page répond uniquement au contrat classique de transposition colonnaire double à deux clés que décrivent déjà les chapitres d'histoire de la cryptographie et les échauffements CTF avancés.
Où la double transposition sert en cours et en énigmes
Développeurs et éducateurs rencontrent la transposition colonnaire double dans des défis capture-the-flag qui élèvent délibérément la barre au-dessus d'une seule grille par mot-clé, dans des chapitres de manuels de cryptologie classique qui introduisent des réarrangements multi-étapes, et dans des démonstrations qui montrent pourquoi même deux permutations ne suffisent pas face à la cryptanalyse moderne une fois la structure du message connue. Les équipes frontend peuvent brouiller des phrases d'exemple pour des captures d'écran avec une histoire à deux clés, puis les récupérer en déchiffrant sous le même couple.
Les ingénieurs qualité génèrent des paires de chiffrement et déchiffrement déterministes pour des tests de contrat, afin qu'un middleware prétendant prendre en charge le colonnaire double ne bascule pas en silence vers une seule passe, un motif de rail fence ou la suppression d'espaces. Les organisateurs de concours précalculent des clés de réponse pour de modestes phrases anglaises sans se fier à des jouets web opaques qui forcent une sortie en majuscules seulement ou insèrent des X de rembourrage que vous n'avez jamais demandés.
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 deux mots-clés documentés. Associez-la au colonnaire simple et à d'autres aides d'encodage classique lorsque vous construisez un petit laboratoire d'outils texte gratuits et déterministes, et ne traitez jamais la transposition colonnaire double comme un substitut au chiffrement authentifié moderne.
Cas d’usage
Pratique CTF et chiffre classique avancé
Chiffrez et déchiffrez des phrases de transposition colonnaire double à deux clés pour des énigmes plus difficiles, des salles de classe et des échauffements capture-the-flag au-delà d'une seule grille.
Leçons d'histoire crypto multi-étapes
Montrez des passes séquentielles écriture par lignes et lecture par colonnes, des chaînes intermédiaires et un déchiffrement en ordre inverse avec deux mots-clés et des lettres répétées stables.
Questions fréquentes
Que coûte l'outil de transposition colonnaire double ?
Il est gratuit dans votre navigateur sur cette page.
Comment déchiffrer un chiffré de transposition colonnaire double ?
Le chiffrement est la valeur par défaut si mode est omis.
Que se passe-t-il si une clé est manquante ou vide ?
Les deux mots-clés doivent être des chaînes non vides.
En quoi cela diffère-t-il de la transposition colonnaire simple ?
Le colonnaire simple utilise un mot-clé et une passe de grille.
La transposition colonnaire double est-elle sûre pour de vrais secrets ?
Non. C'est un chiffre classique d'enseignement. Utilisez un chiffrement authentifié moderne tel que AES-GCM pour une confidentialité réelle.
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/columnar-double \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"WEAREDISCOVEREDFLEEATONCE","key1":"ZEBRAS","key2":"STRIPE"}'const res = await fetch("https://api.kit.forhosting.com/enc/columnar-double", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "WEAREDISCOVEREDFLEEATONCE",
"key1": "ZEBRAS",
"key2": "STRIPE"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/columnar-double",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "WEAREDISCOVEREDFLEEATONCE",
"key1": "ZEBRAS",
"key2": "STRIPE"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/columnar-double", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"WEAREDISCOVEREDFLEEATONCE","key1":"ZEBRAS","key2":"STRIPE"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"WEAREDISCOVEREDFLEEATONCE","key1":"ZEBRAS","key2":"STRIPE"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/columnar-double", 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": "WEAREDISCOVEREDFLEEATONCE",
"key1": "ZEBRAS",
"key2": "STRIPE"
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.columnar_double",
"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, des énigmes à double transposition et des démonstrations de laboratoire réversibles, ou appelez l'API à $0.002 par requête réussie lorsque des pipelines ont besoin de transformations colonnaires à deux clés reproductibles.
Ce qu'est la transposition colonnaire double et ce que renvoie cet outil
La réponse JSON inclut result pour la chaîne réarrangée finale, encoding fixé à columnar_double, mode à encrypt ou decrypt, key1 et key2 reprenant les mots-clés que vous avez fournis, key1_length et key2_length, column_order1 et column_order2 comme indices originaux à base zéro dans l'ordre de lecture de chaque passe, intermediate montrant la chaîne après la première passe de chiffrement ou après le premier défaire du déchiffrement, input_length et output_length qui coïncident toujours car chaque transformation ne fait que permuter, et une chaîne formula qui reformule le contrat à deux passes pour la documentation et les tests. Il n'y a ni chemin en flux ni repli silencieux vers Vigenère ou Base64 : soit vous fournissez un texte non vide et deux clés non vides, soit la requête échoue avec invalid_input nommant le champ manquant.
Comment le texte, les deux clés et le mode sont lus, et comment les résultats restent reproductibles
Toute la chaîne non vide de chaque clé définit les colonnes de cette passe, y compris chiffres et symboles si vous les incluez, car l'ordonnancement utilise la comparaison de caractères Unicode plutôt qu'une réduction à A–Z seulement. Les ordres de colonnes sont calculés une fois à partir de chaque clé, puis la même formule de hauteurs est utilisée au chiffrement et au déchiffrement, de sorte qu'un aller-retour complet restaure toujours la charge utile d'origine pour toute chaîne non vide sous ce couple de clés. Le champ intermediate permet aux enseignants et correcteurs d'afficher la grille de la première passe sans réimplémenter le remplissage colonnaire. Les champs de charge utiles préférés sont text pour le message, key1 pour le premier mot-clé, key2 pour le second, et mode optionnel pour encrypt ou decrypt. Text accepte des alias comme input, value, s, message, plaintext et ciphertext, afin que formulaires et clients SDK réutilisent des noms de colonne existants sans renommer chaque point d'appel. Key1 accepte key_1, first_key, keyword1 et k1 ; key2 accepte key_2, second_key, keyword2 et k2. Une key1 ou key2 manquante ou vide est rejetée avec invalid_input et un message clair qui nomme le champ, pour que les opérateurs corrigent le bon mot de passe sans deviner. Mode vaut encrypt par défaut lorsqu'il est omis et accepte aussi des alias courts comme enc, encode, e pour encrypt et dec, decode, d pour decrypt ; toute autre chaîne échoue à la validation. Texte manquant, texte vide, types non chaîne et modes inconnus lèvent tous invalid_input, pour qu'un formulaire vide ne ressemble pas à une opération réussie sans effet. Associez l'exécution gratuite dans le navigateur de cette page à l'API tarifée lorsque vous avez besoin de la même double permutation dans un pipeline automatisé. Les entrées invalides renvoient invalid_input et ne sont pas facturées, ce qui maintient la validation bon marché tandis que les transformations réussies restent à un prix fixe par élément.
Où la transposition colonnaire double s'inscrit dans les leçons, énigmes et fixtures de test
Les services backend encodent de courtes chaînes de défi pour des API d'énigmes ou des bacs à sable pédagogiques où les étudiants doivent reconstruire les deux grilles dans le bon ordre pour débloquer 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, une validation échouée n'est pas facturée, et rien n'est stocké après le renvoi de la réponse. Cette scission —exploration interactive gratuite et API tarifée identique— correspond au reste du catalogue tier A du KIT et vous permet de passer d'une démo en classe à un pipeline automatisé sans changer le résultat réarrangé.
Cas d'intégration
Fixtures CI déterministes pour chiffres à deux passes
Générez des paires reproductibles de chiffré et de clair de transposition colonnaire double pour tests unitaires, fichiers golden et contrôles de contrat.