Nel 1917 il signor Gilbert Vernam, impiegato della compagnia AT&T, inventó un ingegnosissimo sistema di protezione crittografica, per comunicazioni su telegrafo, dei testi codificati in binario. Egli costruı per prima cosa un dispositivo in grado di leggere contemporaneamente due nastri in input e generare a partire da essi un nastro di output tale che ciascun foro fosse generato mediante un XOR dei due corrispondenti fori sui nastri input. Dopodiché prese un nastro su cui era perforata una sequenza di caratteri casuale ed un nastro su cui era perforato un testo reale e li passó nella sua macchina. Il risultato fu un nastro completamente inintellegibile, ovvero cifrato.
In pratica, detto X il testo in chiaro e K la chiave, l'applicazione di X e K nella macchina di Vernam dá come risultato il testo cifrato Y. L'eleganza del metodo sta nel fatto che per risalire da Y a X basta inserire Y e K nella macchina, ottenendo X.
Il metodo di Vernam è notevole per molteplici aspetti. Innanzitutto, costituisce un
sistema crittografico ``reversibile'' nel quale, cioé, la medesima operazione e la
medesima chiave vengono usati sia per cifrare che per decifrare: un'enorme comoditá, come si
puó facilmente dedurre.
L'intuizione di Vernam è importante anche per un altro aspetto.
Il suo metodo è infatti l'unico ad essere teoricamente perfetto, ossia costituisce un
cifrario assolutamente indecifrabile in senso stretto.
Diciamo che un cifrario è teoricamente perfetto se gode della seguente proprietá
detta sicurezza perfetta: per ogni e
Questo significa che la conoscenza su X senza avere alcuna informazione su Y è uguale alla conoscenza su X una volta noto Y.
Per essere usato il metodo di Vernam, deve rispettare le seguenti 3 proprietá enunciate da Shannon nel '49:
Ci sono delle varianti che possono evitare di utilizzare delle chiavi cosı grandi, ma che fanno perdere la perfezione al sistema perché introducono delle dipendenze statistiche. Un esempio è quello di prendere una chiave in un grosso testo, come la Bibbia, specificando un punto di inizio qualunque: tutti i caratteri, da quel punto in poi, formeranno la chiave. La dipendenza statistica è insita proprio nel fatto che le parole devono avere senso compiuto. Inoltre la difficoltá per i crittoanalisti, oltre alla conoscenza della chiave (punto di inizio nel testo), sta anche nel capire qual è il testo utilizzato.
Il problema con le chiavi corte, che dunque devono essere riutilizzate ciclicamente nel corso del messaggio, è che producono, in uscita, delle regolaritá statistiche che possono essere usate dai crittoanalisti per forzare il cifrario.