Cifrario di Vegenère

Il diplomatico francese Blaise de Vigenère (1523-1596) perfezionò il cifrario polialfabetico di Alberti utilizzando ben 26 alfabeti cifranti (tanti quante le lettere dell'alfabeto) e ogni lettera del messaggio in chiaro veniva cifrata da uno dei 26 alfabeti cifranti. Per stabilire l'ordine e quali alfabeti cifranti devono essere utilizzati si sceglie una parola o una frase chiave facile da ricordare che il mittente e il destinatario concordano. La lunghezza della parola chiave determina il periodo con cui si ripetono gli alfabeti cifranti. Con queste modifiche il cifrario di Vigenère fu ritenuto più complicato rispetto a quello di Alberti e quindi considerato più sicuro per il mittente e il destinatario ma più complicato e quindi difficile per un crittoanalista. Vediamo con un esempio come funzione questo cifrario. Supponiamo che la parola chiave sia TEMPO. Essendo 5 la lunghezza della parola chiave verranno utilizzati cinque alfabeti cifranti che si ripeteranno ciclicamente. Trasformiamo tale parola in un vettore numerico che è dato dalle posizioni di ogni singola lettera della parola chiave nell'alfabeto ordinario numerato da 0 a 25:

T=19, E=4, M=12, P=15, O=14 → [19, 4, 12, 15, 14]

Ora, se vogliamo cifrare la parola matematica consideriamo l'alfabeto ordinario preso ciclicamente e procediamo in questo modo:

il primo carattere m viene traslato di 19 posti;

il secondo carattere a viene traslato di 4 posti;

il terzo carattere t viene traslato di 12 posti;

il quarto carattere e viene traslato di 15 posti;

il quinto carattere m viene traslato di 14 posti;

il sesto carattere a viene traslato di 19 posti;

il settimo carattere t viene traslato di 4 posti;

l'ottavo carattere i viene traslato di 12 posti;

il nono carattere c viene traslato di 15 posti;

il decimo carattere a viene traslato di 14 posti.

Si ottiene cosí la cifratura

FEFTATXURO

Come si vede a lettere uguali nel messaggio in chiaro non corrispondono in generale a lettere uguali nel messaggio cifrato e a lettere diverse nel messaggio in chiaro possono corrispondere lettere uguali nel messaggio cifrato. Inoltre, la cifratura di Vigenère ammette un numero elevato di chiavi.

Per rendere più facile la codifica del messaggio in chiaro Vigenère propose di utilizzare una tabella a doppia entrata costituita da 26 righe e 26 colonne. Nella prima riga viene riportato l'alfabeto ordinario seguito da 25 alfabeti cifranti ciascuno traslato a sinistra di una lettera rispetto a quello precedente.

In questa tabella ogni casella rappresenta una lettera del testo cifrato che ha per ascissa la lettera del testo in chiaro e per ordinata la lettera della chiave. Ad esempio se il testo in chiaro è matematica e la parola chiave è TEMPO allora la cifratura è costituita dalle caselle che hanno per coordinate:

(m, T); (a, E); (t, M), (e, P), (m, O), (a, T), (t, E), (i, M), (c, P), (a, O)

L'ordinata può anche essere espressa mediante il vettore numerico corrispondente alla parola chiave scelta TEMPO.

(m, 19); (a, 4); (t, 12), (e, 15), (m, 14), (a, 19), (t, 4), (i, 12), (c, 15), (a, 14)

Con il cifrario a sostituzione polialfabetica di Vigenère viene superata la debolezza dei cifrari monoalfabetica perchè non c'è piè la corrispondenza delle frequenze tra le lettere in chiaro e le lettere cifrate.

© giuseppe sarnataro