Crittanalisi - Cifrari polialfabetici
Crittanalisi del Vigenere: il metodo Kasiski
Esempio - Metodo dei minimi quadrati

Il cifrario di Vigénère è stato per secoli considerato inattaccabile, ma si tratta in verità di una cifra piuttosto debole; consideriamo infatti l'esempio seguente:

Testo chiaro  - ARRIVANOIRINFORZI
Verme         - VERMEVERMEVERMEVE
Testo cifrato - VVIUZVRFUVDRWAVUM

Le due R di ARRIVANO vengono cifrate la prima con una V la seconda con una I come deve essere in un cifrario polialfabetico. Ma le due A vengono invece cifrate con la stessa lettera, la V. Come mai? Il motivo è evidente: le due A si trovano a cinque caratteri di distanza l'una dall'altra e cinque è proprio la lunghezza del verme! Di fatto il codice di Vigenere si riduce qui a cinque codici di Cesare intercalati.

Il primo a rendersi conto di questa debolezza del codice di Vigenere fu il colonnello prussiano Friedrich Kasiski, che nel 1863 pubblicò un metodo di decrittazione della tavola di Vigenere.

L'attacco alla Kasiski si basa sull'osservazione che in un crittogramma alla Vigenere si trovano spesso sequenze identiche di caratteri a una certa distanza l'una dell'altra; questo avviene evidentemente per il motivo esposto sopra; se p.es. usando la chiave VERME come sopra si scrive due volte la preposizione DEL a 30 caratteri di distanza questa sarà cifrata in modo identico essendo 30 un multiplo della lunghezza del verme che è 5.

Se allora si individuano tutte le sequenze ripetute (e in un testo lungo o in più testi se ne troveranno molte) allora è pressochè certo che il massimo comun divisore tra le distanze tra sequenze identiche è la lunghezza della chiave, o tutt'al più un suo multiplo.

Una volta individuata la lunghezza n del verme, il messaggio si riduce a n messaggi intercalati, tutti cifrati con un codice di Cesare ed è allora molto facile completarne la decrittazione.

Dopo Kasiski sono stati individuati altri metodi per forzare il cifrario di Vigenere e in generale i cifrari polialfabetici; ne presentiamo uno basato sul test del χ2.

La conclusione è che la cifra di Vigenere è affidabile solo quando il verme è di lunghezza comparabile a quella del testo e viene cambiato molto spesso, cosa che comporta problemi pratici non indifferenti (trasmissione e cambiamento della chiave richiedono un canale di comunicazione assolutamente sicuro). Al limite con un verme di lunghezza infinita il cifrario sarebbe sicuro al 100%, come ha dimostrato Shannon, e in questo caso prende piuttsto il nome di cifrario di Vernam;