Cifrario di Vigenère
Cifra «Attack at dawn» con la chiave LEMON in «Lxfopv ef rnhr» e lo decifra con la stessa chiave. Ogni lettera riceve il proprio spostamento di Cesare dalla parola chiave ripetuta, maiuscole e minuscole restano tali e spazi e punteggiatura non si muovono. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Esempio risolto
- Testo
- Attack at dawn
- Chiave
- LEMON
- Modalità di calcolo
- encrypt
- Risultato
- Lxfopv ef rnhr
- Codifica
- vigenere
- Lettere chiave
- LEMON
- Lunghezza chiave
- 5
Questo strumento per il cifrario di Vigenère cifra o decifra testo con la classica sostituzione polialfabetica che usa una parola chiave ripetuta per scegliere uno scorrimento di Cesare diverso per ogni lettera. A differenza di un singolo offset Cesare fisso, il flusso di chiave percorre la parola chiave così la stessa lettera del testo in chiaro può mappare a lettere diverse del testo cifrato a seconda della posizione, il che è il punto di forza storico del metodo per dimostrazioni scolastiche e progettazione di enigmi. Si muovono solo i caratteri alfabetici: ogni lettera A-Z viene spostata dalla lettera chiave corrispondente con aritmetica modulare su un anello di ventisei lettere, le maiuscole/minuscole vengono preservate, e spazi, cifre, punteggiatura e altri simboli passano senza consumare un passo di chiave. Un controllo standard è Attack at dawn con chiave LEMON che si cifra in un testo cifrato noto che si decifra di nuovo sotto la stessa parola chiave.
Cos'è il cifrario di Vigenère e cosa restituisce questo strumento
Il cifrario di Vigenère è una sostituzione polialfabetica sull'alfabeto latino di ventisei lettere. Fornite una parola chiave le cui lettere definiscono ciascuna uno scorrimento di Cesare da zero per A a venticinque per Z. Le lettere del testo in chiaro vengono trasformate in ordine: la prima lettera usa la prima lettera della chiave, la seconda usa la successiva, e quando la parola chiave finisce il flusso si riavvolge di nuovo all'inizio.
La cifratura aggiunge l'offset di chiave modulo ventisei; la decifratura lo sottrae con lo stesso avvolgimento modulare così le due operazioni sono inverse esatte quando si usa la stessa parola chiave. I caratteri non-lettera non cambiano mai e non fanno mai avanzare l'indice di chiave, il che mantiene leggibili spaziatura e punteggiatura della frase intorno alle lettere mescolate. Questa pagina usa sempre quella regola da manuale con preservazione delle maiuscole/minuscole e senza tabelle di alfabeto facoltative che potrebbero divergere tra le lingue.
Vigenère tra lezioni, enigmi e verifiche
Sviluppatori ed educatori incontrano il cifrario di Vigenère in riscaldamenti capture-the-flag, capitoli di manuali sulla crittologia classica, e dimostrazioni leggere che mostrano perché le parole chiave ripetute alla fine rivelano la struttura sotto l'esame di Kasiski. I team frontend possono mescolare frasi campione per screenshot senza inventare un alfabeto personalizzato, poi recuperarle con la decifratura sotto la stessa chiave. Gli ingegneri di qualità generano coppie deterministiche di cifratura e decifratura per test contrattuali così un middleware che dichiara supporto Vigenère non può passare in silenzio a un singolo scorrimento Cesare.
Gli organizzatori di gare precalcolano le chiavi di risposta per frasi inglesi modeste senza fidarsi di giocattoli web opachi che cambiano le regole di spaziatura o forzano output solo maiuscolo. 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 la parola chiave documentata. Abbinatelo ad altri helper di codifica classica quando state costruendo un piccolo laboratorio di strumenti di testo gratuiti e deterministici, e non trattate mai Vigenère come sostituto della crittografia moderna autenticata.
Casi d'uso
Pratica CTF e cifrari classici
Cifrate e decifrate frasi polialfabetiche basate su parola chiave per enigmi, aule e riscaldamenti capture-the-flag.
Lezioni di storia della crittografia
Dimostrate la sostituzione a chiave ripetuta, le trasformazioni che preservano maiuscole/minuscole, e perché i non-lettere non devono far avanzare il flusso di chiave.
Domande frequenti
Come decifro un messaggio Vigenère?
Inviate il testo cifrato come text, la stessa parola chiave come key, e impostate mode su decrypt (o dec, decode, d). La cifratura è predefinita quando mode è omesso.
Cosa succede se la chiave non ha lettere?
La parola chiave deve contenere almeno una lettera A-Z; solo cifre o simboli vengono rifiutati.
Quali caratteri vengono spostati?
Solo le lettere alfabetiche A-Z in entrambi i casi. Spazi, cifre, punteggiatura e altri simboli passano invariati e non fanno avanzare la chiave.
Vigenère è sicuro per veri segreti?
No. È un cifrario didattico classico. Usate crittografia moderna autenticata come AES-GCM per una reale riservatezza.
Perché la stessa lettera diventa lettere diverse?
Perché ogni lettera usa lo spostamento della lettera successiva della chiave, che si ripete. Con LEMON le tre «a» di «Attack at dawn» diventano L, poi e, poi n: è questo che distingue Vigenère da un Cesare fisso.
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/vigenere \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Attack at dawn","key":"LEMON"}'const res = await fetch("https://api.kit.forhosting.com/enc/vigenere", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "Attack at dawn",
"key": "LEMON"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/vigenere",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "Attack at dawn",
"key": "LEMON"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/vigenere", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"Attack at dawn","key":"LEMON"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"Attack at dawn","key":"LEMON"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/vigenere", 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": "Attack at dawn",
"key": "LEMON"
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.vigenere",
"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 riscaldamenti CTF, lezioni di storia della crittografia e schede di enigmi reversibili, oppure chiamate l'API a $0.002 per richiesta riuscita quando le pipeline hanno bisogno di trasformazioni Vigenère riproducibili in CI e servizi backend.
Cos'è il cifrario di Vigenère e cosa restituisce questo strumento
La risposta JSON include result per la stringa trasformata, encoding fissato a vigenere, mode impostato su encrypt o decrypt, key_letters che mostra il flusso di lettere maiuscole normalizzato estratto dalla vostra parola chiave, key_length, input_length e output_length che coincidono perché la trasformazione preserva la lunghezza, shifted_chars che conta quante lettere si sono effettivamente spostate, e una stringa formula che riafferma la mappatura modulare per documentazione e test. Non c'è percorso di streaming e nessun ripiego silenzioso su ROT13 o un Cesare fisso: o fornite testo non vuoto e una parola chiave con almeno una lettera, oppure la richiesta fallisce con invalid_input. Se vi servono AES, ROT47, Base64, o Morse, usate quegli endpoint dedicati; questa landing risponde solo al contratto classico della parola chiave Vigenère che i capitoli di storia della crittografia e i riscaldamenti CTF già descrivono.
Come vengono letti testo, chiave e modalità e come i risultati restano riproducibili
I campi preferiti del payload sono text per il messaggio, key per la parola 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. Key accetta keyword, k, password e passphrase; solo i caratteri alfabetici dentro la chiave vengono mantenuti e resi maiuscoli in key_letters, mentre cifre e simboli nella chiave vengono ignorati. Se dopo quel filtro non rimane nessuna lettera, 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, tipi non stringa e modalità sconosciute sollevano tutte invalid_input così un form vuoto non sembra un'operazione nulla riuscita. Ogni lettera viene elaborata con la mappa modulare fissa e l'indice di chiave avanza solo sulle lettere, così cifrare e poi decifrare con la stessa parola chiave ripristina sempre il payload originale. 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 il flusso polialfabetico. 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.
Dove si inserisce Vigenère 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 la parola chiave corretta 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 Vigenère per unit test, file golden e controlli contrattuali.
Domande tecniche
Quanto costa lo strumento del cifrario di Vigenère?
È gratuito nel browser su questa pagina. Tramite l'API una richiesta riuscita costa $0.002; gli input non validi non vengono addebitati.