Storia della crittografiaCifrari polialfabetici
La tavola di Vigenère
Il trattato e la tavola di VigenèreCrittanalisiCrittanalisi automatica
Storicamente

Blaise de Vigenère pubblicò nel 1586 un trattato di cifre nel quale proponeva una cifra che usava la recta tabula dell'abate Tritemio in combinazione con la parola chiave (contrasgno) proposta da G. B. Bellaso nella sua cifra del 1553; la tavola era quadrata 20x20 usando l'alfabeto latino classico, prese poi il nome di tavola di Vigenère e ne entrò nella letteratura crittografica una versione più semplice di quella pubblicata nel trattato; si tratta di una cifra di sostituzione polialfabetica.

Esempio interattivo
Alfabeto
Chiaro+Verme
VIGENERE
Chiaro
Chiave
Cifrato

La tavola di Vigenère
Alfabeto latino classico 20 lettere : ABCDEFGHILMNOPQRSTVX
tavola

Il Vigenère ha goduto per secoli fama di indecifrabilità, alquanto esagerata; la cifra è debolissima quando viene usata con chiavi brevi e facili da tenere a memoria, come era normale; nel 1863 il colonnello prussiano F. Kasiski pubblicò un metodo generale di decrittazione, ma è verosimile che metodi simili fossero già noti agli uffici crittografici. In effetti non risulta nemmeno che sia stata molto usata dalle diplomazie europee, che preferivano in genere i nomenclatori, meno sensibili agli errori dei segretari addetti alla cifra. Fu piuttosto usato in ambito militare, come cifra da campo, per comunicazioni brevi, telegrafiche e non troppo importanti; un esempio è quello del cifrario militare tascabile, una variante del Vigenère, usato dall'esercito italiano all'inizio della Grande Guerra, mezzo secolo dopo la pubblicazione del metodo Kasiski.

La sua fama durò insomma fino a molti decenni dopo che era stato pubblicato il metodo Kasiski, al quale altri seguirono, vedi per esempio: metodo dei minimi quadrati. Una fama che dura tuttora, essendo presentata insieme a quella di Cesare, proprio per la loro semplicità, come l'ABC della crittografia,

Va detto che la sicurezza del Vigenère dipende in modo essenziale dalla lunghezza della chiave; si possono ricavare cifrari molto più sicuri usando alfabeti disordinati, oppure chiavi molto lunghe e disordinate, che al limite portano al cifrario di Vernam, considerato il cifrario teoricamente perfetto.


Il metodo

Il metodo si può considerare una generalizzazione del cifrario 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 chiave è detta anche 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

Come detto sopra, Vigenère usa la tavola quadrata del Tritemio, 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 alle cifre mono-alfabetiche è 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 finestra qui sopra si può cifrare un qualsiasi testo con una data chiave; si può anche provare a decrittarlo alla pagina crittanalisi automatica del Vigenère


Matematicamente

Matematicamente il Vigenère equivale a un'addizione modulo $N$ dove $N$ è il numero di lettere dell'alfabeto (vedi aritmetiche modulari). Detta $x$ la posizione della lettera del chiaro nell'alfabeto usato (A = 0, B = 1 ...) e detta $v$ la posizione della corrispondente lettera del verme, la $y$ posizione della lettera cifrante è:

$$ y = x + v \pmod N $$


Riferimenti bibliografici
Siti e pagine web