Crittografia

One-Time pad o cifrario di Vernam

 

 

Questo sistema è in assoluto il più sicuro che esista, tanto che è stato utilizzato per crittare le comunicazioni tra presidenti USA-URSS durante la guerra fredda (il famoso telefono rosso). Il primo a proporlo fu appunto G.S. Vernam. Il padre della Teoria dell'Informazione, Claude Shannon, ha dimostrato nel 1949 che ogni cifrario teoricamente sicuro è un cifrario di Vernam.

Il suo funzionamento è simile a quello realizzato dall'imperatore Augusto, con la differenza che la chiave di crittografazione deve essere una sequenza casuale di caratteri ed avere una lunghezza pari o superiore al testo in chiaro da cifrare (dicesi "chiave infinita"). In queste condizioni, decrittare il testo cifrato è matematicamente impossibile senza conoscerne la chiave, in quanto tutti i testi in chiaro sarebbero equiprobabili, come l'equivalente loro testo cifrato. In altre parole, non esiste un sistema di attacco statistico o un sistema di crittoanalisi.

 

Note importanti

Il sistema si chiama one-time pad (o a chiave non riutilizzabile), perché la chiave non può essere utilizzata più di una volta. Ad ogni nuovo testo cifrato, deve corrispondere una differente chiave. Se così non fosse, verrebbe eliminata la casualità della chiave, dato che:

lo scostamento tra Cifrato1 e Cifrato2 sarebbe l'equivalente scostamento fra Testo1 e Testo2. Infatti, sapendo che:

Cifrato1=testo1+chiave1

Cifrato2=testo2+chiave1

ne deriva appunto che:

Cifrato1-Cifrato2=Testo1+Chiave1-Testo2-Chiave1= Testo1-Testo2

 

Dato che al giorno d'oggi la decrittazione viene effettuata con i computers, trovarsi nella situazione sopra menzionata sarebbe un disastro, dato che basterebbe tentare le combinazioni di lettere la cui distanza è indicata dalla differenza delle due cifrature.

 

L'algoritmo in questione è di scomodissimo utilizzo, in quanto la chiave di cifratura è generalmente sempre molto lunga (deve esserlo quanto il testo da cifrare), e dovendo essere casuale, è anche impossibile da ricordare a mente. Inoltre, a titolo "puritano", un computer non potrà mai utilizzare questo sistema se non interfacciato con un generatore casuale esterno, dato che un computer può generare solo sequenze pseudo-casuali.

 

Xfolder si nasce basandosi su questo algoritmo, con una tecnica particolare che ne permette un comodo uso. A livello teorico però, anche Xfolder non può essere definito One-Time Pad per il semplice motivo che la casualità della chiave, richiesta dall'algoritmo in esame, non è fisicamente generabile da un computer e deve ricercarsi in metodi esterni ad esso, (ad esempio una scimmia che balla sulla tastiera, rumore negli amplificatori, ecc.). Per questo motivo, Xfolder è semplicemente definito come sistema Polialfabetico a chiave infinita, tralasciando quindi la casualità della chiave. Leggere la sezione Xfolder per ulteriori informazioni sulle tecniche usate per superare il problema.