Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Il codice di Vigènere

Il primo metodo di cifratura
Il primo metodo di cifratura
Link copiato negli appunti

Il codice di Vigenère si basa un'operazione che viene chiamata sostituzione polialfabetica, molto più sicura di una semplice sostituzione monoalfabetica.

Il Vigenère propose l'uso della tavola quadrata, composta da alfabeti ordinati spostati di una lettera. Il metodo Vigenère ebbe una fortuna immediata, era così efficace che per molti anni fu chiamto "il cifrario indecifrabile" e fu molto usato nell'ambito militare anche dopo che gli analisti ne scoprirono il metodo di decrittazione.

La tavola è composta dalla lista decifrante scritta orizzontalmente in testa; le liste cifranti sono solo le 26 sottostanti ciascuna individuata dalla loro prima lettera che fa parte della chiave per cifrare e decifrare. Ecco la tavola:

Figura 2. Tavola di Vigenère
Tavola di Vigenère

Per utilizzare la tavola e cifrare un primo messaggio è necessario dunque scegliere una chiave, ad esempio HTML. A questo punto la tavola appena vista si riduce di qualche riga, cinque per essere esatti, costituite dalla prima e dalle quattro righe che iniziano con le lettere della chiave. La tavola che segue sarà quindi sufficiente per eseguire la cifratura:

Figura 3. Le chiavi
Le chiavi

Per cifrare si dovrà prima di tutto scrivere le lettere del verme sotto a quelle del testo chiaro e cercare, per ogni lettera del chiaro, la corrispondente cifrata nell'incrocio tra la colonna individuata dalla lettura chiara (quelle della prima riga) e la linea individuata dalla lettera chiave.

PROVADICIFRATURA
HTMLHTMLHTMLHTML

Nel nostro caso quindi alla prima lettera (P) corrisponde la lettera W, trovata dall'incrocio tra la colonna identificata dalla lettera P e la riga identificata dalla lettera H. Alla seconda lettera (R) corrisponde la lettera K, trovata dall'incrocio tra la colonna R e la riga T. Si continua di questo passo utilizzando la chiave in un ciclo continuo fino a cifrare tutto il testo.

Il risultato finale della cifratura è:

WKAGHWUNPYDLANDL

La forza di questo cifrato sta nel fatto che il numero di chiavi è enorme, quindi gli attacchi praticati con la forza (ad esempio provare tutte le possibili combinazioni) non sono praticabili. Per quasi trecento anni rimase infatti inviolato ma poi cadde di fronte all'analisi del colonnello prussiano Friedrich Kasiski, che nel 1863 pubblicò un libro che conteneva un metodo di decrittazione della tavola di Vigenère e del suo cifrario polialfabetico con chiave ripetuta. Considerando infatti l'esempio precedente:

PROVADICIFRATURA - testo in chiaro
HTMLHTMLHTMLHTML - chiave
WKAGHWUNPYDLANDL - testo cifrato

Le due R del testo in chiaro vengono cifrate la prima con una T la seconda con una M come deve essere in un cifrario polialfabetico. Ma le ultime due A vengono invece cifrate con la stessa lettera, la L. Il motivo è evidente: le due A si trovano a quattro caratteri di distanza l'una dall'altra e quattro è proprio la lunghezza della chiave. Di fatto il codice di Vigenère si riduce qui a cinque codici di Cesare intercalati.

L'attacco di Kasiski si basa quindi sull'osservazione che in un crittogramma alla Vigenère si trovano spesso sequenze identiche di caratteri a una certa distanza l'una dell'altra. Questo avviene evidentemente per il motivo esposto sopra, il fatto cioè di utilizzare ciclicamente la stessa chiave. Se per esempio usando una chiave di quattro lettere come sopra, e si scrive due volte la stessa parola a 20 caratteri di distanza questa sarà cifrata in modo identico essendo 20 un multiplo della lunghezza della chiave che è cinque.

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 comune divisore tra le distanze tra sequenze identiche è la lunghezza della chiave, o tutt'al più un suo multiplo. Una volta individuata la lunghezza della chiave (supponiamo sia quattro), il messaggio si riduce a quattro messaggi intercalati, tutti cifrati con un codice di Cesare ed è allora molto facile completarne la decifratura.

La conclusione è che la cifra di Vigenère è affidabile solo quando la chiave è di lunghezza comparabile a quella del testo e viene cambiata molto spesso, cosa che comporta problemi pratici non indifferenti (trasmissione e cambiamento della chiave richiedono un canale di comunicazione assolutamente sicuro).

Ti consigliamo anche