Il metodo di Vigenere

di Fabrizio Sinopoli

Pubblicato 21 Agosto 2008
Aggiornato 12 Febbraio 2018 20:49

logo PMI+ logo PMI+

Il metodo di Vigenere è il classico esempio di metodo di sostituzione polialfabetica.

Fu inventato da Blaise de Vigénère nel 1586, anche se creò un codice più sofisticato, ma il suo nome rimase associato a questo codice più debole.

Si può dire che il codice di Vigénere è più sicuro di una semplice sostituzione monoalfabetica. Vigénère propose l’uso della tavola quadrata, composta da alfabeti ordinati spostati. Introdusse poi nel suo uso il verme letterale proposto da Della Porta, ottenendo una cifra in verità più debole e più scomoda delle precedenti.

Il metodo Vigénère ebbe una fortuna immediata e fu molto usato nell’ambito militare anche dopo che ne fu scoperto il metodo di decfratura.

La tavola è composta dalla lista decifrante scritta orizzontalmente in testa; le liste cifranti sono solo le 26 sottostanti, individuate ciascuna dalla loro prima lettera. Per cifrare si dovrà prima di tutto scrivere le lettere del verme sotto a quelle del testo chiaro; basterà quindi cercare, per ogni lettera del chiaro, la corrispondente cifrata nell’incrocio tra la colonna individuata dalla lettura chiara e la linea individuata dalla lettera chiave.

Il codice di Vigénère richiede la tavola indicata sotto.

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

B C D E F G H I J K L M N O P Q R S T U V W X Y Z A

C D E F G H I J K L M N O P Q R S T U V W X Y Z A B

D E F G H I J K L M N O P Q R S T U V W X Y Z A B C

E F G H I J K L M N O P Q R S T U V W X Y Z A B C D

F G H I J K L M N O P Q R S T U V W X Y Z A B C D E

G H I J K L M N O P Q R S T U V W X Y Z A B C D E F

H I J K L M N O P Q R S T U V W X Y Z A B C D E F G

I J K L M N O P Q R S T U V W X Y Z A B C D E F G H

J K L M N O P Q R S T U V W X Y Z A B C D E F G H I

K L M N O P Q R S T U V W X Y Z A B C D E F G H I J

L M N O P Q R S T U V W X Y Z A B C D E F G H I J K

M N O P Q R S T U V W X Y Z A B C D E F G H I J K L

N O P Q R S T U V W X Y Z A B C D E F G H I J K L M

O P Q R S T U V W X Y Z A B C D E F G H I J K L M N

P Q R S T U V W X Y Z A B C D E F G H I J K L M N O

Q R S T U V W X Y Z A B C D E F G H I J K L M N O P

R S T U V W X Y Z A B C D E F G H I J K L M N O P S

S T U V W X Y Z A B C D E F G H I J K L M N O P Q R

T U V W X Y Z A B C D E F G H I J K L M N O P Q R S

U V W X Y Z A B C D E F G H I J K L M N O P Q R S T

V W X Y Z A B C D E F G H I J K L M N O P Q R S T U

W X Y Z A B C D E F G H I J K L M N O P Q R S T U V

X Y Z A B C D E F G H I J K L M N O P Q R S T U V W

Y Z A B C D E F G H I J K L M N O P Q R S T U V W X

Z A B C D E F G H I J K L M N O P Q R S T U V W X Y

Il codice richiede anche una chiave (detta anche verme): il testo cifrato è formato scrivendo la chiave sotto il testo non cifrato.

Nel seguente esempio, si userà il testo non cifrato “arrivano i rinforzi” e la chiave VERME. Per cifrare il testo, bisogna usare la tabella di Vigénère: ogni lettera sarà crittografata usando la corrispondente della tabella. Per usare la tabella, basta cercare la riga della lettera del testo chiaro, per esempio A e quindi la colonna della corrispondente lettera della chiave, per esempio V; all’incrocio tra riga e colonna si trova la lettera del testo cifrato, in questo caso “V”. Poi, si continua così per le altre lettere, così da ottenere il testo crittografato completo.

  • Testo chiaro arrivanoirinforzi;
  • Verme VERMEVERMEVERMEVE;
  • Testo cifrato VVIUEVRFDMIJFDDDM.

Una data lettera del testo chiaro non è sempre cifrata con la stessa lettera; per esempio la prima R è cifrata con V, la seconda con I.

Questa è del resto una caratteristica di tutti i codici polialfabetici. La decodifica è semplice quando si conosce la chiave. Basta semplicemente trovare la lettera della chiave dal lato della tabella, leggendo lungo la riga per trovare la lettera del testo cifrato e muovendosi poi dall’alto della colonna per trovare la lettera originale del testo non cifrato.

  • Testo cifrato VVIUEVRFDMIJFDDDM;
  • Verme VERMEVERMEVERMEVE;
  • Testo chiaro arrivanoirinforzi.