Accordo su chiavi (key agreement)

Documenti analoghi
Accordo su chiavi. (key agreement) Alfredo De Santis. Marzo Dipartimento di Informatica Università di Salerno

Accordo su chiavi. Accordo su una chiave. Diffie-Hellman [1976] Accordo su chiavi. Diffie-Hellman [1976] Diffie-Hellman [1976] ??

Generatori di Z p. Accordo su una chiave. Diffie-Hellman [1976] Accordo su chiavi ?? K. Potenze in Z 19 26/05/2005. Vedremo due schemi: Esempio: * a

Generatori. Accordo su una chiave. Diffie-Hellman [1976] Diffie-Hellman [1976] Diffie-Hellman [1976] Potenze in Z 19. iagio nnarella. nnarella.

Cifrari asimmetrici. Cifratura. Cifratura. Crittosistema ElGamal. file pubblico utente chiave pubblica. Alice. file pubblico utente chiave pubblica

Crittografia a chiave pubblica

Firme digitali. Firma Digitale. Firma Digitale. Corso di Sicurezza su Reti Lezione del 17 novembre Equivalente alla firma convenzionale

Crittografia a chiave pubblica

Firme digitali. Firma Digitale. Firma Digitale. Firma Digitale. Equivalente alla firma convenzionale. Equivalente alla firma convenzionale

M firma. M firma. Firma Digitale. Firma Digitale. Firma digitale. Firma digitale. Firma Digitale. Equivalente alla firma convenzionale

Corso di Crittografia Prof. Dario Catalano. Primitive Asimmetriche

Cifratura. Decifratura. Cifratura. Decifratura. Crittografia a chiave pubblica ed a chiave privata. Corso di Sicurezza su Reti 1

Stream cipher. Cifrari simmetrici. Stream cipher. Stream cipher. I cifrari simmetrici possono essere:! Cifrari a blocchi: !

crittografia a chiave pubblica

Confidenzialità e crittografia simmetrica. Contenuto. Scenario tipico. Corso di Sicurezza su Reti Uso della crittografia simmetrica

Firma Digitale. Firma Digitale. Firma digitale. Firma digitale. Firma Digitale A?? Equivalente alla firma convenzionale

La crittografia a curve iperellittiche

logaritmo discreto come funzione unidirezionale

Firme digitali. Firma Digitale. Firma Digitale. Firma Digitale. Equivalente alla firma convenzionale. Equivalente alla firma convenzionale

Altre alternative a RSA interessanti e praticabili

Digital Signature Standard

(G, ) un gruppo moltiplicativo di ordine n l ordine di un elemento g G, o(g), è il minimo intero positivo m tale che g m = 1

Introduzione alla crittografia. Diffie-Hellman e RSA

CRITTOGRAFIA 2014/15 Appello del 13 gennaio Nome: Cognome: Matricola:

RSA. Chiavi RSA. Firma Digitale. Firma Digitale. Firma Digitale. Desiderata per la Firma Digitale. Corso di Sicurezza su Reti 1

Agostino Dovier. Dip di Matematica e Informatica, Univ. di Udine

La crittografia a curve elittiche e applicazioni

Crittografia a chiave pubblica

Parte prima Cifrature asimmetriche 21

La crittografia moderna e la sua applicazione

Crittografia a chiave pubblica

Crittografia a chiave pubblica

Numeri casuali. Randomness by obscurity. Generazione Deterministica? Caratteristiche del sistema. Caratteristiche del sistema

Crittografia a chiave pubblica

idea della crittografia a chiave pubblica

Autenticazione utente

Elementi di crittografia

Introduzione alla crittografia. Il crittosistema RSA e la sua sicurezza

Cifrari simmetrici. Crittografia a chiave pubblica. Problemi. Gestione delle chiavi

Firme digitali. Firma Digitale. Firma Digitale. Elementi di Crittografia Equivalente alla firma convenzionale

Orari Corso. Docenti corso. Algoritmi. Orari Ricevimento Studenti. Martedì 16:00-18:00, aula F/4 Venerdì 11:00-13:00, aula F/4

Introduzione al Corso di Algoritmi

Efficienza: esempi. Fondamenti di Informatica. Ferdinando Cicalese. Nella lezione precedente. Pseudocodice per descrivere algoritmi

Message Authentication Code

Protocollo di Yao. Secure Two-Party Computation. Prof. Paolo D Arco. Università degli Studi di Salerno

Digital Signature Standard. Corso di Sicurezza A.A. 2006/2007 Luca Palumbo

Metodi per la fattorizzazione di numeri interi

SHA %&'(& lunghezza arbitraria. 160 bit

Crittografia. Primalità e Fattorizzazione. Corso di Laurea Specialistica. in Informatica

schema di firma definizione formale

Altri cifrari a blocchi

idea della crittografia a chiave pubblica

Numeri casuali. Randomness by obscurity. Generazione Deterministica? Caratteristiche del sistema. Caratteristiche del sistema

Sicurezza nelle applicazioni multimediali: lezione 4, crittografia asimmetrica. Crittografia asimmetrica (a chiave pubblica)

DIARIO DEL CORSO DI TEORIA DEI NUMERI E CRITTOGRAFIA. (41 ore complessive di lezione)

Algoritmi e Strutture Dati

Orari Corso. Docenti corso. Algoritmi. Orari Ricevimento Studenti. Martedì 16:00-18:00, aula F/4 Venerdì 11:00-13:00, aula F/4

Corso di Crittografia Prof. Dario Catalano. Cifrari Asimmetrici (Terza Parte): RSA-OAEP e Cifrari basati sull identita

Programma preventivo. Anno Scolastico Sistemi e Reti (articolazione Informatica)

Corso di Sicurezza nelle reti a.a. 2009/2010. Raccolta di alcuni quesiti del corso da 5CFU e prima parte del corso da 9CFU

Crittografia a chiave pubblica. Cenni alla teoria dei numeri

Crittografia: dagli antichi codici di Cesare ai protocolli avanzati

Scambio delle chiavi. mercoledì 7 dicembre 2011

Crittografia con Python

Sicurezza dei sistemi informatici 1 Introduzione al corso

Cifratura Asimmetrica

Cifratura a chiave pubblica Sicurezza nelle reti di TLC - Prof. Marco Listanti - A.A. 2008/2009

Bibliografia. Berardi, L., Beutelspacher, A., Crittologia, Franco Angeli, Milano, 1996.

Aspetti crittografici dell online banking

Cifrari a blocchi: RC2 RC2. Altri cifrari a blocchi RC2. Input/output round. RC2: operazioni. Corso di Sicurezza su reti Lezione del 22 marzo 2004

Il Ricevente comunica pubblicamente una chiave e. Il Mittente codifica il messaggio usando la funzione f(m, e) = C e

Efficienza: esempi. Nella lezione precedente. Fondamenti di Informatica. Ferdinando Cicalese. ! Qualche problema computazionale

Sommario. Mappa testuale. Introduzione RSA OpenSSL cpongo Bibliografia. cpongo. Introduzione RSA OpenSSL cpongo Bibliografia

Cifrari a blocchi: Data Encryption Standard

Corso di Perfezionamento

Nell informatica esistono alcuni problemi particolarmente rilevanti, poiché essi:

Data Encryption Standard. Data Encryption Standard DES. Struttura del DES. Lunghezza della Chiave. Permutazione Iniziale IP

Parte prima Cifratura simmetrica 27 Introduzione alla Parte prima 27

Sicurezza e Crittografia

Crittografia. Una Panoramica

E necessaria la chiave segreta? RSA. Funzioni One-way con Trapdoor. Un secondo protocollo

Funzioni hash. Funzioni Hash. Uso delle funzioni hash. Firme digitali e Funzioni hash. Funzione Hash. Firme digitali. Integrita dei dati

Crittografia per la sicurezza dei dati

Ottimizzazione dei Sistemi Complessi

Public-key Infrastructure

Corso di Crittografia Prof. Dario Catalano. Advanced Encryption Standard

Tempo e spazio di calcolo (continua)

Equazioni, funzioni e algoritmi: il metodo delle secanti

Organizzazione Fisica dei Dati (Parte II)

Elezione di un leader in una rete ad anello

Identificazione, Autenticazione e Firma Digitale. Firma digitale...

Università del Piemonte Orientale

Indice generale. Nota dell editore... XIII. Prefazione alla prima edizione... XV. Ringraziamenti per la prima edizione...xviii

Tempo e spazio di calcolo (continua)

UNIVERSITA DEGLI STUDI DI PALERMO LE CURVE ELLITTICHE IN CRITTOGRAFIA

Un po di teoria dei numeri

Programmazione in Rete

RSA in OpenSSL. Alfredo De Santis. Marzo Dipartimento di Informatica Università di Salerno.

M.C.D.(3522, 321) = 3 = ( 36) (395) 321

Sicurezza dei calcolatori e delle reti. Le protezioni cripto in rete Lez. 10

Transcript:

Accordo su chiavi (key agreement) Accordo su una chiave Alfredo De Santis Dipartimento di Informatica ed Applicazioni Università di Salerno ads@dia.unisa.it http://www.dia.unisa.it/professori/ads Marzo 2012 K K 1 Accordo su chiavi: indice Diffie-Hellman [1976]! Diffie-Hellman! Basato sull intrattabilità del problema del logaritmo discreto! Puzzle di Merkle! Non basato su alcuna assunzione computazionale Whitfield Diffie Martin Hellman Stanford University W. Diffie and M.E. Hellman, New directions in cryptography, IEEE Trans. on Inform. Theory 22 (1976), 644-654. 2 3

Diffie-Hellman [1976] primo p, generatore g di Z p Generatori di Z p g è generatore di Z p se { g i 1! i! p-1 } = Z p Esempio: g = 2 è un generatore di Z 11 2 10 = 1024 = 1 mod 11 2 1 = 2 mod 11 2 8 = 256 = 3 mod 11 2 2 = 4 mod 11 2 4 = 16 = 5 mod 11 2 9 = 512 = 6 mod 11 2 7 = 128 = 7 mod 11 2 3 = 8 mod 11 2 6 = 64 = 9 mod 11 2 5 = 32 = 10 mod 11 4 5 Generatori di Z n! Ordine di %"Z n = il più piccolo intero positivo r tale che % r = 1 mod n! % è generatore di Z n se ha ordine $(n) Teorema di Eulero x"z n # x $(n) =1 mod n Generatori di Z n! Ordine di %"Z n = il più piccolo intero positivo r tale che % r = 1 mod n! % è generatore di Z n se ha ordine $(n) Teorema di Eulero x"z n # x $(n) =1 mod n! Z n ha un generatore & n = 2,4,p k,2p k, con p primo e k'1! Se p è primo, allora Z p ha un generatore 6 7

Potenze in Z 19 a a 2 a 3 a 4 a 5 a 6 a 7 a 8 a 9 a 10 a 11 a 12 a 13 a 14 a 15 a 16 a 17 a 18 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Generatori di Z n 2 4 8 16 13 7 14 9 18 17 15 11 3 6 12 5 10 1 3 9 8 5 15 7 2 6 18 16 10 11 14 4 12 17 13 1 4 16 7 9 17 11 6 5 1 4 16 7 9 17 11 6 5 1 5 6 11 17 9 7 16 4 1 5 6 11 17 9 7 16 4 1 6 17 7 4 5 11 9 16 1 6 17 7 4 5 11 9 16 1! Ordine di %"Z n = il più piccolo intero positivo r tale che % r = 1 mod n! a è generatore di Z n se ha ordine $(n) 7 11 1 7 11 1 7 11 1 7 11 1 7 11 1 7 11 1 8 7 18 11 12 1 8 7 18 11 12 1 8 7 18 11 12 1 9 5 7 6 16 11 4 17 1 9 5 7 6 16 11 4 17 1 10 5 12 6 3 11 15 17 18 9 14 7 13 16 8 4 2 1 11 7 1 11 7 1 11 7 1 11 7 1 11 7 1 11 7 1 12 11 18 7 8 1 12 11 18 7 8 1 12 11 18 7 8 1! Se % è un generatore di Z n, allora! Z n = {% i mod n 0! i! $(n)-1}! b = % i mod n è un generatore di Z n & gcd(i,$(n))=1 13 17 12 4 14 11 10 16 18 6 2 7 15 5 8 9 3 1 14 6 8 17 10 7 3 4 18 5 13 11 2 9 12 16 15 1 15 16 12 9 2 11 13 5 18 4 3 7 10 17 8 6 14 1 16 9 11 5 4 7 17 6 1 16 9 11 5 4 7 17 6 1 17 4 11 16 Barbara 6 7 Masucci 5 9 - DIA 1 17 Università 4 11 di 16Salerno 6 7 5 9 1 18 1 18 1 18 1 18 1 18 1 18 1 18 1 18 1 18 1 8 Esempio: 2 è un generatore in Z 19 3=2 13 mod 19 è un generatore perchè gcd(13,6)=1 13=2 5 mod 19 è un generatore perchè gcd(5,6)=1 5=2 16 mod 19 non è un generatore perchè gcd(16,6)=2 9 Potenze in Z 19 a a 2 a 3 a 4 a 5 a 6 a 7 a 8 a 9 a 10 a 11 a 12 a 13 a 14 a 15 a 16 a 17 a 18 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 4 8 16 13 7 14 9 18 17 15 11 3 6 12 5 10 1 3 9 8 5 15 7 2 6 18 16 10 11 14 4 12 17 13 1 4 16 7 9 17 11 6 5 1 4 16 7 9 17 11 6 5 1 5 6 11 17 9 7 16 4 1 5 6 11 17 9 7 16 4 1 6 17 7 4 5 11 9 16 1 6 17 7 4 5 11 9 16 1 7 11 1 7 11 1 7 11 1 7 11 1 7 11 1 7 11 1 8 7 18 11 12 1 8 7 18 11 12 1 8 7 18 11 12 1 9 5 7 6 16 11 4 17 1 9 5 7 6 16 11 4 17 1 10 5 12 6 3 11 15 17 18 9 14 7 13 16 8 4 2 1 11 7 1 11 7 1 11 7 1 11 7 1 11 7 1 11 7 1 12 11 18 7 8 1 12 11 18 7 8 1 12 11 18 7 8 1 13 17 12 4 14 11 10 16 18 6 2 7 15 5 8 9 3 1 14 6 8 17 10 7 3 4 18 5 13 11 2 9 12 16 15 1 15 16 12 9 2 11 13 5 18 4 3 7 10 17 8 6 14 1 16 9 11 5 4 7 17 6 1 16 9 11 5 4 7 17 6 1 17 4 11 16 Barbara 6 7 Masucci 5 9 - DIA 1 17 Università 4 11 di 16Salerno 6 7 5 9 1 18 1 18 1 18 1 18 1 18 1 18 1 18 1 18 1 18 1 10 Generatori di Z n! Il numero di generatori di Z n è $($(n))! Se p è primo, il numero di generatori di Z p è $(p-1) 11

Diffie-Hellman [1976] Diffie-Hellman [1976] primo p, generatore g di Zp scelgo x"zp scelgo x"zp scelgo y"zp primo p, generatore g scelgo y"zp gx mod p 12 Diffie-Hellman [1976] scelgo x"zp primo p, generatore g 13 Diffie-Hellman [1976] scelgo x"zp scelgo y"zp gx mod p primo p, generatore g gx mod p gy mod p scelgo y"zp gy mod p K = gxy mod p = (gy)x mod p 14 K = gxy mod p = (gx)y mod p 15

Diffie-Hellman: piccolo esempio scelgo x=3 primo 11, generatore 2 Diffie-Hellman: esempio scelgo y=4 scelgo x=3578 5 = 24 mod 11 7984 = 219956 mod 25307 K=4=(24)3 mod 11 scelgo y=19956 6113 = 23578 mod 25307 8 = 23 mod 11 primo 25307, generatore 2 K=3694=79843578 K=4=(23)4 mod 11 K=3694=611319956 16 17 Logaritmo discreto: Logaritmo discreto Complessità algoritmi La sicurezza di molte tecniche crittografiche si basa sulla intrattabilità del logaritmo discreto:! Crittosistema Dati a,n,b calcolare x tale che ax = b mod n Vari algoritmi: ElGamal!!!!!! Accordo su chiavi Diffie-Hellman! Firme digitali DSS Dati a,n,b calcolare x tale che ax = b mod n Esempio: 3x = 7 mod 13 soluzione x = 6 18 Trial multiplication Baby-step giant-step Pollard s rho algorithm Pohlig-Hellman algorithm Index Calculus 19

Logaritmo discreto: Complessità algoritmi Dati a,n,b calcolare x tale che a x = b mod n Se n è primo, i migliori algoritmi hanno complessità L n [a,c] = O(e (c+o(1))(ln n)a (lnln n) 1-a ) con c > 0 ed 0 < a < 1 Miglior algoritmo: Number field sieve tempo medio euristico L n [1/3, 1.923]! # " 64 9 $ & % 1/3 =1, 922999 20 Logaritmo discreto: record computazioni Dati a,n,b calcolare x tale che a x = b mod n! 130-digit, 431-bit: giugno 2005, A. Joux e R. Lecier! 3 settimane, 1.15 GHz 16-processor HP AlphaServer GS1280! 160-digit, 530-bit, febbraio 2007, T. Kleinjung! Vari pc ed un cluster! GF(2 613 ), settembre 2005, A. Joux e R. Lercier! 17 giorni, 4 nodi 1.3GHz 16-processori di un Itanium 2-based Bull computer Teranova! GF(3 6"71 ), 676-bit, 2010, T. Hayashi, 21 Problema di Diffie-Hellman Input: primo p, generatore g, g x mod p, g y mod p Calcolare: g xy mod p Problema di Diffie-Hellman Input: primo p, generatore g, g x mod p, g y mod p Calcolare: g xy mod p Il miglior algoritmo conosciuto calcola prima il logaritmo discreto x ( log g,p (g x mod p) Il miglior algoritmo conosciuto calcola prima il logaritmo discreto x ( log g,p (g x mod p) ma non si sa se sono equivalenti! 22 23

Scelta dei parametri Scelta di un generatore! Come scegliere p e g? Scegli_Generatore_Naive (p) 1. Scegli a caso g in Z p 2. If {g i 1!i! p-1} = Z p then trovato else goto 1. 24 25 Scelta di un generatore Scelta di un generatore Scegli_Generatore_Naive (p) 1. Scegli a caso g in Z p 2. If {g i 1!i! p-1} = Z p then trovato else goto 1. {g i 1!i!p-1} = Z p? L unico algoritmo efficiente necessita dei fattori primi di p-1 26 p primo, p-1 = p e 1 1 p2 e 2 pk e k g (p-1)/p 1 ) 1 mod p g è un generatore di Z p &... g (p-1)/p k ) 1 mod p 27

Scelta di un generatore p primo, p-1 = p e 1 1 p2 e 2 pk e k g (p-1)/p 1 ) 1 mod p g è un generatore di Z p &... g (p-1)/p k ) 1 mod p Scelta di un generatore p primo, p-1 = p e 1 1 p2 e 2 pk e k g (p-1)/p 1 ) 1 mod p g è un generatore di Z p &... g (p-1)/p k ) 1 mod p # 11 primo, p-1 = 10 = 2 5 Esempio # 2 è un generatore di Z 11 perché 2 (11-1)/2 = 2 5 = 10 ) 1 mod 11 2 (11-1)/5 = 2 2 = 4 ) 1 mod 11 # 11 primo, p-1 = 10 = 2 5 Esempio # 3 non è un generatore di Z 11 perché 3 (11-1)/2 = 3 5 = 243 = 1 mod 11 3 (11-1)/5 = 3 2 = 9 ) 1 mod 11 28 29 Scelta di un generatore p primo, p-1 = p e 1 1 p2 e 2 pk e k g (p-1)/p 1 ) 1 mod p g è un generatore di Z p &... g (p-1)/p k ) 1 mod p Scegli_generatore ( p, (p 1,e 1,p 2,e 2,,p k,e k ) ) 1. g ( elemento scelto a caso in Z p 2. if (g (p-1)/p 1 ) 1 mod p and and g (p-1)/p k ) 1 mod p) then esci trovato! else go to 1. Probabilità successo singola iterazione! Numero di generatori modulo un primo p è per ogni intero n'5, $($(p)) = $(p-1) $(n) > n/(6lnln n) > (p-1) / (6 lnln(p-1)) 30 31

Probabilità successo singola iterazione! Numero di generatori modulo un primo p è $($(p)) = $(p-1) > (p-1) / (6 lnln(p-1)) per ogni intero n'5, $(n) > n/(6lnln n)! Probabilità che un elemento a caso in Z p sia generatore $($(p)) p-1 1 = > = $(p) $(p) 6lnln(p -1) 6 lnln(p -1) Analisi di Scegli_generatore Numero medio di iterazioni < 6 lnln(p -1) 512 bit 6 lnln(2 512 ) 35,23 1024 bit 6 lnln(2 1024 ) 39,38 2048 bit 6 lnln(2 2048 ) 43,54 32 33 Generazione chiavi Diffie-Hellman Accordo su chiave Diffie-Hellman: sicurezza 1. Scegli a caso 2 numeri primi p 1 p 2 2. p ( 1 + 2p 1 p 2 3. Se p non è primo, go to 1. 4. g ( Scegli_generatore(p,(2,1,p 1,1,p 2,1))! E sicuro contro attaccanti passivi! Non è sicuro contro attacchi man-in-the-middle 34 35

Diffie-Hellman attacco man-in-the-middle scelgo x"z p primo p, generatore g di Z p g x mod p g z mod p scelgo z"zp g z mod p g y mod p scelgo y"z p Accordo su chiave Diffie-Hellman: sicurezza! E sicuro contro attaccanti passivi! Non è sicuro contro attacchi man-in-the-middle! Occorre autenticazione K A = g xz mod p = (g z ) x mod p K A = g xz mod p = (g x ) z mod p K B = g zy mod p = (g y ) z mod p K B = g zy mod p = (g z ) y mod p 36 37 Accordo su chiavi: indice Schema di Merkle! Diffie-Hellman! Basato sull intrattabilità del problema del logaritmo discreto! Puzzle di Merkle! Non basato su alcuna assunzione computazionale 38 Ralph C. Merkle Corso di Computer Security, UC Berkeley, autunno 1974: proposta per un progetto, rifiutata dal docente http://merkle.com/1974/ Merkle, R. C., "Secure Communications over Insecure Channels". Communications of the ACM, vol. 21, n. 4, April 1978, pp. 294 299. 39

Schema di Merkle Puzzle di Merkle! Non basato su assunzioni computazionali! genera n chiavi distinte e nasconde ogni chiave in un puzzle! Il puzzle contiene informazioni per il calcolo della chiave! La soluzione di un puzzle richiede un tempo ragionevole! La soluzione di tutti i puzzle richiede un tempo elevato 40! Puzzle la cui soluzione richiede t operazioni! Esempio: Puzzle (x, ID, S) Scegli una chiave k di 56 bit Computa y ( CBC-DES k (x, ID, S) return (y, primi 20 bit di k)! x è la soluzione del puzzle -Richiede 2 35 operazioni in media! ID è l identificativo del puzzle -Unico per ciascun puzzle! S è un valore noto -Serve per garantire l unicità della soluzione del puzzle -Esempio: 32 bit nulli 41 Puzzle di Merkle Puzzle di Merkle Scegli x 1,, x n, ID 1,, ID n Puzzle i (Puzzle(x i,id i,s) Puzzle 1,, Puzzle n ID j x j Risolvi Puzzle j Ottieni (x j, ID j ) x j Computazioni di :! Costruzione di n puzzle tempo +(n) Computazioni di :! Risoluzione di un puzzle tempo +(t) Computazioni di :! Risoluzione di n/2 puzzle in media tempo +(t n) 42 43

Puzzle di Merkle Computazioni di : Se n = +(t)! Costruzione di n puzzle tempo +(n) Computazioni di :! Risoluzione di un puzzle tempo +(n) Computazioni di :! Risoluzione di n/2 puzzle in media tempo +(n 2 ) 44 Puzzle di Merkle problema di sicurezza! Implementazione poco accorta potrebbe rendere insicuro lo schema! Esempio: Puzzle (x, ID, S) Scegli una chiave k di 56 bit Computa y ( DES k (x), DES k (ID), DES k (S) return (y, primi 20 bit di k)! x è la soluzione del puzzle -Richiede 2 35 operazioni in media! ID è l identificativo del puzzle -Unico per ciascun puzzle! S è un valore noto -Serve per garantire l unicità della soluzione del puzzle -Esempio: 32 bit nulli 45 Puzzle di Merkle Puzzle di Merkle problema di sicurezza Scegli x 1,, x n, ID 1,, ID n Puzzle i (Puzzle(x i,id i,s) Puzzle 1,, Puzzle n ID j Risolvi Puzzle j Ottieni (x j, ID j )! Implementazione poco accorta potrebbe rendere insicuro lo schema! Esempio: Puzzle (x, ID, S) Scegli una chiave k di 56 bit +(n) Computa y ( DES k (x), DES k (ID), DES k (S) return (y, primi 20 bit di k) x j x j 46! Dopo aver visto ID j! Cifra DES k (ID j ) con tutte le possibili chiavi k! Correla le cifrature con tutti i Puzzle visti! Trova il Puzzle con ID j! Decifra il corrispondente DES k (x) 47

Puzzle di Merkle problema di sicurezza Bibliografia! Implementazione poco accorta potrebbe rendere insicuro lo schema! Esempio: Puzzle (x, ID, S) Scegli una chiave k di 56 bit Computa y ( DES k (x), DES k (ID), DES k (S) return (y, primi 20 bit di k) Meglio:! DES k (x), DES k (ID! x), DES k (S! x) con S!0! DES k (x), DES x (ID), DES x (S)! AES k (x, ID, S)! Bene per x di 64 bit (con ID ed S di 32 bit)! Per x di 128 bit si può usare 2 volte lo schema NO 48! Cryptography and Network Security by W. Stallings (2010)! cap. 1O! Tesina di Sicurezza su reti! Accordo su chiavi 49 Domande? 50