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

Slides:



Advertisements
Presentazioni simili
Dr. Marta Giorgetti Esercizi Calcolo combinatorio, spazio degli eventi, probabilità, indipendenza, teorema di Bayes.
Advertisements

Elementi di Crittografia MAC e FUNZIONI HASH
Stime per intervalli Oltre al valore puntuale di una stima, è interessante conoscere qual è il margine di errore connesso alla stima stessa. Si possono.
Protocolli HB+ e HB# Lezione tenuta dal Presentazione realizzata da
Capitolo 8 Sistemi lineari.
Vettori e matrici algebrici
Autovalori e autovettori
Laboratorio Processi Stocastici
Informatica Generale Alessandra Di Pierro
COORDINATE POLARI Sia P ha coordinate cartesiane
1 2. Introduzione alla probabilità Definizioni preliminari: Prova: è un esperimento il cui esito è aleatorio Spazio degli eventi elementari : è linsieme.
Variabili casuali a più dimensioni
Analisi delle Decisioni Esistenza della funzione di utilita’
Dipartimento di Ingegneria dell’Informazione
Alberi binari di ricerca
1 Istruzioni, algoritmi, linguaggi. 2 Algoritmo per il calcolo delle radici reali di unequazione di 2 o grado Data lequazione ax 2 +bx+c=0, quali sono.
Metodi Quantitativi per Economia, Finanza e Management Lezione n°6
Metodi Quantitativi per Economia, Finanza e Management Lezione n°5 Test statistici: il test Chi-Quadro, il test F e il test t.
III. Valutazione. La valutazione si avvale di quanto ci dicono gli indicatori e della correlazione fra essi, allo scopo di ricavarne suggerimenti di carattere.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl 1 Usa la tecnica del.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl 1 Usa la tecnica del.
Politecnico di Milano Algoritmi e Architetture per la Protezione dellInformazione Multichannel Adaptive Information Systems Paolo Maistri Dipartimento.
Algoritmi Paralleli e Distribuiti a.a. 2008/09
RICHIAMI ELEMENTARI DI ALGEBRA MATRICIALE
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Algoritmi e Strutture Dati Capitolo 2 Modelli di calcolo e metodologie.
Algoritmi e Strutture Dati (Mod. B)
Algoritmi e Strutture Dati (Mod. B)
CAPITOLO 19 L’avversione al rischio e l’utilità attesa
Sistemi Peer To Peer (P2P) Avanzati Gennaro Cordasco Gennaro Cordasco
Raggio classico dell’elettrone
Algoritmi e Strutture Dati
Lezione 5 Domande: Laverage path length di Chord con 2^b identificatori e N=2^b nodi è (giustificare la risposta) Laverage path length di Chord con 2^b.
Funzioni di densità (o di probabilità) congiunte.
QuickSort Quick-Sort(A,s,d) IF s < d THEN q = Partiziona(A,s,d) Quick-Sort(A,s,q-1) Quick-Sort(A,q + 1,d)
Analisi bivariata Passiamo allo studio delle relazioni tra variabili
Analisi dei gruppi – Cluster Analisys
memoria gestita staticamente:
Grid Computing Sergio Andreozzi (INFN-CNAF). A chi interessano i dati prodotti da LHC? Circa 5,000 scienziati –sparsi nel mondo –appartenenti ad istituzioni/università
Proposte di tesina Mario Toma.
Perfect sampling di processi di coda UNIVERSITÀ DEGLI STUDI DI ROMA TOR VERGATA Corso di laurea in Ingegneria dei Modelli e dei Sistemi Studente: Paolo.
Scale di valutazione Federico Batini
LA CRITTOGRAFIA QUANTISTICA
Metodo della moltiplicazione
Elementi di Informatica di base
Esercizio 10.* Un cassiere vuole dare un resto di n centesimi di euro usando il minimo numero di monete. a) Descrivere un algoritmo goloso per fare ciò.
Strutture dati per insiemi disgiunti
Radix-Sort(A,d) // A[i] = cd...c2c1
Passo 3: calcolo del costo minimo
Ispezione lineare La funzione hash h(k,i) si ottiene da una funzione hash ordinaria h'(k) ponendo L’esplorazione inizia dalla cella h(k,0) = h'(k) e continua.
Prof. Cerulli – Dott.ssa Gentili
Prof. Cerulli – Dott.ssa Gentili
Problemi facili, problemi difficili
Unità 2 Distribuzioni di probabilità Misure di localizzazione Misure di variabilità Asimmetria e curtosi.
Informatica Lezione 7 Scienze e tecniche psicologiche dello sviluppo e dell'educazione (laurea triennale) Anno accademico:
Esercitazioni I/O. Dischi: Esercizio 1 Si consideri un programma che legge blocchi di 2 KB da disco, esegue un’elaborazione su questi, e quindi li riscrive.
Capitolo 7 Tavole hash Algoritmi e Strutture Dati Camil Demetrescu, Irene Finocchi, Giuseppe F. Italiano.
La rappresentazione delle informazioni in un computer Seconda parte.
Valutare la difficoltà dei problemi
Crittografia MITTENTE DESTINATARIO messaggio messaggio chiave-1
Implementazione di dizionari Problema del dizionario dinamico Scegliere una struttura dati in cui memorizzare dei record con un campo key e alcuni altri.
R. Soncini Sessa, MODSS, L 26 Stima degli effetti Calcolo degli obiettivi (Laplace) Rodolfo Soncini Sessa MODSS Copyright 2004 © Rodolfo Soncini.
Il problema della ricerca Algoritmi e Strutture Dati.
Flusso di Costo Minimo Applicazione di algoritmi: Cammini Minimi Successivi (SSP) Esercizio 1 Sia data la seguente rete di flusso, in cui i valori riportati.
Problemi risolvibili con la programmazione dinamica Abbiamo usato la programmazione dinamica per risolvere due problemi. Cerchiamo ora di capire quali.
Il computer ragiona? Problemi e algoritmi. Paola Pianegonda2 Cos’è un problema?  Problema è qualsiasi situazione della quale non conosciamo la soluzione.
Disegni ad un fattore tra i soggetti. Disegni ad un solo fattore between Quando i livelli del trattamento possono influenzarsi reciprocamente è necessario.
Sistemi di equazioni lineari. Sistemi di primo grado di due equazioni a due incognite Risolvere un sistema significa trovare la coppia di valori x e y.
Cenni di Crittografia Luigi Vetrano TechnoLabs S.p.A. L’Aquila, Aprile 2011.
Lezioni di Ricerca Operativa Corso di Laurea in Informatica
Sicurezza dei Sistemi Informatici L.S. in Ingegneria Informatica Docente: Prof. Giuseppe Mastronardi CRITTOGRAFIA E CRITTOANALISI ATTACCHI AI SISTEMI DI.
Transcript della presentazione:

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

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

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!

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

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.

GRID

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.

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

Costruzione della funzione f(k)

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.

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.

Precomputazione: Matrice delle Immagini di f

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.

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.

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)

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

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) è:

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.

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

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.

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.

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