Alcuni concetti di crittografia...

Messaggioda lupo grigio » 27/07/2007, 13:37

Ragazzi
visto che è stato detto da fonte autorevole che questa sezione è 'poco attiva', oggi avviamo una discorso generale sulla crittografia che ci consentirà, nei limiti del possibile, di maneggiare un poco meglio la materia...

Supponiamo di avere un ‘testo in chiaro’ [plaintext…] costituito da una sequenza di simboli $m_i$, $i=1,2,3,…$ tratti da un ‘dizionario’ che contiene in tutto $M$ possibili simboli. Nel caso di un testo scritto in lingua inglese i simboli possono essere le ventisei lettere dell’alfabeto [in tal caso i ‘numeri’ come li intendiamo comunemente sono rappresentati da gruppi di lettere…] per cui è $M=26$ e ciascuna $m_i$ è rappresentabile con un numero non negativo e non superiore a $25$, ossia ‘modulo $26$’. Supponiamo di doverlo a tutti i costi trasmettere e di essere nella necessità di evitare in ogni modo che il suo contenuto sia conosciuto da altri che non sia il ‘legittimo destinatario’. In tal caso è possibile proteggere il contenuto del testo in chiaro ‘aggiungendogli’ una sequenza opportuna di simboli $M$-dari $k_i$ , $i=1,2,3,…$ chiamata ‘chiave di cifratura’ [keystream…], nota solo a noi e al destinatario. Otteniamo così il ‘testo in cifra’ [ciphertext…], rappresentato dalla sequenza…

$c_i=m_i+k_i$, $i=1,2,3,…$ (1)

… ove l’operazione di somma è da intendersi ‘in modulo $M$’. Il testo cifrato è ottenuto sommando al testo in chiaro la chiave di cifratura. L’operazione di sottrazione della chiave consente di ricavare dal testo in cifra il testo in chiaro. Le due operazioni di cifratura e decifratura sono illustrate schematicamente in figura…


Immagine


Tale forma di cifratura del resto è una delle più antiche che si conoscano. Utilizzando l’alfabeto standard di 26 lettere, ad ogni lettera è possibile associare un numero secondo la tabella seguente…

a:0
b:1
c:2
d:3
e:4
f:5
g:6
h:7
i:8
j:9
k:10
l:11
m:12
n:13
o:14
p:15
q:16
r:17
s:18
t:19
u:20
v:21
w:22
x:23
y:24
z:25

L’operazione di cifratura consiste in questo caso nel ‘sostituire’ una lettera di indice $i$ con la lettera da essa distante $k_i$ posizioni. Per agevolare questa operazione in passato si usavano speciali dispositivi, come ad esempio il ‘disco cifrante’, di cui qui sotto potete vedere un modello usato dall’esercito confederato al tempo della guerra civile americana…

[img]http://digilander.libero.it/luposabatini/Enigma[1].jpg[/img]

La forma più semplice di una cifratura di questo tipo si ha quando la chiave $k_i$ è costante. La prima forma di cifratura a chiave costante di cui si ha notizia è descritta nella Vita dei Cesari di Svetonio ed è da lui attribuita a Giulio Cesare, così che ancora oggi è chiamata ‘Cifratura di Cesare’. Svetonio menziona solo lo spostamento di tre lettere, anche se si deve supporre che Cesare sia ricorso anche ad altre chiavi. Con $k=3$ ed alfabeto di 21 lettere un esempio di messaggio cifrato potrebbe essere il seguente…

Testo in chiaro: veni vidi vici
Testo in cifra:bhqn bngn bnfn

Tale forma di cifratura ha ‘resistito’ per alcuni secoli fino a quando i gli arabi non hanno introdotto un potente strumento di crittoanalisi che ha messo in crisi la cifratura di Cesare, detta anche monoalfabetica. Prima di proseguire però facciamo la conoscenza con tre personaggi che incontreremo spesso in futuro: Alice, Bob ed Eva. Alice e Bob sono amanti e si tengono in contatto epistolare sia per rafforzare la loro unione, sia soprattutto per stabilire dove incontrarsi ‘furtivamente’. Sfortuna vuole che Bob sia sposato con una certa Eva, la quale è per natura assai ‘sospettosa’ ed ha l’abitudine di ‘controllare’ Bob in ogni possibile modo. Possiamo dunque immaginare che cosa accadrebbe se Eva dovesse ‘intercettare’ un messaggio di Alice diretto a Bob e questo fosse ‘in chiaro’. Da qui la necessità per Alice e Bob di comunicare tra loro esclusivamente in cifra. Ipotizziamo ora che Alice voglia comunicare a Bob che lo aspetta a mezzanotte alla ‘casa dei cipressi’, un luogo che entrambi conoscono bene. Alice e Bob hanno preventivamente concordato di utilizzare la cifratura monoalfabetica con alfabeto di $26$ lettere e abbiano scelto una chiave costante $k=10$. Ecco quindi come potrebbe essere il messaggio…

Testo in chiaro: amor mio a mezzanotte casa dei cipressi
Testo in cifra: kwyb wsy k wojjkxyddo mkck nos mszcoccs

Dopo aver cifrato il messaggio, Alice lo invia a Bob e fiduciosa attende che si faccia buio per dirigersi non vista alla casa dei cipressi. Il diavolo però ci mette la coda ed Eva riesce ad intercettare il messaggio diretto a Bob senza che questi lo sappia. Aperto il messaggio Eva capisce che è scritto ‘in codice’ e questo non fa che accrescere la sua voglia si smascherare le malefatte del marito. Quali strumenti ha Eva per ricostruire il testo in chiaro?… Di primo acchito si potrebbe supporre che, essendo il ‘meccanismo’ di cifratura noto solo ad Alice e Bob il compito di Eva sia senza speranza. Questo ragionamento però non tiene in conto che in realtà il meccanismo utilizzato da Alice è in realtà composto da due parti, algoritmo e chiave. Se Alice e Bob vogliono continuare anche in futuro a comunicare e per sicurezza non vogliono usare sempre la stessa identica maniera la cosa più semplice è usare sempre la stessa tecnica e cambiare ogni tanto la chiave $k$. Diciamo quindi che Eva potrebbe essere arrivata col tempo alla capire la tecnica e quindi l’unica ‘variabile’ che lei ignora del messaggio sia in realtà la chiave $k$. A questo punto per lei si aprono due possibili strade. La prima consiste nel ‘provare’ tutte le possibili chiavi con cui il messaggio è stato crittato fino a trovare un testo in chiaro che ha ‘un qualche significato’. Questo approccio è chiamato ‘Attacco a bruta forza’ [Brute force attack…]. In questo caso il compito di Eva non è dei più difficili. Tutto ciò che deve fare è verificare $25$ possibili chiavi [$k=0$ renderebbe il testo in cifra identico al testo in chiaro…] e quando arriverà a verificare $k=10$ il destino di Bob sarà segnato :?

Evidentemente la tecnica scelta da Alice e Bob, se poteva andare bene a Cesare nei confronti di un Vercingetorige il quale a stento scriveva il proprio nome e forse neppure quello, non è la più indicata nel caso di Eva, la quale dispone di tutto il bagaglio scientifico possibile e immaginabile. Quale può essere un miglioramento per continuare a scriversi?… Mah… fermo restando il concetto di cifratura alfabetica si può pensare di utilizzare una chiave diversa per le diverse lettere del messaggio… per esempio si può usare una chiave per le lettere pari e un’altra chiave per le lettere dispari … Proviamo così ad utilizzare $k=10$ per le lettere pari e $k=12$ per le lettere dispari. Esprimendosi in termini di numeri si potrebbe dire che il luogo di usare la chiave $10,10,10,10,…$ si usa la chiave $10,12,10,12,…$. I due testi, in chiaro e in cifra, in questo caso divengono…

Testo in chiaro: amor mio a mezzanotte casa dei cipressi
Testo in cifra: kyyd wuy m wqjlkzyfdq mmcm nqs osbcqces

Domanda: in tal caso Alice e Bob potrebbero dire di aver risolto il problema della sicurezza delle loro comunicazioni. Fino a che Eva è all’oscuro del miglioramento da loro operato certamente sì. Se però Eva si impossessa di un loro messaggio e un primo attacco brute force basato sull’ipotesi di chiave monoalfabetica va a vuoto, ella si ingegnerebbe e finirebbe per prendere in considerazione l’ipotesi si sia usata una cifratura plurialfabetica, basata cioè su una chiave cambiata periodicamente. Nell’ipotesi che tale chiave abbia periodicità uguale a $2$, Eva si metterà a provare brute force tutte le possibili chiavi che in questo caso sono pari a $25^2=625$ e quando arriva alla coppia $10,12$ il gioco è fatto! :smt077 … Tutto quello che si è ottenuto è stato creare ad Eva più lavoro… Che succede se aumentiamo ancora di più la periodicità?… Per esempio $k=5$?… In tal caso la ricerca brute force costringerà Eva a controllare un numero di chiavi pari a $25^5=9.765.625$ :shock: … Basterà oppure occorre andare oltre?…

Alla domanda non è possibile ancora rispondere con certezza. Per il momento ci fermiamo e riassumiamo bevente i concetti messi a fuoco oggi…

a) un ‘buon metodo’ di cifratura deve possedere una chiave di periodicità ‘la più elevata possibile’, in grado di resistere a qualunque attacco brute force immaginabile

b) un ‘buon metodo’ di cifratura deve essere ‘attaccabile’ unicamente brute force, da cui ci si può ‘difendere’ accrescendo il più possibile il numero di chiavi

cordiali saluti

lupo grigio

Immagine

An old wolf may lose his teeth, but never his nature
Ultima modifica di lupo grigio il 30/07/2007, 07:54, modificato 1 volta in totale.
lupo grigio
 

Messaggioda raff5184 » 29/07/2007, 17:41

Ciao lupo grigio,
molto interessante il post ed anche molto chiaro. Se può essere d'aiuto, sarebbe interessante approfondire la crittografia in casi pratici, come nei programmi PGP per la posta elettronica, o gli algoritmi A5 e A8 per la telefonia mobile...

Saluti
"In ingegneria ci sta un teorema che dice che in un sistema quanta più roba ci metti più facilmente si scassa" A.C.
raff5184
Senior Member
Senior Member
 
Messaggio: 229 di 1440
Iscritto il: 17/05/2007, 14:30
Località: Massachusetts

Messaggioda lupo grigio » 30/07/2007, 08:06

Ringrazio vivamente raff per i 'complimenti' che ha voluto tributarmi :smt004

Questo post è di tipo 'tutorial', vale a dire espone concetti diciamo così 'generali' che poi saranno utili per affrontare argomenti 'specifici'. Per quanto riguarda gli 'algoritmi' usati in telefonia mobile [A5 e A8...] esssi saranno trattati in uno spazio apposito. Anticipando un poco le cose l'appellativo più benevolo che può essere tributato a tali algoritmi è quello di 'ridicoli' e gli avvenimenti di questi ultimi mesi riguardo alle 'intercettazioni' di conversazioni tra telefoni mobili rende del tutto evidente la cosa anche per i non esperti...

cordiali saluti

lupo grigio

Immagine

An old wolf may lose his teeth, but never his nature
lupo grigio
 

Messaggioda lupo grigio » 30/07/2007, 15:41

Ragazzi
oggi vediamo un poco di affinare il ‘discorso’ iniziato la scorsa settimana. Supponiamo che Eva abbia intercettato il seguente testo in cifra…

Testo in cifra: z r z l a t c b w g m s g g d e p t e e y t i e p r m t r d l m s

... e che tutti i tentativi si attaccarlo ipotizzando l’impiego di una chiave periodica non banale siano falliti. Siccome lei non è tipo che demorde decide di cambiare completamente strategia escogitando un nuovo tipo di attacco. Il fallimento dei precedenti tentativi la induce a sospettare che Alice e Bob abbiano usato una chiave non periodica lunga almeno quanto il messaggio… già… può essere… e allora in questo caso che si fa?… Di primo acchito il problema sembra piuttosto arduo ma le risorse di Eva sono, si sa, illimitate. Per prima cosa elle si procura la seguente tabella…

Immagine

… detta ‘Tabella di Vigenere’, dal nome del celebre ‘teorico’ del seicento inventore della ‘cifratura polialfabetica’, rimasta ‘inviolata’ per quasi due secoli. Poi si mette a ragionare ‘freddamente’ intuendo così che allorché Alice e Bob si sono scambiati la chiave per forza debbono aver scelto una chiave in lettere ‘facile da ricordare’, magari il verso di una poesia o qualche filastrocca. In tal caso la keystream non è una sequenza di lettere ‘qualsiasi’, bensì una successione di parole comuni della lingua italiana. In tal caso è possibile cercare all’interno del testo in chiaro delle sequenze di tre lettere ‘possibili’ e verificare se ad esse corrisponde una sequenza di tre lettere possibili nella keystream e cercare così di ricostruire la chiave. In lingua italiana esistono gruppi di tre lettere di uso assai comune tipo ‘che’, ‘non’, ‘per’, ‘con’, ‘ora’, ‘piu’, etc… Cominciamo da ‘non’ e vediamo se per caso si può individuare la sua presenza nel testo in chiaro. Se ipotizziamo che la parola non sia all’inizio essa nel testo in cifra diviene zrz. In tal caso le prime tre lettere della chiave dovrebbero essere mdm… improbabili in italiano... Proviamo il gruppo di tre successivo. Al testo in cifra rzl dovrebbe corrispondere la chiave ely… magari si?… no non è valido in lingua italiana!… Senza farsi prendere dallo scoramento procediamo con pazienza fino a che… fino a che arriviamo alla sequenza in cifra epr, posta verso la fine del messaggio. La chiave corrispondente a non è rbe… che in italiano può andare!… Supponiamo dunque di ave identificato una parte di chiave e andiamo avanti. Se ci bloccheremo in qualche punto sarà sempre possibile tentare un’altra strada. La situazione ora è la seguente…


Testo in chiaro: ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? n o n ? ? ? ? ? ? ?

Chiave:? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? r b e ? ? ? ? ? ? ?

Testo in cifra: z r z l a t c b w g m s g g d e p t e e y t i e p r m t r d l m s

La sequenza rbe in italiano è possibile, anche se non è delle più comuni. Potrebbe essere una parte di ‘perbene’ e quindi andiamo a verificare a che testo in chiaro corrisponde la sequenza per messa immediatamente prima: rlr… no!… non ci siamo!… Lasciando le cose come stanno cerchiamo un altro gruppo di tre lettere ‘di uso comune’ . Per esempio nte che compare in parole come ‘prontamente’, ‘presente’ e tante altre. Con pazienza troviamo che il gruppo nte posto nel testo in chiaro subito prima del non dà luogo al frammento di chiave lae… bene ragazzi!… la situazione è ora questa…


Testo in chiaro: ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? n t e n o n ? ? ? ? ? ? ?

Chiave:? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? l a e r b e ? ? ? ? ? ? ?

Testo in cifra: z r z l a t c b w g m s g g d e p t e e y t i e p r m t r d l m s

Ehehehe!!!… qualcuno di voi avrà certamente già afferrato la ‘soluzione’. Eva però vuol essere sicura e procede alla ricerca di altri gruppi di tre lettere nel testo in chiaro. Per esempio il messaggio potrebbe contenere una indicazione oraria e in tal caso conviene cercare ore. La fortuna è dalla sua perché ore in chiaro e zrz in cifra poste all’inizio del messaggio forniscono la chiave lav, che in italiano và benissimo!… Aggiorniamo dunque il nostro diagramma…

Testo in chiaro: o r e ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? n t e n o n ? ? ? ? ? ? ?

Chiave: l a v ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? l a e r b e ? ? ? ? ? ? ?

Testo in cifra: z r z l a t c b w g m s g g d e p t e e y t i e p r m t r d l m s

Bene… ad ore seguirà bene un numero… ma quale?… Saranno le otto?… ad otto in chiaro e latc in cifra corrisponde la chiave xhao… in cinese magari va bene ma in italiano no… Saranno le nove?… a nove in chiaro e latc in cifra corrisponde la chiave ymyy… proprio no!… Saranno allora le dieci?… a dieci in chiaro e latcb in cifra corrisponde la chiave ispat… tombola ragazzi!!!… La situazione è ora questa…

Testo in chiaro: o r e d i e c i ? ? ? ? ? ? ? ? ? ? ? ? ? n t e n o n ? ? ? ? ? ? ?

Chiave: l a v i s p a t ? ? ? ? ? ? ? ? ? ? ? ? ? l a e r b e ? ? ? ? ? ? ?

Testo in cifra: z r z l a t c b w g m s g g d e p t e e y t i e p r m t r d l m s

L a v i s p a t che sarà mai?… ma è ovvio!… ‘La Vispa Teresa’ la quale ‘avea tra la erbetta’ etc… Decifrare il resto del messaggio è ora del tutto elementare…


Testo in chiaro: o r e d i e c i s p i a g g i a p o n e n t e n o n t a r d a r e

Chiave: l a v i s p a t e r e s a a v e a t r a l a e r b e t t a a l v o …

Testo in cifra: z r z l a t c b w g m s g g d e p t e e y t i e p r m t r d l m s

Lascio a voi immaginare a questo punto che cosa è accaduto al povero Bob allorché, entusiasta innamorato, si è recato alle dieci precise di sera alla spiaggia di ponente per incontrare Alice :smt082 :smt082 :smt077 :smt077

La tecnica usata da Eva per decifrare il messaggio di Alice destinato a Bob è nota con nome di Know plaintext attack, vale a dire ‘Attacco con testo in chiaro’. Due cose hanno consentito ad Eva di sfondare la protezione del messaggio...

a) il fatto che conoscesse alcuni frammenti di testo in chiaro
b) il fatto che la chiave non era affatto ‘casuale’ dal punto di vista statistico

Quanto abbiamo appreso oggi è veramente fondamentale in quanto a tutt’oggi l’attacco plaintext è di gran lunga il più efficace, così che la protezione da esso costituisce la più impegnativa ‘sfida’ nella costruzione di un ‘buon’ sistema di cifratura…

cordiali saluti

lupo grigio

Immagine

An old wolf may lose his teeth, but never his nature
lupo grigio
 

Messaggioda lupo grigio » 07/08/2007, 14:16

Ragazzi
dopo esserci un poco divertiti cone le disavventure di Alice, Bob ed Eva proviamo ad andare avanti nel discorso. Prima di proseguire però spero mi permetterete di aprire una parentesi, diciamo così, un poco ‘personale’. Come penso sia nel caso della stragrande maggioranza degli esseri umani anche il lupo ora vecchio quando era giovane ha valutato che cosa gli sarrebbe piaciuto fare ‘da grande’. Intanto ragazzi una domanda ovvia: il ‘tempo libero’, o meglio il tempo restante che non passavo a scuola, come lo impiegavo?… Beh!… andiamo con ordine... era il ‘mitico 68’ e quasi un giorno sì e l’altro pure capitava di dare ai ‘rossi’ una bella paga [eh sì… si dà il caso che non militavo nella gioventù comunista…]. Oltre quello per dar loro una ‘paga supplementare’ ci mettevo un particolare impegno a ‘farmi le rosse’… che volete farci ragazzi… a quell’età… Tutto qui direte voi?… no, state tranquilli, c’era altro… Intanto c’era la Musica, anch’essa intesa da me in maniera un poco ‘particolare’… Che strumento suonavo mai secondo voi?… Probabilmente perserete alla chitarra ma non è così… Sapevo suonare il pianoforte ma lo strumento per cui letteralmente ‘impazzivo’ era … l’organo a canne… sì… proprio l’organo da chiesa!… Inutile dire che il mio ‘autore’ era Johann Sebastian Bach e spesso dopo le attività ‘gionaliere’ cui ho accennato prima mi ‘rifugiavo’ in parrocchia e salivo in quella specie di ‘antro’ dove siede l’organista e lì mi mettevo a suonare l’organo… non esiste in tutta la terra un posto più ‘sicuro’ di quello!…

Oltre la Musica vi era naturalmente la Matematica, quella che alla fine ha ‘prevalso’… Oltre alla Matematica in tempo successivi mi sono appassionato al gioco degli scacchi fino a raggiungere, sia pure dopo molti anni, il grado di ‘maestro nazionale’. Già come interressi sarebbero ‘abbastanza’ ma la lista non è finita. Una ‘disciplina’ che mi ha sempre ‘affascinato’ è la Storia, la quale purtroppo è oggi come in passato è ‘insegnata’ dopo essere stata sottoposta a vera e propria ‘sodomizzazione’. Bene ragazzi, venendo all’oggi, che cosa resta di tutto questo?… Mah!… la Musica ora mi limito ad ascoltarla… le ‘rosse’ [con la sola eccezione della mia ‘micia’…] al pari delle ‘bionde’ e delle ‚more’ sono un capitolo chiuso… gli scacchi, ora che ci sono i computer, mi sono diventati ‘alieni’… restano la Matematica e la Storia….

Secondo voi ragazzi, Matematica e Storia non hanno ‘radici profonde’ comuni?… Secondo me sì e un esempio di come possano costituire una ‘squadra vincente’ penso di averlo dato nel thread dedicato all’11 settembre, il cui risultato in termini di audience mi pare parli da solo… Spero quindi che non vi dispiaccia se in questa sezione dedicata alla Matematica discreta [che tra l’altro ha il non trascurabile vantaggio di non avere ‘moderatori’…] unirò qualche volta Matematica e Storia in una sorta di ‘gemellaggio’…

Bene, finita la ‘parentesi di ricreazione’ torniamo ai nostri ‘magnifici tre’, Alice, Bob ed Eva. Abbiamo visto nella scorsa puntata che ad Alice non è bastato utlizzare una chiave lunga quanto il messaggio per comunicare con Bob tenendo Eva all’oscuro del contenuto. Il ‘tallon d’Achille’ della soluzione escogitata da Alice è stato il fatto che la chiave da lei usata era una sucssesione di lettere ‘sensata’, vale a dire ‘dotata di significato’. In altre parole non ha utlizzato una chiave casuale, una chiave cioè in cui tutte le sequenza di lettere sono equiprobabili. Eva è riuscita a decifrare il messaggio seplicemente ipotizzando che esso contenesse la parola non e riuscendo a trovare la sua posizione nel testo. Da lì, procedendo con un poco di ‘buon senso’, è stato possibile mettera nudo alternativamente porzioni della chiave e del testo in chiaro utilizzando la proprietà di entranbi si essere una sequenza non casuale di lettere. Vediamo che cosa sarebbe suicesso se invece della filastrocca della ‘Vispa Teresa’, Alice avesse usato come chiave la seguente frase ‘senza senso’…

p d e o t y c o n t h r t e a v c r c b y n n p f a a k w m e l k x b i q…

Tale chiave avrebbe prodotto il seguente testo in cifra…



Testo in chiaro: o r e d i e c i s p i a g g i a p o n e n t e n o n t a r d a r e

Chiave: p d e o t y c o n t h r t e a v c r c b y n n p f a a k w m e l k x b i q …

Testo in cifra: d u i r b c e w f i p h x z m a k q o c a b i j n o x p m v o k o f


Se Eva si fosse impossessata del testo in cifra e provasse nuovamante a cercare la parola non e provasse ad inserirla nel posto giusto troverebbe la sequenza di tre lettere pfa, la quale non ha nulla di speciale e non si vede perché dovrebbe essere quella ‘giusta’. L’attacco know plaintext questa volta non le è di alcuna utilità e quindi Eva, in preda alla più totale disperazione, potrebbe decidersi per l’attacco brute force. Nell’ipotesi che la chiave sia composta da 23 lettere ‘scelte a caso’, Eva potrebbe provare tutte le sequenza possibili li lunghezza 23, non importa quante sono. C’è però un altro guaio. Provando tutte le possibili chiavi di lunhezza 23 si troverebbe alla fine il messaggio ‘giusto’ ma anche un’infinità di messaggi possibili ma ‘bagliati’. Se il messaggio in chiaro di 23 lettere fosse stato infatti il seguente…

Testo in chiaro: e v a c i h a s c o p e r t i o r a v o g l i o s o l o m o r i r e

… ci sarebbe una chiave possibile che ha prodotto il testo in cifra di cui Eva dispone. In altre parole Eva si trova di fronte ad un problema insolubile. Questa difficoltà non ci sarebbe se la chiave fosse formata da ‘parole’ o ‘frasi’, perché in tal caso un messaggio ‘sbagliato’ darebbe luogo a una chiave ‘senza senso’. La tecnica di cifratura usata da Alice in questa circostanza è chiamata codice a blocco monouso. L’assoluta ‘causalità’ della chiave, l’assenza di ripetizioni e di schemi di qualunque genere, rendono questa cifratura assolutamente sicura. La caratteristica ora vista è necessaria per l’assoluta sicurezza ma da sola non è sufficiente. Altra condizione che deve essere rispettata è il fatto che la chiave deve essere usata una volta soltanto. Se Alice utilizzasse la stessa chiave per inviare due messaggi a Bob ed Eva dovesse avere sospsetto di ciò sarebbe la fine. Eva infatti in questo caso potrebbe con sucesso adottare la tecnica già vista, vale a dire ricercare parole come ‘non’, ‘che’, ‘per’ etc… in uno dei testi osservando se nell’altro testo danno luogo a sequenza di tre lettere ‘possibili’ e non ci metterebbe molto a decifrare entrambi i messaggi.

La paternità del codice a blocco monouso e della chiave casuale spetta al maggiore Joseph Mauborgne, capo della sezione crittografica della US Army, che lo propose nel 1918, al termine del primo conflitto mondiale. Il ruolo decisivo [nel vero senso della parola…] giocato dalla crittografia nell’assegnare la vittoria finale nella ‘Grande Guerra’ è argomento di tale portata che ad esso sarà dedicato quanto prima un apposito thread. Una cosa che probabilmente la grande maggioranza degli ‘storici’ ignora è che la crittoanalisi [la tecnica cioè per ‘mettere in chiaro’ comunicazioni cifrate…] è stata, sia pure in modo assai diverso nei due casi, l’arma che ha assegnato la vittoria in entrambi i conflitti mondiali del ventesimo secolo. Divagazioni a parte precisiamo meglio lo strumento base del codice a blocco monouso: la chiave casuale. All’inizio i crittografi erano convinti di poter generare sequenze ‘a caso’, per esempio, semplicemente picchiando a caso i tasti di una macchina da scrivere. Chi tenta questa strada però si accorge ben presto che viene naturale battere alternativamente un tasto con la destra e un tasto con la sinistra e questo produce una sequenza di lettere che non è casuale. L’esempio che vedremo ora illustra chiaramante le conseguenza ‘catastrofiche’ cui si può andare incontro se non si ‘rispetta’ la regola della ‘casualità’ della chiave di cifratura. Se nella chiave di cifratura compare in qualche punto la lettera a è evidente che in quella posizione il testo in chiaro e il testo in cifra contengono la stessa lettera. Questo fatto da qualcuno potrebbe essere considerato ‘negativo’ e potrebbe essere tentato di non includere la lettera a nella chiave. Questo fatale errore è stato commesso dai tedeschi nel corso del secondo conflitto mondiale. Sia la macchina cifrante Enigma sia la più ‘evoluta’ macchina cifrante Lorenz era strutturate in modo che ad una lettera qualsiasi del testo in chiaro non cosrripobndesse mai la stessa lettera del testo in cifra. L’idea parrebbe di primo acchito ‘geniale’ se non fosse per un piccolo dettaglio. Questa proprietà consentiva agli inglesi di applicare assai più agevolmente la tecnica di attacco know plaintext. Sovrapponendo semplicemente la crib [ossia la ‘parola nota’ del testo in chiaro…] al testo in cifra, bastava che una sola lettera coincidesse per stabilire che la poszione era ‘sbagliata’, e questo com portava un enorme guadagno di tempo. Solo in tempi recenti si è compreso che produrre una chiave rigorosamente casuale è costoso in termini di tempo, fatica e denaro. In teria la strada migliore consiste nello sfruttare fenomeni naturali atenticamente ‘casuali’, come ad esempio il decadimento radioattivo. Un contatore Geiger potrebbe registrare i neutroni emessi da un frammento di uranio producendo un impulso elettrico per ognuno di essi. Supponendo di far generare con continuità ad un circuito elettronico la sequenza di numeri da 0 a 25, ogni impulso del contatore Geiger memorizzerebbe il numero presente in quel momento e a quel numero corrisponderebbe una lettera. E’ chiaro che questa o altre soluzioni più o meno ‘sofisticate’ fornirebbero le migliori garanzie di ‘casualità’ . Per contro la complessità e il costo di simili realizzazioni pongono tuttavia un severo limite all’impiego dei codici a blocco monouso.

Un altro problema non semplice relativo all’impiego dei codici monouso è legato alla distribuzione delle chiavi. Abbiamo visto che Alice e Bob, se vogliono comunicare tra loro in sicurezza, sono obbligati ad usare per ogni messaggio una nuova chiave. Questo vuol dire che ad ogni nuovo messaggio Alice deve trovare la maniera di far arrivare a Bob la chiave. Il problema potrebbe essere risolto se Alice desse a Bob un tacquino di chiavi ‘usa e getta’, vale a dire con una chiave scritta su ogni pagina che dopo l’uso viene distrutta. La soluzione è certo possibile e parrebbe anzi essere un vero ‘toccasana’… che succederebbe però se Eva riuscisse ad impossessarsi del tacquino?… :smt077 In definitiva l’impiego dei codici a blocco monouso, teoricamente ‘impenetrabili’ , è in pratica consigliabile solo in casi eccezionali, in cui si è disposti ad affrontare costi e criticità legati alla distribuzione delle chiavi. Per esempio la linea diretta tra i presidenti di Russia e Stati Uniti è protetta da un sistema di questo tipo. E con questo per oggi è tutto…

cordiali saluti

lupo grigio

Immagine

An old wolf may lose his teeth, but never his nature
lupo grigio
 


Torna a Algebra, logica, teoria dei numeri e matematica discreta

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite