Cifrario di Vigenère: codifica e decodifica (cifratura con parola chiave)
Strumento per cifrare e decifrare con il cifrario di Vigenère, che fa variare lo scostamento lettera per lettera in base a una parola chiave. Tutto avviene nel browser: con la stessa parola chiave si cifra e si decifra, e il procedimento è visibile un carattere alla volta. Il contenuto inserito non viene mai inviato all'esterno.
Che cos'è il cifrario di Vigenère (cifratura con parola chiave)
Il cifrario di Vigenère (Vigenère Cipher, ヴィジュネル暗号) è un cifrario a sostituzione polialfabetica che sposta ogni lettera del testo in chiaro di una quantità diversa, determinata lettera per lettera da una parola chiave. A differenza del cifrario di Cesare, che sposta l'intero messaggio di un'unica quantità fissa, il cifrario di Vigenère ripete la parola chiave fino a raggiungere la lunghezza del testo in chiaro e usa il valore numerico di ciascuna lettera della chiave (A=0, B=1 e così via) per spostare la lettera corrispondente del testo in chiaro. Questo strumento supporta sia la "cifratura" (trasformare il testo in chiaro in testo cifrato con una parola chiave) sia la "decifratura" (recuperare il testo in chiaro dal testo cifrato con la stessa chiave), mostrando la trasformazione lettera per lettera in modo da poter seguire esattamente come viene applicato ogni scostamento.
Finché si usa la stessa parola chiave, cifratura e decifratura sono operazioni speculari: cambia solo la direzione di ingresso e uscita. Tutto il calcolo avviene localmente nel browser, quindi il testo in chiaro, il testo cifrato e la parola chiave digitati non vengono mai inviati altrove. Questo rende lo strumento utile sia per studiare il funzionamento del cifrario, sia per verificare uno scambio di messaggi reale.
Come usare il cifrario di Vigenère (codifica e decodifica)
- Scegliere la modalità Selezionare "Cifratura" per trasformare il testo in chiaro in testo cifrato, oppure "Decifratura" per tornare al testo in chiaro.
- Inserire il testo Digitare il testo in chiaro (per cifrare) o il testo cifrato (per decifrare) nel campo di input. I caratteri che non sono lettere passano invariati.
- Inserire la parola chiave Indicare una parola chiave composta solo da lettere. Cifratura e decifratura devono usare esattamente la stessa parola chiave.
- Eseguire e controllare il risultato Fare clic su "Esegui" per vedere il testo trasformato nel campo del risultato, e usare la tabella di dettaglio per esaminare lo scostamento applicato a ogni lettera.
- Provare il senso inverso Usare "Riporta il risultato in ingresso" per passare il testo appena cifrato direttamente alla modalità di decifratura e verificare che l'andata e ritorno funzionino.
Consigli per sfruttarlo al meglio
- Il cifrario di Vigenère fu a lungo chiamato «la cifra indecifrabile» (le chiffre indéchiffrable): per circa trecento anni non se ne trovò un metodo di soluzione praticabile.
- Poiché la parola chiave si ripete, più è corta e prima si ripresenta lo stesso schema di scostamenti, moltiplicando gli appigli per chi tenta di decifrare. Una chiave lunga è più sicura.
- Spazi, simboli e cifre non consumano lettere della chiave e vengono restituiti invariati. Cambiare la disposizione di spazi e a capo non altera la regola di cifratura.
- Cifratura e decifratura sono operazioni simmetriche che usano la stessa parola chiave. Con il pulsante «Riporta il risultato in ingresso» potete provare subito a decifrare quanto avete appena cifrato.
- Maiuscole e minuscole del testo di partenza vengono conservate nell'aspetto del risultato; il calcolo dello scostamento avviene sulla posizione nell'alfabeto.
Quando torna utile il cifrario di Vigenère
Studiare e fare pratica di crittografia
In un corso o da autodidatti, si può lavorare su un vero cifrario polialfabetico lettera per lettera, invece di limitarsi a leggerne la teoria.
Creare materiale di esercitazione per il test di Kasiski
Generare un testo cifrato a partire da un testo in chiaro e da una parola chiave a scelta, e usarlo come esercizio per stimare il periodo di ripetizione e risalire alla chiave.
Creare cifrari per enigmi o escape room
Produrre un testo indizio un po' più difficile da decifrare rispetto a un cifrario di Cesare, senza dedicare molto tempo a calcolare gli scostamenti a mano.
Ricostruire sistemi di cifratura storici
Riprodurre passo dopo passo lo stesso metodo di cifratura storicamente associato alle comunicazioni militari e diplomatiche dell'Ottocento.
Termini legati al cifrario di Vigenère
- Cifrario a parola chiave
- Termine generale per i cifrari che ripetono una parola chiave fissa per determinare lo scostamento applicato a ogni lettera. Chiavi più lunghe e meno prevedibili rendono generalmente il cifrario più difficile da violare.
- Sostituzione polialfabetica
- Un cifrario che utilizza più di un alfabeto di sostituzione per un unico alfabeto di testo in chiaro. Il cifrario di Vigenère alterna, di fatto, tanti cifrari di Cesare quante sono le lettere della parola chiave.
- Tabula recta (quadrato di Vigenère)
- Una griglia 26×26 che elenca tutti i possibili schemi di scostamento, usata storicamente per cifrare e decifrare a mano. Le righe corrispondono alle lettere della chiave e le colonne a quelle del testo in chiaro.
- Attacco con testo in chiaro noto
- Una tecnica di crittanalisi che risale alla chiave supponendo di conoscere già parte del testo in chiaro corrispondente. Inizi prevedibili, come i saluti convenzionali, offrono spesso questo tipo di indizio.
- Robustezza del cifrario
- Una misura di quanto un cifrario resista a essere violato. Nel cifrario di Vigenère la robustezza dipende molto dalla lunghezza e dall'imprevedibilità della parola chiave: chiavi corte e ripetute introducono una periodicità individuabile che lo indebolisce.
- Cifrario di Vernam (one-time pad)
- Un cifrario che usa una chiave casuale monouso, lunga quanto il testo in chiaro. Se la parola chiave del cifrario di Vigenère viene sostituita da una chiave di questo tipo, diventa teoricamente indecifrabile.
Domande frequenti
A proposito — il test di Kasiski e la fine della «cifra indecifrabile»
Il cifrario di Vigenère porta il nome del diplomatico francese Blaise de Vigenère, vissuto nel Cinquecento, ma il vero ideatore fu un altro. Nel 1553 il crittologo italiano Giovan Battista Bellaso aveva già pubblicato un metodo dello stesso tipo, in cui una parola chiave fa variare lo scostamento lettera per lettera; Vigenère, dal canto suo, ideò un cifrario diverso che divenne noto solo nell'Ottocento attraverso i suoi scritti. È l'esempio tipico di un'attribuzione tramandata per errore.
Se il cifrario di Cesare usa un unico scostamento fisso e la macchina Enigma lo fa variare a ogni battuta con la rotazione meccanica dei rotori, Vigenère ottiene scostamenti diversi per ogni carattere ripetendo una chiave facile da ricordare. Un cifrario a scostamento unico si rompe con la sola analisi delle frequenze, mentre Vigenère appiattisce in apparenza quella distribuzione: per questo fino alla metà dell'Ottocento fu chiamato «la cifra indecifrabile» e restò in uso nella pratica.
A porre fine a quella fama fu il «test di Kasiski», pubblicato nel 1863 dall'ufficiale prussiano Friedrich Kasiski. Esaminando gli intervalli fra le sequenze che si ripetono nel testo cifrato si può stimare la lunghezza della chiave e, una volta nota, applicare a ogni posizione la semplice analisi delle frequenze, cioè la stessa tecnica usata contro il cifrario di Cesare. Un metodo rimasto valido per tre secoli veniva così sistematicamente violato: uno spartiacque nella storia della crittanalisi.
Va detto però che, se la chiave fosse lunga quanto il testo in chiaro e usata una sola volta, il cifrario di Vigenère equivarrebbe al «cifrario di Vernam», teoricamente indecifrabile. Il punto debole stava nell'uso reale, con chiavi corte e riutilizzate: una lezione storica sull'importanza della gestione delle chiavi che la progettazione crittografica moderna ha fatto propria.