Cifrario a quattro quadrati
Cifri coppie di lettere con il cifrario a quattro quadrati di Delastelle e due parole chiave: HELPME con le chiavi EXAMPLE e KEYWORD diventa FYNFNE, e le stesse chiavi lo riportano in chiaro. Spazi e punteggiatura vengono scartati, e la J vale come I. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Esempio risolto
- Testo
- HELPME
- Chiave1
- EXAMPLE
- Chiave2
- KEYWORD
- Modalità di calcolo
- encrypt
- Risultato
- FYNFNE
- Codifica
- four_square
- Lettere chiave1
- EXAMPLE
- Lettere chiave2
- KEYWORD
Questo strumento per il cifrario a quattro quadrati cifra o decifra testo con la classica sostituzione a digrammi inventata da Félix Delastelle. Due parole chiave riempiono i quadrati 5×5 in alto a destra e in basso a sinistra mentre i quadrati in alto a sinistra e in basso a destra contengono un alfabeto fisso di venticinque lettere dove J è mappata su I. Il testo in chiaro viene elaborato in coppie di lettere: la prima lettera di ogni digramma viene localizzata nel quadrato in alto a sinistra e la seconda in quello in basso a destra; le lettere del testo cifrato vengono lette dai quadrati con chiave alla riga e colonna complementari, così la mappatura dipende da entrambe le parole chiave insieme piuttosto che da un singolo flusso ripetuto. I caratteri non alfabetici vengono rimossi prima dell'accoppiamento, un conteggio di lettere dispari viene riempito con X, e il risultato viene restituito come lettere maiuscole continue insieme ai quattro quadrati appiattiti per l'ispezione.
Cos'è il cifrario a quattro quadrati e cosa restituisce questo strumento
Il cifrario a quattro quadrati è una sostituzione a digrammi su un alfabeto latino di venticinque lettere disposto come quattro quadrati di Polibio. I quadrati in alto a sinistra e in basso a destra usano lo stesso ordine semplice con J combinata in I così ogni lettera ha una cella unica. Il quadrato in alto a destra viene riempito prima con le lettere uniche della prima parola chiave e poi con il resto dell'alfabeto; il quadrato in basso a sinistra viene riempito allo stesso modo dalla seconda parola chiave.
La cifratura prende una coppia di lettere in chiaro, trova la prima nel quadrato in alto a sinistra e la seconda in quello in basso a destra, poi emette la lettera alla riga della prima lettera e colonna della seconda lettera nel quadrato in alto a destra seguita dalla lettera alla riga della seconda lettera e colonna della prima lettera nel quadrato in basso a sinistra.
La decifratura inverte le ricerche leggendo i digrammi del testo cifrato dai quadrati con chiave e recuperando il testo in chiaro dai quadrati semplici, così cifrare e poi decifrare con le stesse parole chiave ripristina il flusso di lettere normalizzato incluso qualsiasi riempimento X aggiunto per un conteggio dispari. Questa pagina usa sempre quella regola da manuale senza tabelle di alfabeto facoltative che potrebbero divergere tra le lingue.
Il quattro quadrati in classe e negli enigmi
Sviluppatori ed educatori incontrano il cifrario a quattro quadrati in riscaldamenti capture-the-flag, capitoli di manuali sulla crittologia classica a digrammi, e dimostrazioni leggere che mostrano come due quadrati di parole chiave indipendenti rafforzino una semplice sostituzione a coppie oltre una singola tabella Playfair. I team frontend possono mescolare frasi campione per screenshot senza inventare un alfabeto personalizzato, poi recuperarle con la decifratura sotto le stesse chiavi.
Gli ingegneri di qualità generano coppie deterministiche di cifratura e decifratura per test contrattuali così un middleware che dichiara supporto a quattro quadrati non può passare in silenzio a una mappa monoalfabetica. Gli organizzatori di gare precalcolano le chiavi di risposta per frasi inglesi modeste senza fidarsi di giocattoli web opachi che cambiano le regole di riempimento o omettono la convenzione J-a-I.
Strumenti di prodotto e didattici usano la trasformazione quando uno studente incolla un testo cifrato e l'interfaccia deve mostrare il testo in chiaro recuperato sotto le parole chiave documentate. Abbinatelo ad altri helper di codifica classica quando state costruendo un piccolo laboratorio di strumenti di testo gratuiti e deterministici, e non trattate mai il quattro quadrati come sostituto della crittografia moderna autenticata.
Casi d'uso
Pratica CTF e digrammi classici
Cifrate e decifrate frasi a digrammi con due parole chiave per enigmi, aule e riscaldamenti capture-the-flag.
Lezioni di storia della crittografia
Dimostrate i quattro quadrati 5×5, gli alfabeti J-a-I, il riempimento X, e perché le parole chiave vuote devono essere rifiutate.
Domande frequenti
Come decifro un messaggio a quattro quadrati?
La cifratura è predefinita quando mode è omesso.
Come vengono formati i digrammi dal testo?
Vengono mantenute solo le lettere alfabetiche (J mappa su I). Le lettere sono accoppiate da sinistra a destra; se il conteggio è dispari, viene aggiunta X prima della cifratura o decifratura.
Il quattro quadrati è sicuro per veri segreti?
No. È un cifrario didattico classico. Usate crittografia moderna autenticata come AES-GCM per una reale riservatezza.
Perché compare una X alla fine del messaggio cifrato?
Perché il cifrario lavora su coppie di lettere. Se il messaggio ha un numero dispari di lettere, si aggiunge una X per completare l'ultima coppia, e quella X resta anche dopo la decifratura con le stesse chiavi.
Perché la lettera J diventa I?
Ogni quadrato ha cinque per cinque caselle, cioè solo 25 lettere. Per far stare tutto l'alfabeto, la J viene trattata come I sia nel testo sia nelle parole chiave, e in decifratura torna come I.
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/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)Esempio di richiesta
{
"text": "HELPME",
"key1": "EXAMPLE",
"key2": "KEYWORD"
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.four_square",
"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
Usatelo gratis nel browser per lezioni di storia della crittografia, progettazione di enigmi a digrammi e chiavi di correzione reversibili, oppure chiamate l'API a $0.002 per richiesta riuscita quando le pipeline hanno bisogno di trasformazioni a quattro quadrati riproducibili senza reimplementare il layout dei quadrati.
Cos'è il cifrario a quattro quadrati e cosa restituisce questo strumento
La risposta JSON include result per la stringa maiuscola trasformata, encoding fissato a four_square, mode impostato su encrypt o decrypt, key1_letters e key2_letters che mostrano i flussi di parole chiave normalizzati, viste a lettere uniche di ciascuna chiave, normalized_input dopo estrazione e riempimento, un flag padded, il conteggio digraphs, campi di lunghezza, letters_processed, la stringa alphabet, i quattro quadrati appiattiti, e una stringa formula che riafferma la mappatura del digramma per documentazione e test. Non c'è percorso di streaming e nessun ripiego silenzioso su Playfair o Vigenère: o fornite testo non vuoto con almeno una lettera e due parole chiave che contengono ciascuna almeno una lettera, oppure la richiesta fallisce con invalid_input. Se vi servono AES, Vigenère, trasposizione colonnare, o Morse, usate quegli endpoint dedicati; questa landing risponde solo al contratto classico del digramma a quattro quadrati che i capitoli di storia della crittografia e i riscaldamenti CTF già descrivono.
Come vengono letti testo, chiavi e modalità e come i risultati restano riproducibili
Vengono mantenuti solo i caratteri alfabetici dentro ogni chiave, resi maiuscoli, e mappati con J su I; cifre e simboli in una chiave vengono ignorati. Ogni digramma viene elaborato con il layout fisso dei quadrati, così cifrare e poi decifrare con la stessa coppia di parole chiave ripristina sempre il flusso di lettere riempito normalizzato. I campi preferiti del payload sono text per il messaggio, key1 e key2 per le due parole chiave, e mode facoltativo 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. Key1 accetta keyword1, key_1, k1, upper_key e right_key; key2 accetta keyword2, key_2, k2, lower_key e left_key. Se dopo quel filtro non rimane nessuna lettera per una delle due parole chiave, o se una stringa di parola chiave è vuota, il motore rifiuta la richiesta con invalid_input e un messaggio chiaro che la parola chiave deve contenere almeno una lettera A-Z. Mode è predefinito su encrypt quando omesso e accetta anche alias brevi come enc, encode, e per encrypt e dec, decode, d per decrypt; qualsiasi altra stringa fallisce la validazione. Testo mancante, testo vuoto, testo senza lettere, tipi non stringa e modalità sconosciute sollevano tutte invalid_input così un form vuoto non sembra un'operazione nulla riuscita. Abbinate l'esecuzione gratuita nel browser di questa pagina all'API a pagamento quando vi serve lo stesso risultato matematico dentro una pipeline automatizzata senza reimplementare da soli i quattro quadrati. Gli input non validi restituiscono invalid_input e non vengono addebitati, il che mantiene economica la validazione mentre le trasformazioni riuscite restano a un prezzo fisso per elemento di $0.002.
Dove si inserisce il quattro quadrati 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 applicare correttamente entrambe le parole chiave per sbloccare il passo successivo. In questa pagina il lavoro viene svolto interamente nel browser; tramite l'API ogni ricerca riuscita costa $0.002, la convalida fallita non viene addebitata e nulla viene conservato dopo la restituzione della risposta. Questa divisione — esplorazione interattiva gratuita e API a pagamento identica — corrisponde al resto del catalogo tier A del KIT e permette di passare da una dimostrazione in aula a una pipeline automatizzata senza cambiare il risultato trasformato.
Casi di integrazione
Fixture CI deterministiche
Generate coppie riproducibili di testo cifrato e testo in chiaro a quattro quadrati per unit test, file golden e controlli contrattuali.
Domande tecniche
Quanto costa lo strumento del cifrario a quattro quadrati?
È gratuito nel browser su questa pagina. Tramite l'API una richiesta riuscita costa $0.002; gli input non validi non vengono addebitati.
Cosa succede se una parola chiave è vuota?
La richiesta fallisce con invalid_input. Sia key1 sia key2 devono essere non vuote e contenere almeno una lettera A-Z dopo il filtraggio.