Il Cifrario di Vernam e l’importanza della chiave

Come brevemente accennato sopra, un cifrario si basa su due presupposti: un algoritmo che definisce le regole per l’operazione di cifratura e per quella di decifratura, e una chiave che rende il risultato dell’applicazione dell’algoritmo parametricamente dipendente dalla chiave stessa. Ad esempio, nel codice di Cesare l’algoritmo è la regola di trasposizione letterale e la chiave è il fattore di trasposizione (1..25).

 
[adsense:block:adcontenuto]
 
Si è presto verificato che la sicurezza di un cifrario dipende dalla lunghezza della chiave poiché da questa dipende il numero di varianti dell’applicazione dell’algoritmo che si possono ottenere. Più varianti sono possibili e più è difficile che si riesca in tempi ragionevoli a identificare la chiave, provando tutte le combinazioni dell’algoritmo di decifratura sul messaggio cifrato (attacco esaustivo). L'idea proposta da G.S.Vernam nel 1926, per il cifrario che porta il suo nome, conduce ad un cifrario intrinsecamente sicuro; viene generata una chiave del tutto casuale, e dunque imprevedibile, lunga come il testo in chiaro, che viene sommato" alla chiave per dare il messaggio cifrato. Il noto teorico dell’informazione Claude Shannon ha dimostrato nel 1949 che ogni cifrario "teoricamente sicuro" è un cifrario di Vernam (e viceversa).
 
[adsense:block:adcontenuto]
 
Infatti se la chiave è totalmente casuale e lunga come il testo, allora il testo cifrato non contiene alcuna informazione sul testo in chiaro, ed è del tutto al sicuro dagli attacchi della crittoanalisi statistica. Per avere una sicurezza assoluta non si dovrebbe mai riutilizzare la stessa chiave: se si utilizza più volte la stessa chiave infatti questa torna ad essere più breve del messaggio, o meglio della somma di tutti i messaggi, e il cifrario non è più perfetto. Dovendo la chiave lunga come il testo essere preventivamente comunicata al destinatario in modo sicuro, il mittente deve generare periodicamente una chiave casuale lunghissima, passarla in modo sicuro al destinatario ed usarla a pezzetti, in base alla lunghezza dei messaggi trasmessi, fino ad esaurimento. Questi limiti rendono difficilmente utilizzabile questo metodo generale.
 
Nonostante ciò sembra che questo cifrario sia stato usato effettivamente negli anni della guerra fredda dai servizi segreti dell'Est e per il telefono rosso tra Washington e Mosca. Un cifrario di Vernam era anche quello trovato addosso al Che Guevara dopo la sua uccisione nel 1967.

 

Risorse per sviluppo: 

Ti potrebbero anche interessare:

Sezione Hosting per Drupal!

E' attualmente in sviluppo una sezione del sito interamente dedicata agli hosting per drupal, quindi hosting linux configurati e pensati appositamente per sfruttare al massimo delle risorse il nostro caro cms. La sezione sarà arricchita da classifiche, comparazioni e caratteristiche vincenti e non di ogni singolo provider e relativa offerta.
Blog: 

Drupal-Patch AuthorContact: Aggiungere campi al modulo di contatto dell'autore

L'Author Contact è un utilissimo modulo per Drupal che predispone un blocco con una form di contatto all'autore del nodo. Ecco rilasciata la patch per estendere i campi disponibili e renderlo un po simile a webform

Drupal: 

Come creare velocemente un business online

Molte persone mi chiedono quali sono le fasi necessarie per creare velocemente un business online. La risposta è sorprendentemente semplice. O meglio: semplice si ma il "velocemente" potrebbe non esser per tutti. Qualsiasi attività o lavoro online difficilmente riesce a portare le soddisfazioni volute in poco tempo. Ma questa appunto è una variabile che dipende per lo più dal tuo grado di conoscenze e passioni iniziali.

Internet Marketing: 

L’algoritmo RSA e altri algoritmi

 

Il più conosciuto e utilizzato algoritmo a chiavi asimmetriche è stato proposto da Rivest, Shamir e Andleman nel 1978 e porta come nome la sigla dei cognomi dei suoi inventori. L’algoritmo sfrutta l’approccio di Diffie/Hellman e si basa sulla fattorizzazione di numeri interi grandi.
Risorse per sviluppo: