Mar 17 2004

Vernam


by tonycrypt

Il sistema Vernam è un caso particolare della cifratura One time-Pad. La cifratura detta a chiave infinita o one-time pad consiste nel generare una chiave composta il più possibile da lettere, numeri e simboli disposti in modo casuale, e di una lunghezza almeno pari alla lunghezza del testo da criptare. Quindi per ogni carattere del testo in chiaro aggiungiamo (come somma di valori ASCII ad esempio) un carattere della chiave, ottenendo il testo criptato. E’ facile intuire che una cosa del genere è praticamente impossibile da decifrare, in quanto si basa su una chiave ottenuta in modo assolutamente casuale (entropia massima) e senza la possibilità di analizzare delle ripetizioni nel testo, in quanto la chiave ha appunto la lunghezza stessa del testo. Questo sistema di codifica è usato per ottenere i più alti gradi di sicurezza militare, ma ha il grosso difetto di non essere impiegabile su vasta scala o per messaggi particolarmente lunghi. Alcuni algoritmi sono stati costruiti approssimando il sistema a chiave infinita con l’espansione di una chiave relativamente breve. Il sistema “Vernam”, ad esempio, usato nelle trasmissioni telegrafiche, usava lunghi nastri di carta contenenti dei bit casuali, i quali erano aggiunti ai bit del messaggio originario.
Il sistema Vernam può comportare degli svantaggi dovuti all’espansione della chiave, se questa ha lunghezza molto inferiore a quella del messaggio da cifrare. Risulta dunque conveniente usare chiavi molto lunghe e, soprattutto, più casuali possibili. Si tratta di un algoritmo efficientissimo, ma, essendo a chiave privata, comporta non pochi limiti.
Tonycrypt.com e digitalspaghetti.net hanno realizzato dei software che consentono di cifrare secondo il sistema Vernam.

Scarica i software:

Vernam – In visual basic per sistemi Windows

Red Vernam – in Java multipiattaforma

Red Vernam