Trasposizione colonnare doppia
Con le chiavi ZEBRAS e poi STRIPE, WEAREDISCOVEREDFLEEATONCE diventa CAEENSOIAEDRLEFWEDREEVTOC: due griglie a parola chiave riordinano il testo una dopo l'altra. La decifratura le annulla in ordine inverso con le stesse chiavi. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Esempio risolto
- Testo
- WEAREDISCOVEREDFLEEATONCE
- Key1
- ZEBRAS
- Key2
- STRIPE
- Modalità di calcolo
- Encrypt
- Risultato
- CAEENSOIAEDRLEFWEDREEVTOC
- Codifica
- columnar_double
- Lunghezza della chiave 1
- 6
- Lunghezza della chiave 2
- 6
Questo strumento di trasposizione colonnare doppia cifra o decifra il testo applicando due permutazioni di colonne ordinate da parole chiave, una dopo l'altra. Lei fornisce un messaggio, una prima chiave, una seconda chiave e una modalità opzionale; il motore esegue un passaggio colonnare completo sotto la prima parola chiave, poi invia quella stringa intermedia a un secondo passaggio colonnare sotto la seconda. La decifratura inverte quei passaggi nell'ordine opposto, così la stessa coppia di chiavi ripristina la stringa originale bit per bit. Un controllo classico è WEAREDISCOVEREDFLEEATONCE sotto le chiavi ZEBRAS e poi STRIPE: l'intermedio dopo il primo passaggio coincide con il colonnare singolo sotto ZEBRAS, e il secondo passaggio produce il testo cifrato doppio finale che si decifra in modo pulito con la stessa coppia.
Cos'è la trasposizione colonnare doppia e cosa restituisce questo strumento
La trasposizione colonnare doppia è un cifrario classico di riordino che impila due passaggi colonnari singoli invece di sostituire lettere. Ogni passaggio costruisce una griglia la cui larghezza è uguale alla lunghezza della parola chiave di quel passaggio, scrive i caratteri da sinistra a destra e dall'alto in basso, poi legge le colonne dall'alto in basso nell'ordine ottenuto ordinando i caratteri della chiave.
Quando l'ultima riga è incompleta, le colonne di sinistra contengono semplicemente un carattere in più di quelle di destra, seguendo la regola usuale da manuale che preserva la lunghezza, senza riempimento forzato a meno che Lei non lo inserisca nell'ingresso. La cifratura applica prima la prima parola chiave per intero, poi la seconda a quella stringa intermedia; la decifratura annulla prima la seconda chiave e solo dopo la prima, così l'ordine delle due chiavi fa parte del segreto.
Il tie-break è stabile a ogni passaggio: se due caratteri di chiave sono uguali, si prende prima la colonna di sinistra, affinché le lettere ripetute non inventino un ordine ambiguo. Questa pagina applica sempre quella regola fissa a due passaggi e non passa mai in silenzio a un colonnare singolo, a una trasposizione a rotte, a un rail fence o a un cifrario di sostituzione.
Dove si usa la doppia trasposizione in lezioni ed enigmi
Sviluppatori e formatori incontrano la trasposizione colonnare doppia in sfide capture-the-flag che alzano deliberatamente l'asticella oltre una sola griglia per parola chiave, in capitoli di manuali di crittologia classica che introducono riordini multi-stadio, e in dimostrazioni che mostrano perché anche due permutazioni non bastano contro la crittoanalisi moderna una volta nota la struttura del messaggio. I team frontend possono mescolare frasi di esempio per screenshot con una storia a due chiavi, poi recuperarle con decrypt sotto la stessa coppia.
Gli ingegneri di qualità generano coppie deterministiche di cifratura e decifratura per test di contratto, così un middleware che dichiara supporto colonnare doppio non possa passare in silenzio a un solo passaggio, a un pattern rail fence o a scartare spazi. Gli organizzatori di gare precalcolano chiavi di risposta per frasi inglesi modeste senza fidarsi di giocattoli web opachi che forzano uscita solo in maiuscolo o inseriscono caratteri X di riempimento che Lei non ha mai chiesto.
Strumenti di prodotto e istruzione usano la trasformazione quando un discente incolla un cifrato e l'interfaccia deve mostrare il testo in chiaro recuperato sotto due parole chiave documentate. La abbini al colonnare singolo e ad altri aiuti di codifica classica quando costruisce un piccolo laboratorio di strumenti di testo gratuiti e deterministici, e non tratti mai la trasposizione colonnare doppia come sostituto della cifratura autenticata moderna.
Casi d'uso
Pratica CTF e cifrario classico avanzato
Cifri e decifri frasi di trasposizione colonnare doppia a due chiavi per enigmi più difficili, aule e riscaldamenti capture-the-flag oltre una sola griglia.
Lezioni di storia cripto multi-stadio
Dimostri passaggi sequenziali di scrittura per righe e lettura per colonne, stringhe intermedie e decifratura in ordine inverso con due parole chiave e lettere ripetute stabili.
Domande frequenti
Quanto costa lo strumento di trasposizione colonnare doppia?
È gratis nel Suo browser su questa pagina.
Come si decifra un cifrato di trasposizione colonnare doppia?
La cifratura è il predefinito se mode è omesso.
Cosa succede se una chiave manca o è vuota?
Entrambe le parole chiave devono essere stringhe non vuote.
In che modo differisce dalla trasposizione colonnare singola?
Il colonnare singolo usa una parola chiave e un passaggio di griglia.
La trasposizione colonnare doppia è sicura per segreti reali?
No. È un cifrario classico didattico. Usi cifratura autenticata moderna come AES-GCM per la confidenzialità reale.
Strumenti correlati
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo 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)Esempio di richiesta
{
"text": "WEAREDISCOVEREDFLEEATONCE",
"key1": "ZEBRAS",
"key2": "STRIPE"
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.columnar_double",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |
Note tecniche
Tutti i caratteri si muovono insieme —spazi, cifre e punteggiatura conservano il loro posto nella sequenza e non vengono mai rimossi—, così i fogli di esercizi da manuale e i payload CTF restano fedeli. Lo usi gratis nel browser per lezioni di storia della crittografia, enigmi a doppia trasposizione e dimostrazioni di laboratorio reversibili, oppure chiami l'API a $0.002 per richiesta riuscita quando le pipeline necessitano di trasformazioni colonnari a due chiavi riproducibili.
Cos'è la trasposizione colonnare doppia e cosa restituisce questo strumento
La risposta JSON include result per la stringa riordinata finale, encoding fisso a columnar_double, mode impostato su encrypt o decrypt, key1 e key2 che rispecchiano le parole chiave fornite, key1_length e key2_length, column_order1 e column_order2 come indici originali a base zero nell'ordine di lettura di ogni passaggio, intermediate che mostra la stringa dopo il primo passaggio di cifratura o dopo il primo annullamento in decifratura, input_length e output_length che coincidono sempre perché ogni trasformazione solo permuta, e una stringa formula che riafferma il contratto a due passaggi per documentazione e test. Non c'è un percorso in streaming né un fallback silenzioso a Vigenère o Base64: o Lei fornisce testo non vuoto e due chiavi non vuote, o la richiesta fallisce con invalid_input indicando il campo mancante. Se le serve solo una parola chiave, spostamenti polialfabetici o cifratura moderna, usi quegli endpoint dedicati; questa pagina risponde solo al contratto classico di trasposizione colonnare doppia a due chiavi che capitoli di storia della crittografia e riscaldamento CTF avanzati già descrivono.
Come si leggono testo, due chiavi e modalità, e come i risultati restano riproducibili
L'intera stringa non vuota di ciascuna chiave definisce le colonne di quel passaggio, inclusi cifre e simboli se li include, perché l'ordinamento usa il confronto di caratteri Unicode invece di ridursi solo ad A–Z. Il campo intermediate consente a docenti e correttori di mostrare la griglia del primo passaggio senza reimplementare il packing colonnare. I campi di payload preferiti sono text per il messaggio, key1 per la prima parola chiave, key2 per la seconda, e mode opzionale per encrypt o decrypt. Text accetta alias come input, value, s, message, plaintext e ciphertext, così form e client SDK possono riusare nomi di colonna esistenti senza rinominare ogni punto di chiamata. Key1 accetta key_1, first_key, keyword1 e k1; key2 accetta key_2, second_key, keyword2 e k2. Una key1 o key2 mancante o vuota viene rifiutata con invalid_input e un messaggio chiaro che nomina il campo, così gli operatori correggono la password giusta senza indovinare. Mode predefinito è encrypt se omesso e accetta anche alias corti come enc, encode, e per encrypt e dec, decode, d per decrypt; qualsiasi altra stringa fallisce la validazione. Testo mancante, testo vuoto, tipi non stringa e modalità sconosciute sollevano tutti invalid_input, affinché un modulo vuoto non sembri un'operazione riuscita senza effetto. Gli ordini di colonna si calcolano una volta da ciascuna chiave, poi la stessa formula delle altezze si usa in cifratura e decifratura, così un andata e ritorno completo ripristina sempre il payload originale per qualsiasi stringa non vuota sotto quella coppia di chiavi. Abbini l'esecuzione gratuita nel browser di questa pagina all'API a pagamento quando le serve la stessa doppia permutazione in una pipeline automatizzata. Gli input non validi restituiscono invalid_input e non vengono addebitati, mantenendo la validazione economica mentre le trasformazioni riuscite restano a prezzo fisso per elemento.
Dove la trasposizione colonnare doppia entra in lezioni, enigmi e fixture di test
I servizi backend codificano brevi stringhe di sfida per API di enigmi o sandbox didattiche dove gli studenti devono ricostruire entrambe le griglie nell'ordine corretto per sbloccare il passo successivo. Su questa pagina il lavoro viene eseguito interamente nel Suo browser; tramite l'API ogni consultazione riuscita costa $0.002, la validazione fallita non viene addebitata e nulla viene memorizzato dopo la risposta. Quella divisione —esplorazione interattiva gratuita e API a pagamento identica— corrisponde al resto del catalogo tier A del KIT e le consente di passare da una demo in aula a una pipeline automatizzata senza cambiare il risultato riordinato.
Casi di integrazione
Fixture CI deterministiche per cifrari a due passaggi
Generi coppie riproducibili di cifrato e testo in chiaro di trasposizione colonnare doppia per test unitari, file golden e controlli di contratto.