Codificatore del cifrario di Vigenère

Il cifrario di Vigenère, descritto per la prima volta da Giovan Battista Bellaso nel 1553 e in seguito attribuito per errore a Blaise de Vigenère, sposta ogni lettera di una quantità diversa in base a una parola chiave che si ripete. Pur essendo stato chiamato “le chiffre indéchiffrable” per 300 anni, alla fine cadde sotto l’attacco statistico di Friedrich Kasiski nel 1863. Questo codificatore ti permette di cifrare e decifrare per enigmi, sfide CTF e crittografia in aula.

Come usare il cifrario di Vigenère

  1. 1

    Inserisci il messaggio

    Le lettere dalla A alla Z vengono spostate; cifre, spazi, punteggiatura e qualsiasi carattere non latino passano invariati.

  2. 2

    Imposta una chiave

    Scegli una parola o una frase. Contano solo le sue lettere, e le chiavi lunghe sono più difficili da rompere.

  3. 3

    Scegli cifra o decifra

    Lo stesso strumento gestisce entrambe le direzioni con la tavola di Vigenère.

  4. 4

    Leggi il risultato

    Ogni lettera si sposta della lettera corrispondente della chiave (A=0, B=1, ecc.); maiuscole e minuscole vengono conservate.

Un esempio svolto

Lo strumento parte con Hello World e la chiave KEY. Cifrando si ottiene:

Testo  : Hello World
Chiave : KEYKE YKEYK
Cifrato: Rijvs Uyvjn

Nota che le maiuscole vengono conservate (H resta maiuscola e diventa R), lo spazio è lasciato intatto e il puntatore della chiave avanza solo sulle lettere. Passa a decifra con la stessa chiave e Rijvs Uyvjn torna a essere Hello World.

La tavola di Vigenère

Ogni lettera del testo e ogni lettera della chiave scelgono una riga e una colonna in una griglia 26x26 di spostamenti di Cesare. Se la lettera del testo è H e quella della chiave è K, l’output è R, perché H (7) + K (10) = 17 = R. L’esempio classico dei manuali usa una chiave che si ripete:

Testo  : ATTACKATDAWN
Chiave : LEMONLEMONLE
Cifrato: LXFOPVEFRNHR

Perché ha battuto i cifrari precedenti

I cifrari monoalfabetici come Cesare e Atbash codificano sempre la E allo stesso modo, quindi la lettera più frequente del testo cifrato tradisce la più frequente del testo in chiaro. Vigenère ruota lo spostamento, così la E può diventare X una volta e K quella dopo, appiattendo le frequenze delle lettere e sconfiggendo l’analisi semplice.

L’attacco di Kasiski in un paragrafo

Gruppi di lettere ripetuti nel testo cifrato, distanziati di una distanza fissa, indicano che la lunghezza della chiave divide quella distanza. Raccogli alcune di queste distanze, calcola il loro massimo comune divisore e avrai la lunghezza probabile della chiave. Dividi il testo cifrato in altrettanti flussi di Cesare e applica l’analisi delle frequenze a ciascuno.

Nota di sicurezza

Vigenère è un cifrario classico con valore soltanto didattico. Non è sicuro contro alcun attacco moderno: un breve testo in inglese con una chiave di sei lettere si rompe in pochi secondi. Per una riservatezza reale usa AES-GCM o ChaCha20-Poly1305 da una libreria affidabile, mai un cifrario fatto a mano.

Domande frequenti

Passano invariati. Vengono spostate solo le 26 lettere dalla A alla Z, quindi le lettere accentate (à, è, é, ì, ò, ù) e qualsiasi alfabeto non latino vengono copiati così come sono, e il puntatore della chiave non avanza su di essi.

Sì. Un testo minuscolo produce un output minuscolo e le maiuscole restano maiuscole. La chiave in sé non distingue tra maiuscole e minuscole.

Assolutamente. È un classico dei CTF per principianti. Gli indizi spesso danno la lunghezza della chiave nel testo della sfida o lasciano un gruppo di lettere ripetuto nel testo cifrato.

Il tuo testo e la tua chiave vengono inviati al nostro server per calcolare il cifrario, dove vengono elaborati e non memorizzati né registrati. Poiché Vigenère non è sicuro, non cifrare mai un segreto reale con un cifrario classico.

Strumenti correlati

Strumento disponibile in altre lingue