+ All Categories
Home > Documents > Breaking DES Corso di Sicurezza Reti Dott. Giovanni Ciraolo Anno Accademico 2003-2004.

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

Date post: 01-May-2015
Category:
Upload: luigi-martinelli
View: 214 times
Download: 0 times
Share this document with a friend
22
Breaking DES Corso di Sicurezza Reti Dott. Giovanni Ciraolo Anno Accademico 2003-2004
Transcript
Page 1: Breaking DES Corso di Sicurezza Reti Dott. Giovanni Ciraolo Anno Accademico 2003-2004.

Breaking DES

Corso di Sicurezza RetiDott. Giovanni Ciraolo

Anno Accademico 2003-2004

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

I sei modi di “rompere” DES

• Ricerca esaustiva della chiave

• Elaboratore dedicato

• Cluster di Computer

• Time-Memory Tradeoff

• Criptoanalisi Differenziale

• Criptoanalisi Lineare

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

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 DK[C] su tutto lo spazio delle chiavi.

• In un elaboratore capace di eseguire una decryption alla frequenza di 300 Mhz occorrerebbero all’incirca 7 anni!

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

Elaboratore dedicato

• Nel 1998 L’EFF (Electronic Frontier Fundation) costruisce l’elaboratore “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.....

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

Cluster di computer

• E’ un’alternativa 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.

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

GRID:

D a t a S e r v e rT i e r 2 / 3

D a t a S e r v e r T i e r 2 / 3

D a t a S e r v e r T i e r 1

C l i e n t

C l i e n t

C l i e n t

C l i e n t

C l i e n t

d e s k o p

d e s k t o p

C E R N –T i e r 0

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

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 N2/3 operazioni utilizzano N2/3 word di memoria.

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

Time-Memory Tradeoff

• L’algoritmo DES opera su blocchi di plaintext P di 64-bit e produce blocchi di ciphertext C usando una chiave a 56-Bit.

C=EK(P)

• Sia P0 un blocco di plaintext fissato definiamo

f(K)=R[EK(P)]

Dove R è una qualsiasi riduzione da 64-bit a 56-bit

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

Costruzione della funzione f(k)

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

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.

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

Precomputazione: Costruzione della Matrice delle immagini di f.

• Scegliamo uniformemente nello spazio delle chiavi {1,...,256} una distribuzione casuale di m punti di partenza:

SP1,SP2,...,SPm

• Poniamo Xi0=SPi, con 1≤i≤m

• Calcoliamo Xij=f(Xi,j-1), con 1≤i≤t

• Chiamiamo EPi = ft(SPi) i punti di arrivo.

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

Precomputazione:Matrice delle Immagini di f

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

Precomputazione:Riduzione della memoria e

memorizzazione della matrice

• Un metodo per ridurre l’occupazione della memoria è quella di memorizzare solamente le coppie:

{EPi,SPi}, con i=1,..m

• Le coppie sono memorizzate in ordine crescente rispetto ai punti di arrivo.

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

Computazione: Ricerca della chiave

• Supponiamo di conoscere un plaintext P0 con il relativo ciphertex C0 criptato con una chiave sconosciuta K.

• C0=EK(P0) • Applichiamo la funzione di riduzione R• Y1=R(C0)=f(K) • E’ possibile verificare rapidamente se Y1 è un EPi.• Nota: Se Y1 non è EPi la chiave K non è nella

colonna precedente a quella degli EPi.

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

Computazione: Ricerca della Chiave

• Se Y1=EPi

1. K=Xi,j-1 (K è nella colonna precendente al punto di arrivo) , calcoliamo Xi,j-1 e controlliamo se decifra C0 in P0.

2. EPi ha più di una immagine inversa.(Falso allarme)

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

Computazione: Ricerca della Chiave

• Se Y1 non è un punto di arrivo o è un falso allarme calcoliamo Y2=f(Y1) se:

1. Y2=EPi e controlliamo se Xi,t-2 decifra C0 in P0.

2. Altrimenti la chiave non è nella t-2-esima colonna e calcoliamo Y3=f(Y2)

• Analogamente calcoliamo Y4=f(Y3),.., Yt=f(Yt-1) per controllare rispettivamente che la chiave sia nella colonna t-4,.....,0

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

Stima del Successo

• Se tutti gli mt elementi che vanno dalla colonna 0 alla colonna t-1 sono diversi e se K è scelta uniformemente dall’insieme di tutti i possibili valori la probabilita di successo P(S) è:

562)(mt

SP

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

Ecco un bel Teorema

Teorema: Se f:{1,..,256}→ {1,..,256} è una funzione casuale e K è scelta uniformenete in {1,..,256} allora la probabilità di successo è limitato dalla sequente relazione:

1

1

1

56

56

56 2

)2(

2

1)(

jm

i

t

j

itSP

Dimostrazione: La dimostrazione è strettamemente correlata al problema del compleanno.

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

Note

• Il teorema dimostra che non guadagnamo molto se incrementiamo m o t raggiunta la relazione mt2=256

• Quando mt2=256 la probabilità di successo è P(S)≈0.75

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

La funzione di riduzione R:“Il Diavolo si annidia nei particolari”• La scelta della funzione di riduzione condiziona

pesantemente le prestazioni dell’algoritmo.• Ad ogni R è associata una matrice delle

immagini.• Lo spazio delle scelte di R è (64!)/(8!)=3x1084.

• 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.

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

I falsi allarmi

• Teorema: Il numero atteso E(F) dei falsi allarmi per matrice è limitato dalla seguente relazione:

572

)1()(

tmtFE

Nota: Quando occorre un falso allarme, sono necessarie al massimo t operazioni per scartarlo. Se mt2=256 il contributo dato dal controllo sui falsi allarmi incrementa al massimo del 50% il tempo di computazione.

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

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....).


Recommended