La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Breaking DES Corso di Sicurezza Reti Dott. Giovanni Ciraolo Anno Accademico 2003-2004.

Presentazioni simili


Presentazione sul tema: "Breaking DES Corso di Sicurezza Reti Dott. Giovanni Ciraolo Anno Accademico 2003-2004."— Transcript della presentazione:

1 Breaking DES Corso di Sicurezza Reti Dott. Giovanni Ciraolo Anno Accademico

2 I sei modi di rompere DES Ricerca esaustiva della chiave Elaboratore dedicato Cluster di Computer Time-Memory Tradeoff Criptoanalisi Differenziale Criptoanalisi Lineare

3 Ricerca esaustiva della chiave Supponendo di avere un Blocco C del ciphertext (64-bits) e di una parziale conoscenza del contenuto del plaintext è possibile applicare la funzione di decryption D K [C] su tutto lo spazio delle chiavi. In un elaboratore capace di eseguire una decryption alla frequenza di 300 Mhz occorrerebbero allincirca 7 anni!

4 Elaboratore dedicato Nel 1998 LEFF (Electronic Frontier Fundation) costruisce lelaboratore Deep Crack. Deep Crack esegue decription alla frequenza di 85 Ghz, ed è capace di trovare la chiave mediamente in 4 giorni! Occorrono 200,000 $ per costruirlo.....(Non sono poi molti...) Dopo questo esperimento la NSA (National Security Agency) ha dichiarato che DES non è più sicuro.....

5 Cluster di computer E unalternativa molto meno costosa a Deep Crack, si sfrutta internet e un gran numero di volontari che donano il tempo di Idle dei loro computer. Nel gennaio 1999 la Distribuited.Net usando più di 100,000 computer collegati ad internet ha trovato una chiave in 23 giorni. Si può usare anche il sistema di calcolo distribuito Grid sviluppato al CERN.

6 GRID

7 Time-Memory Tradeoff Cerchiamo di diminuire il tempo della ricerca esaustiva memorizzando un dizionario di chiavi. Le chiavi vengono ricercate sul dizionario. In media è possibile criptoanalizzare ogni Criptosistema simmetrico con N chiavi in N 2/3 operazioni utilizzano N 2/3 word di memoria.

8 Time-Memory Tradeoff Lalgoritmo DES opera su blocchi di plaintext P di 64-bit e produce blocchi di ciphertext C usando una chiave a 56-Bit. C=E K (P) Sia P 0 un blocco di plaintext fissato definiamo f(K)=R[E K (P)] Dove R è una qualsiasi riduzione da 64-bit a 56- bit

9 Costruzione della funzione f(k)

10 La funzione f(K) Si calcola facilmente. La sua complessità è equivalente alla funzione di criptatura di DES. Calcolare K da f(K) è molto difficile, è un problema equivalente alla Criptoanalisi di DES. Può essere considerata una funzione One-Way.

11 Precomputazione: Costruzione della Matrice delle immagini di f. Scegliamo uniformemente nello spazio delle chiavi {1,...,2 56 } una distribuzione casuale di m punti di partenza: SP 1,SP 2,...,SP m Poniamo X i0 =SP i, con 1im Calcoliamo X ij =f(X i,j-1 ), con 1it Chiamiamo EP i = f t (SP i ) i punti di arrivo.

12 Precomputazione: Matrice delle Immagini di f

13 Precomputazione: Riduzione della memoria e memorizzazione della matrice Un metodo per ridurre loccupazione della memoria è quella di memorizzare solamente le coppie: {EP i,SP i }, con i=1,..m Le coppie sono memorizzate in ordine crescente rispetto ai punti di arrivo.

14 Computazione: Ricerca della chiave Supponiamo di conoscere un plaintext P 0 con il relativo ciphertex C 0 criptato con una chiave sconosciuta K. C 0 =E K (P 0 ) Applichiamo la funzione di riduzione R Y 1 =R(C 0 )=f(K) E possibile verificare rapidamente se Y 1 è un EP i. Nota: Se Y 1 non è EP i la chiave K non è nella colonna precedente a quella degli EP i.

15 Computazione: Ricerca della Chiave Se Y 1 =EP i 1.K=X i,j-1 (K è nella colonna precendente al punto di arrivo), calcoliamo X i,j-1 e controlliamo se decifra C 0 in P 0. 2.EP i ha più di una immagine inversa.(Falso allarme)

16 Computazione: Ricerca della Chiave Se Y 1 non è un punto di arrivo o è un falso allarme calcoliamo Y 2 =f(Y 1 ) se: 1.Y 2 =EP i e controlliamo se X i,t-2 decifra C 0 in P 0. 2.Altrimenti la chiave non è nella t-2-esima colonna e calcoliamo Y 3 =f(Y 2 ) Analogamente calcoliamo Y 4 =f(Y 3 ),.., Y t =f(Y t-1 ) per controllare rispettivamente che la chiave sia nella colonna t-4,.....,0

17 Stima del Successo Se tutti gli mt elementi che vanno dalla colonna 0 alla colonna t-1 sono diversi e se K è scelta uniformemente dallinsieme di tutti i possibili valori la probabilita di successo P(S) è:

18 Ecco un bel Teorema Teorema: Se f:{1,..,2 56 } {1,..,2 56 } è una funzione casuale e K è scelta uniformenete in {1,..,2 56 } allora la probabilità di successo è limitato dalla sequente relazione: Dimostrazione : La dimostrazione è strettamemente correlata al problema del compleanno.

19 Note Il teorema dimostra che non guadagnamo molto se incrementiamo m o t raggiunta la relazione mt 2 =2 56 Quando mt 2 =2 56 la probabilità di successo è P(S)0.75

20 La funzione di riduzione R: Il Diavolo si annidia nei particolari La scelta della funzione di riduzione condiziona pesantemente le prestazioni dellalgoritmo. Ad ogni R è associata una matrice delle immagini. Lo spazio delle scelte di R è (64!)/(8!)=3x Fortunatamente DES può essere considerato un buon generatore pseudocasuale di numeri, perciò la funzione R non varia molto la struttura ciclica della generazione dei numeri.

21 I falsi allarmi Teorema: Il numero atteso E(F) dei falsi allarmi per matrice è limitato dalla seguente relazione: Nota: Quando occorre un falso allarme, sono necessarie al massimo t operazioni per scartarlo. Se mt 2 =2 56 il contributo dato dal controllo sui falsi allarmi incrementa al massimo del 50% il tempo di computazione.

22 Una piccola prova Utilizzando un DES con chiave ridotta a 16-bit e m=t=16 e utilizzando 30 differenti funzioni di riduzione abbiamo ottenuto una probabilità di successo pari a al 10% con un tempo di 3-4 ore. I tempi possono essere facilmente ridotti se utilizziamo un sistema distribuito (...purtroppo sono stato fermato....).


Scaricare ppt "Breaking DES Corso di Sicurezza Reti Dott. Giovanni Ciraolo Anno Accademico 2003-2004."

Presentazioni simili


Annunci Google