Le chiffre indéchiffrable, ovvero la cifratura di Vigenère
- Elena
- 13 mag 2016
- Tempo di lettura: 2 min
Intorno alla fine del '400 Leon Battista Alberti scrisse un saggio su una nuova scrittura segreta: una crittografia polialfabetica. Egli lasciò, però, la sua scoperta incompiuta e furono altri due scienziati (Johannes Trithemius e Giambattista Della Porta) a continuare il suo lavoro; fu, però, Vigenère a dare a questo sistema la sua forma definitiva.

Attraverso questo tipo di cifratura è possibile crittare lo stesso testo con più alfabeti in modo da nascondere alla vista le ripetizioni e rendere, così, più complicata la decrittazione.
Questo sistema rimase inviolabile per secoli guadagnandosi il nome di "chiffre indéchiffrable". Fino al 1854 quando Babbage, raccogliendo una sfida, riuscì per la prima volta a violare il sistema di Vigenère.
La tavola di Vigenère utilizzata per crittare e decrittare i messaggi si presenta così:

Il testo chiaro viene scritto sotto ad una chiave (come per la cifratura di Cesare) che viene ripetuta più volte fino a coprire l'intero testo; ogni lettera verrà poi cifrata/decifrata in base alla lettera della chiave che le si trova sopra. In pratica, usando la tabella, bisognava rintracciare la lettera del testo in chiaro nella prima riga in alto e cifrarla utilizzando la lettera indicata dalla chiave. Facendo un esempio se la parola chiave è SOLE e devo cifrare MONTAGNA il risultato sarà:
S O L E S O L E
M O N T A G N A
ecyxsuye
In questo modo si è ottenuta una cifratura polialfabetica apparentemente insolubile in assenza della chiave. In realtà, con testi più lunghi, è possibile risalire alla chiave, o almeno alla sua lunghezza. Il procedimento individuato da Babbage per rompere una cifratura di Vigenère è il seguente:
1) Individuare le ripetizioni: in un testo abbastanza lungo è possibile che qualche parola (le più frequenti) siano cifrate allo stesso modo a causa della ripetizione della chiave;
2) Il passo successivo è riuscire ad individuare l'elenco dei numeri per i quali le distanze tra le parole che sono cifrate allo stesso modo sono divisibili senza resto, così da poter compilare una tabella. Attraverso questa tabella si può intuire la lunghezza della chiave;
3) Una volta scoperta la lunghezza della chiave è necessario assegnare un numero ad ogni alfabeto cifrante: nel caso del nostro esempio avremo L1 (e,s) L2 (c,u) L3 (y,y) L4 (t,a) per distinguere gli alfabeti cifranti. Ogni cifratura monoalfabetica ha, infatti, cifrato una parte del crittogramma (in base alla lunghezza della chiave);
4) Si può quindi procedere dividendo le lettere in base al numero (L1, L2, L3...) e fare l'analisi delle frequenze per ogni gruppo, così facendo si individueranno le lettere dell'alfabeto chiaro e laddove la statistica non fosse d'aiuto per la vicinanza dei valori, usare l'intuito seguendo il senso del testo che si va formando.
댓글