Storia della crittografiaCifrari polialfabetici
Il cifrario di Vigenère
Crittanalisi - Crittanalisi automatica

Blaise de Vigenère pubblicò nel 1586 un trattato di cifre nel quale proponeva tra gli altri un codice che ebbe grande fortuna e che è ricordato con il suo nome. Si tratta del più semplice codice di sostituzione polialfabetica, e proprio per la sua semplicità ha goduto per secoli di una fama immeritata, essendo molto più debole di altri codici polialfabetici precedenti come il disco dell'Alberti, o le cifre del Bellaso. Tale fortuna è durata fino a molti decenni dopo che era stato pubblicato un primo metodo di decrittazione: quello del Kasiski; e altri metodi di crittanalisi sono possibili.

Un cifrario molto più sicuro si ha usando alfabeti disordinati. Dal cifrario di Vigenère deriva poi il cifrario di Vernam, considerato il cifrario teoricamente perfetto.

Il metodo

Il metodo si può considerare una generalizzazione del codice di Cesare; invece di spostare sempre dello stesso numero di posti la lettera da cifrare, questa viene spostata di un numero di posti variabile, determinato in base ad una parola chiave, da concordarsi tra mittente e destinatario, e da scriversi sotto il messaggio, carattere per carattere; la parola è detta verme, per il motivo che, essendo in genere molto più corta del messaggio, deve essere ripetuta molte volte sotto questo, come nel seguente esempio:

Testo chiaro - ARRIVANOIRINFORZI Verme - VERMEVERMEVERMEVE Testo cifrato - VVIUZVRFUVDRWAVUM

tavola

Il testo cifrato si ottiene spostando la lettera chiara di un numero fisso di caratteri, pari al numero ordinale della lettera corrispondente del verme. Di fatto si esegue una somma aritmetica tra l'ordinale del chiaro (A = 0, B = 1, C = 2 ...) e quello del verme; se si supera l'ultima lettera, la Z, si ricomincia dalla A. Matematicamente il Vigenère si riduce a un'addizione modulo 26 (vedi aritmetiche finite).

Per semplificare questa operazione il Vigénère propose l'uso della seguente tavola quadrata, composta da alfabeti ordinati spostati. Volendo ad esempio cifrare la prima R di ARRIVANO si individuerà la colonna della R, quindi si scenderà lungo la colonna fino alla riga corrispondente della corrispondente lettera del verme (qui E); la lettera trovata all'incrocio è la lettera cifrata (qui V); la seconda R invece sarà cifrata con la lettera trovata sulla riga della R di VERME, e cioé con la I.

Il vantaggio rispetto ai codici mono-alfabetici è evidente: la stessa lettera del testo chiaro non è sempre cifrata con la stessa lettera; e questo rende più difficile l'analisi statistica del testo cifrato e la decrittazione.

Chi riceve il messaggio per decifrarlo deve semplicemente usare il metodo inverso (sottrarre invece che sommare); riferendosi all'esempio di sopra si avrà:

Testo cifrato - VVIUZVRFUVDRWAVUM Verme - VERMEVERMEVERMEVE Testo chiaro - ARRIVANOIRINFORZI

si potrà decifrare la seconda V ricercandola nella riga della corrispondente lettera del verme, la E; la colonna dove si trova la V ha al primo posto in alto la lettera chiara, la R.

Usando le finestre qui sotto si può cifrare un qualsiasi testo con una data chiave; si può poi provare a decrittarlo alla pagina crittanalisi automatica del Vigenère

Verme
Alfabeto usato ABCDEFGHIJKLMNOPQRSTUVWXYZ
Testo chiaro

Testo cifrato


Riferimenti bibliografici
Siti e pagine web