Teoria dei Numeri. Cifratura. Decifratura. Cifratura. Decifratura. Crittosistema a chiave pubblica. nnarella. iagio. nnarella.

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Teoria dei Numeri. Cifratura. Decifratura. Cifratura. Decifratura. Crittosistema a chiave pubblica. nnarella. iagio. nnarella."

Transcript

1 Crittosistema a Cifratura kpriv kpub kpub Devo cifrare il messaggio M ed inviarlo ad Crittografia a Chiave Pubblica iagio Crittografia a Chiave Pubblica 1 Cifratura Decifratura C Cifratura di M per C CIFR (kpub, M) kpub iagio Devo decifrare il messaggio cifrato C kpub C?? C? Crittografia a Chiave Pubblica 2 Crittografia a Chiave Pubblica 3 kpriv Decifratura kpub Decifratura di C M DECIFR (kpriv, C) C Crittografia a Chiave Pubblica 4 Teoria dei Numeri Crittosistemi a più comuni basati sulla Teoria dei Numeri both Gauss and lesser mathematicians may be justified in rejoicing that there is one science at any rate, and that their own, whose very remoteness from ordinary human activities keep it gentle and clean. G. H. Hardy, Mathematician s pology, 194 Crittografia a Chiave Pubblica 5

2 RS 1978 RS nel 23 Shamir Rivest dleman Sicurezza basata sulla difficoltà di fattorizzare Crittografia a Chiave Pubblica 6 Crittografia a Chiave Pubblica 7 Chiavi RS Cifratura RS (n,d) (n,e) n = pq p,q primi ed = 1 mod (p-1)(q-1) Crittografia a Chiave Pubblica 8 Devo cifrare il messaggio M ed inviarlo ad (n,e) iagio Crittografia a Chiave Pubblica 9 Cifratura RS Decifratura RS C Cifratura di M per C M e mod n (n,e) iagio Crittografia a Chiave Pubblica 1 Devo decifrare il messaggio cifrato C (n,e) C?? C? Crittografia a Chiave Pubblica 11

3 Decifratura RS Piccolo esempio: Chiavi RS (n,d) (n,e) Decifratura di C M C d mod n C Crittografia a Chiave Pubblica 12 (n=3337, d=119) (n (n = 3337, e = 79) 3337 = p = 47, q = 71 ed = = 1 mod 322 (p-1)(q-1) = 46 7 = 322 Crittografia a Chiave Pubblica 13 Esempio: Cifratura RS Esempio: Decifratura RS 157 Cifratura di M = 688 per mod 3337 (n (n = 3337, e = 79) iagio Crittografia a Chiave Pubblica 14 (n=3337, d=119) (n (n = 3337, e = 79) Decifratura di C = mod Crittografia a Chiave Pubblica 15 Piccolo esempio: Chiavi RS Esempio: Cifratura RS (n=55, d=27) (n (n = 55, e = 3) 3) 15 (n (n = 55, e = 3) 3) 55 = 11 5 p = 11, q = 5 ed = 3 27 = 1 mod 4 (p-1)(q-1) = 1 4 = 4 Crittografia a Chiave Pubblica 16 Cifratura di M = 5 per mod 55 iagio Crittografia a Chiave Pubblica 17

4 Esempio: Decifratura RS Esempio: Cifratura RS (n=55, d=27) (n (n = 55, e = 3) 3) Decifratura di C = mod (n (n = 55, e = 3) 3) 15 Crittografia a Chiave Pubblica 18 Cifratura di M = 5718 per mod 55 iagio Crittografia a Chiave Pubblica 19 Esempio: Decifratura RS Esempio: Decifratura RS (n=55, d=27) (n (n = 55, e = 3) 3) Decifratura di C = mod 55 (n=55, d=27) (n (n = 55, e = 3) 3) Decifratura di C = mod Crittografia a Chiave Pubblica Crittografia a Chiave Pubblica 21 Esempio: Decifratura RS Esempio corretto (n=55, d=27) (n (n = 55, e = 3) 3) Decifratura di C = mod mod Crittografia a Chiave Pubblica 22 15,13, Cifratura di mod mod mod 55 (n (n = 55, e = 3) 3) 55= iagio Crittografia a Chiave Pubblica 23

5 Esempio corretto Esempio: Decifratura RS 15,13, Cifratura di M = 5718 per mod mod mod 55 (n (n = 55, e = 3) 3) iagio Crittografia a Chiave Pubblica 24 (n=55, d=27) (n (n = 55, e = 3) 3) Decifratura di C = 15,13, mod mod mod 55 15,13,2 Crittografia a Chiave Pubblica 25 Esercizio Svolgere altro piccolo esempio RS Calcolo p, q Calcolo n Calcolo e, d Calcolo cifratura Calcolo decifratura Crittografia a ed a Vantaggi della crittografia a Chiavi private mai trasmesse Possibile la firma digitale Vantaggi della crittografia a Molto più veloce (ad es., DES è 1 volte più veloce di RS, in hardware tra 1. e 1. volte) Sufficiente in diverse situazioni (ad esempio, applicazioni per singolo ) Crittografia a Chiave Pubblica 26 Crittografia a Chiave Pubblica 27 Digital Envelope C 1,C 2 Cifratura di M per k genera chiave sessione C 1 CIFR (kpub, k) C 2 E (k, M) kpub iagio Crittografia a Chiave Pubblica 28 Digital Envelope: Decifratura kpriv kpub Decifratura di C,C 1 2 k DECIFR (kpriv, C 1 ) M D (k, C 2 ) C 1,C 2 Crittografia a Chiave Pubblica 29

6 Digital Envelope: vantaggi Correttezza decifratura RS Chiave di sessione solo per uno o pochi messaggi Molto più veloce della sola crittografia a Crittografia a Chiave Pubblica 3 C d mod n = (M e ) d mod n ed = 1 mod (p-1)(q-1) = M de mod n = M 1+r(p-1)(q-1) mod n = M mod n Teorema di Eulero = M x Z * n x (p-1)(q-1) =1 mod n poichè M<n Prova per tutti gli gli x mediante il il teorema del resto cinese Crittografia a Chiave Pubblica 31 Funzione di Eulero φ(n) = cardinalità di Z * n = { x <x<n tali che gcd(x,n)=1} φ(p) = p-1 se p primo φ(pq) = (p-1)(q-1) se p,q primi φ(n) = n 1 1 L 1 p 1 p 2 p k e1 e fattorizzazione n = p 1 p 2 ek 2... p k, p i primo, e i Leonhard Euler Teorema di Eulero x Z n * x φ(n) = 1 mod n Crittografia a Chiave Pubblica 32 Efficienza delle computazioni Come effettuare le computazioni? generazione di e Generazione e,d d e -1 mod (p-1)(q-1) Generazione numeri primi Crittografia a Chiave Pubblica 33 Metodo naive Calcolo di x y mod z Potenza_Modulare_naive (x, y, z) a 1 for i = 1 to y do a (a x) mod z return a Metodo naive Calcolo di x y mod z Potenza_Modulare_naive (x, y, y, z) z) a 1 for i i = 1 to y do a (a (a x) mod z return a Se y è di 512 bit, occorrono» operazioni Crittografia a Chiave Pubblica 34 Crittografia a Chiave Pubblica 35

7 Metodo left-to-right Calcolo di x y mod z y = y 2 + y y t 2 t Idea: y = y +2(y 1 + 2(y (y t-1 +2y t ))))) Esempio: 4 = = + (2 ( + 2 ( + (2 (1 + 2 ( + 2 1)))))) Crittografia a Chiave Pubblica 36 Metodo left-to-right Calcolo di x y mod z y = y 2 + y y t 2 t Idea: y = y +2(y 1 + 2(y (y t-1 +2y t ))))) x y = x y +2(y 1 +2(y 2 ++2(y t-1 +2y t ))))) = x y x 2(y 1 +2(y 2 ++2(y t-1 +2y t ))))) = x y (x y 1 +2(y 2 ++2(y t-1 +2y t ))))) ) 2 = x y (x y 1(x y 2 ++2(y t-1 +2y t ))))) ) 2 ) 2 = x y (x y 1( (x y t-1(x y t) 2 ) 2 ) 2 Crittografia a Chiave Pubblica 37 Metodo left-to-right Calcolo di x y mod z y = y 2 + y y t 2 t Idea: y = y +2(y (y t-1 +2y t ))))) x y = x y ( (x y t-1(x y t) 2 ) 2 ) 2 Esempio: x 4 4 = = + (2 ( + 2 ( + (2 (1 + 2 ( + 2 1)))))) x 4 = x ( x (x (x 1 (x (x 1 ) 2 ) 2 ) 2 ) 2 ) 2 Crittografia a Chiave Pubblica 38 Metodo left-to-right Calcolo di x y mod z y = y 2 + y y t 2 t Idea: y = y +2(y (y t-1 +2y t ))))) x y = x y ( (x y t-1(x y t) 2 ) 2 ) 2 Potenza_Modulare (x, y, y, z) z) left-to-right a 1 for i i = t downto do a (a (a a) a) mod z if if y i i = 1 then a (a x) mod z return a Crittografia a Chiave Pubblica 39 Metodo right-to-left Calcolo di x y mod z Idea: x y = x 2 y +2 1 y 1 +2 t y t y = y 2 + y y t 2 t = x 2 y x 21 y 1 x 2t y t = (x 2 ) y (x 21 ) y 1 (x 2t ) y t Metodo right-to-left Calcolo di x y mod z Idea: Esempio: x 4 y = y 2 + y y t 2 t x y = (x 2 ) y (x 21 ) y 1 (x 2t ) y t 4 = x 4 = (x 1 ) (x 2 ) (x 4 ) (x 8 ) 1 (x 16 ) (x 32 ) 1 Crittografia a Chiave Pubblica 4 Crittografia a Chiave Pubblica 41

8 Metodo right-to-left Calcolo di x y mod z Idea: Esempio: x 4 y = y 2 + y y t 2 t x y = (x 2 ) y (x 21 ) y 1 (x 2t ) y t 4 = x 4 = (x 1 ) (x 2 ) (x 4 ) (x 8 ) 1 (x 16 ) (x 32 ) 1 =1 =1 =1 =1 x 1 x 2 x 4 x 8 x 16 x 32 Crittografia a Chiave Pubblica 42 Metodo right-to-left Calcolo di x y mod z Idea: Esempio: x 4 y = y 2 + y y t 2 t x y = (x 2 ) y (x 21 ) y 1 (x 2t ) y t 4 = x 4 = (x 1 ) (x 2 ) (x 4 ) (x 8 ) 1 (x 16 ) (x 32 ) 1 =1 =1 =1 =1 x 4 = x 8 x 32 Crittografia a Chiave Pubblica 43 Metodo right-to-left Potenza_Modulare (x, y, y, z) z) if if y = then return 1 X x; x; P 1 if if y = 1 then X x for i i = 1 to t do X X X mod z if if y i i =1 then P P X mod z return P mod 1234 i yi X P Crittografia a Chiave Pubblica 44 Scelta esponente pubblico Minimizzare operazioni per elevazione a potenza e 3 e decimale binario 11 Crittografia a Chiave Pubblica 45 RS Performance Celeron 85MHz, Windows 2, Crypto++, 512 bit 512 bit 124 bit 124 bit cifratura decifratura cifratura decifratura 248 bit cifratura 248 bit decifratura millisecondi / operazione,14 1,93,32 1,23,89 64,13 Crittografia a Chiave Pubblica 46 Efficienza delle computazioni Come effettuare le computazioni? generazione di e Generazione e,d d e -1 mod (p-1)(q-1) Generazione numeri primi Crittografia a Chiave Pubblica 47

9 lgoritmo di Euclide lgoritmo di Euclide: Esempi Descritto negli Elementi di Euclide (circa 3. C.) Euclide (a,b) if if b = then return a else return Euclide (b, (b, a mod b) b) Teorema della ricorsione del gcd Per tutti gli interi a e b > gcd(a,b) = gcd(b,a mod b) Crittografia a Chiave Pubblica 48 Euclide (3,21) = Euclide (21,9) = Euclide (9,3) = Euclide (3,) = 3 Euclide (4864,3458) = Euclide (3458,146) = Euclide (146,646) = Euclide (646,114) = Euclide (114,76) = Euclide (76,38) = Euclide (38,) = 38 Crittografia a Chiave Pubblica 49 lgoritmo di Euclide: complessità lgoritmo di Euclide Esteso ssumiamo a b l massimo log b chiamate Per ogni chiamata O( (log a) 2 ) operazioni su bit Totale: al massimo O( (log a) 3 ) operazioni su bit Euclide (a,b) richiede al massimo O( (log a) 2 ) operazioni su bit Euclide-esteso (a,b) if if b = then return (a, (a, 1, 1, ) ) (d, x, y ) Euclide-esteso (b, (b, a mod b) b) (d, (d, x, x, y) y) (d, y, x - a/b y ) return (d, (d, x, x, y) y) Computa interi d, x, y tali che d = gcd(a,b) = ax+by Stesso running time asintotico di Euclide (a,b) Crittografia a Chiave Pubblica 5 Crittografia a Chiave Pubblica 51 lgoritmo di Euclide (iterativo) Soluzione di ax b (mod m) Euclide_iterativo (a,b) while b do r a mod b; b; a b; b; b r; r; return a Esercizio: versione iterativa di Euclide-esteso (a,b) Crittografia a Chiave Pubblica 52 Dati a, b, m calcolare x Esempi: 3x 7 (mod 8) soluzione 5 2x 4 (mod 8) soluzione 2,6 4x 2 (mod 8) nessuna soluzione Crittografia a Chiave Pubblica 53

10 Soluzione di ax b (mod m) Soluzione di ax 1 (mod m) Ha soluzioni se e solo se g b g = gcd(a,m) Ha soluzioni se e solo se gcd(a,m) =1 Se g b ci sono esattamente g distinte soluzioni mod m: b m x' + i per i =,1,, g-1 g g dove g = ax +my (da Euclide-esteso (a,m) ) Se gcd(a,m) =1 l unica soluzione mod n è: x dove 1 = ax +my (da Euclide-esteso (a,m) ) Tale soluzione viene denotata con a -1 mod m Crittografia a Chiave Pubblica 54 Crittografia a Chiave Pubblica 55 Soluzione di ax 1 (mod 8) Ha soluzioni se e solo se gcd(a,8) =1 1 = 1-1 mod 8 3 = 3-1 mod 8 5 = 5-1 mod 8 7 = 7-1 mod Crittografia a Chiave Pubblica 56 Soluzione di ax 1 (mod 7) Ha soluzioni se e solo se gcd(a,7) =1 1 = 1-1 mod 7 4 = 2-1 mod 7 5 = 3-1 mod 7 2 = 4-1 mod 7 3 = 5-1 mod 7 6 = 6-1 mod Crittografia a Chiave Pubblica Esempio: calcolo di 5-1 mod 7 Euclide-esteso (a,b) if if b = then return (a, (a, 1, 1, ) ) (d, x, y ) Euclide-esteso (b, (b, a mod b) b) (d, (d, x, x, y) y) (d, y, x - a/b y ) return (d, (d, x, x, y) y) a b 7 5 d = x a + y b = = 5-1 mod 7 1 d x y Crittografia a Chiave Pubblica 58 Efficienza delle computazioni Come effettuare le computazioni? generazione di e Generazione e,d d e -1 mod (p-1)(q-1) Generazione numeri primi Crittografia a Chiave Pubblica 59

11 Generazione chiavi 1. Input L (lunghezza modulo) 2. Genera 2 primi di di lunghezza L/2 3. n p q q 4. Scegli a caso e 5. If gcd ( e, e, (p-1)(q-1) ) = 1 then d e -1-1 mod (p-1)(q-1) else goto 4. Generazione chiavi (comunemente usata in pratica) 1. Input L (lunghezza modulo) 2. e 3 oppure e (= (= ) 3. Genera 2 primi di di lunghezza L/2 4. n p q q 5. If gcd ( e, e, (p-1)(q-1) ) = 1 then d e -1-1 mod (p-1)(q-1) else goto 3. Crittografia a Chiave Pubblica 6 Crittografia a Chiave Pubblica 61 Generazione di un primo grande Genera a caso un un dispari p di di grandezza appropriata Testa se se p è primo Se Se p è composto, go go to to1. Generazione di un primo grande Genera a caso un un dispari p di di grandezza appropriata Testa se se p è primo Se Se p è composto, go go to to1. Variante con sequenza di di ricerca Genera a caso un un dispari p di di grandezza appropriata Testa se se p è primo Se Se p è composto, p p+2, go go to to2. Crittografia a Chiave Pubblica 62 Crittografia a Chiave Pubblica 63 Distribuzione dei numeri primi Scelta di un primo di 512 bit π(x) = numero di primi in [2,x] Teorema dei numeri primi: Esempio: π(1 1 ) = Per x /ln ,9 (4% in meno) x ln x <p (x) < lim p (x) = 1 x x/ln x x ln x Crittografia a Chiave Pubblica 64 Scelto un intero in [2,2 512 ] la probabilità che sia primo è circa 1 su ln (ln ,89) Numero medio di tentativi 354,89 Se si scelgono solo dispari dimezza 177,44 Se si scelgono dispari in [2 511,2 512 ] probabilità è ( ) ln bit scelti a caso 2 ln ,79 Crittografia a Chiave Pubblica 65

12 Scelta di un primo di 124 bit Test di primalità Scelto un intero in [2,2 124 ] la probabilità che sia primo è circa 1 su ln (ln ,78) Numero medio di tentativi 79,78 Se si scelgono solo dispari dimezza 354,89 Se si scelgono dispari in [2 123,2 124 ] probabilità ( ) ln ln ,23 dleman, Pomerance e Rumely [1983] Complessità (lg p) O(lg lg lg p) grawal, Kayal, Saxena [gosto 22] Complessità del caso peggiore (lg p) 12 poly((lglg p)) 122 bit scelti a caso Crittografia a Chiave Pubblica 66 Crittografia a Chiave Pubblica 67 Test di primalità probabilistici p Test Primalità primo composto Certamente! Insieme di witness W(p) dato a [, p-1] è facile verificare se a W(p) se p è primo allora W(p) è vuoto se p è composto allora W(p) p/2 Probabilmente! Scelgo a Diminuizione della probabilità di errore Probabilità di errore (n è composto ma viene dichiarato primo) di tale test 1/2 Se il test viene ripetuto indipendentemente t volte allora la probabilità di errore (1/2) t Crittografia a Chiave Pubblica 68 Crittografia a Chiave Pubblica 69 Test di primalità probabilistici Test di Solovay-Strassen Pubblicato nel 1977 Probabilità di errore (1/2) t Test di Miller-Rabin Il più usato in pratica Il più veloce Probabilità di errore (1/4) t Test di Solovay-Strassen (a n) simbolo di Jacobi Criterio di Eulero: Sia n un primo dispari. gcd(a,n) = 1 a (n-1)/2 = (a n) mod n Sia n un numero composto dispari. {a : gcd(a,n) = 1 and a (n-1)/2 = (a n) mod n} φ(n)/2 Insieme di witness di Eulero W E (n) = {a : gcd(a,n)>1 oppure a (n-1)/2 (a n) mod n} Crittografia a Chiave Pubblica 7 Crittografia a Chiave Pubblica 71

13 Simbolo di Jacobi (a n) = (a p 1 ) e 1 (a p 2 ) e 2... (a p k ) e k (a p) = se p divide a 1 se a è un quadrato mod p -1 se a non è un quadrato mod p Simbolo di Legendre p primo (a p) = a (p-1)/2 mod p fattorizzazione dispari n = p 1 e1 p 2 e2... p k ek, p i primo, e i Può essere computato con O((log n) 2 ) operazioni su bit (a n) = gcd(a,n) > 1 a = b mod n (a n) = (b n) (ab n) = (a n) (b n) (2 n) = (-1) (n2-1)/8 (m n) = (n m) (-1) (n-1)(m-1)/4 Crittografia a Chiave Pubblica 72 Simbolo di Jacobi Può essere computato con O((log n) 2 ) operazioni su bit a = b modn (a n) = (b n) (ab n) = (a n) (b n) (2 n) = (-1) (n2-1)/8 (m n) = (n m) (-1) (n-1)(m-1)/4 Esempio: ( ) = (2 235) (79 235) = (-1) (235 79) (-1) (78)(234)/4 (78)(234)/4 = (77 79) = (79 77) (-1) (76)(78)/4 (76)(78)/4 = (2 77) = -1-1 Crittografia a Chiave Pubblica 73 Test di Miller-Rabin Insieme di witness di Miller-Rabin W MR (n) = {a : a r n-1 = 2 s 1 mod n and s r r con r r dispari a 2jr -1 mod n per ogni j [,s-1]} Se n è un primo dispari W MR (n) è vuoto Se n è un numero composto dispari (n 9) W MR (n) (3/4) φ(n) Witness di Miller-Rabin n=91 Witness di Miller-Rabin W MR (91) = {a : a 45 1 mod 91 and a 2j 45-1 mod 91 per ogni j [,]} Se n è un numero composto dispari W MR (n) (3/4) φ(n) Strong liars: elementi in {1,2,,9} / W MR (91) {1,9,1,12,16,17,22,29,38,53,62,69,74,75,79,81,82,9} Sono 18 = φ(91)/4 elementi = = Crittografia a Chiave Pubblica 74 Crittografia a Chiave Pubblica 75 Witness di Miller-Rabin n=15 Witness di Miller-Rabin W MR (15) = {a : a 13 1 mod and = a 2j 13-1 mod 15 per ogni j [,2]} Strong liars: elementi in {1,2,,14} / W MR (15) {1,14} Sono solo 2 < 12 = φ(15)/4 elementi 15 = In genere strong liars molto meno di f(n)/4 Fattorizzazione Dato n calcolare l unica fattorizzazione n = p 1 e 1 p 2 e 2... p k e k con p i primo ed e i Splitting di n: calcolare due interi a,b >1 (fattori non-triviali) tali che n = a b Crittografia a Chiave Pubblica 76 Crittografia a Chiave Pubblica 77

14 Fattorizzazione: un semplice algoritmo Fattorizzazione: complessità algoritmi Calcolo di un fattore primo: Per tutti i primi p in [2, n ] Complessità caso peggiore Θ( n) (accade se n = pq) Se p n allora p è fattore di n Se n ha 512 bit allora n Crittografia a Chiave Pubblica 78 Complessità di tempo sub-esponenziale in media L q [a,c] = O(e (c+o(1))(ln q)a (lnln q) 1-a ) con c > ed < a < 1 lgoritmo basato su curve ellittiche: L n [ 1/2, 1] Quadratic sieve: L n [ 1/2, 1] General number field sieve: L n [ 1/3, 1.923] il più veloce Crittografia a Chiave Pubblica 79 Quadratic sieve in pratica Quadratic sieve è migliore dell algoritmo basato su curve ellittiche Implementazioni del Quadratic sieve anno numero digit mips per anno = 425 bit 1 mips per anno = 1 anno su VX 11/78» istruzioni RS computer per 8 mesi factoring by Crittografia a Chiave Pubblica 8 General Number field sieve in pratica General Number field sieve è migliore del Quadratic sieve solo per interi di almeno cifre decimali RS-13, fattorizzato nel 1996 con 5 mips per anno RS-14, fattorizzato il 2 febbraio 1999, elapsed time 9 settimane RS-155, fattorizzato il 22 agosto 1999, con 8. mips per anno, elapsed time 7,4 mesi MHz MHzSGI and and Sun Sunworkstations MHz MHzSGI Origin2 processors bit! MHzPentiumII PCs PCs MHz MHzDigital/Compaq boxes boxes Crittografia a Chiave Pubblica 81 Calcolo di fattori piccoli lgoritmi per calcolare un fattore p di n: lgoritmo Rho di Pollard: tempo medio O( p) lgoritmo basato su curve ellittiche: tempo medio L p [1/2, 2] = O(e ( 2+o(1))(ln q)1/2 (lnln q) 1/2 ) I numeri più difficili da fattorizzare sono del tipo n = pq con p,q primi della stessa lunghezza Crittografia a Chiave Pubblica 82 Una strategia generale per fattorizzare Cerca fattori piccoli Prova divisione per alcuni piccoli primi (2,3,5,7,) Prova algoritmo Rho di Pollard Prova algoritmo basato su curve ellittiche Cerca fattori grandi Prova Quadratic sieve oppure GeneralNumber field sieve Crittografia a Chiave Pubblica 83

15 Che modulo scegliere? d oggi, i numeri più difficili da fattorizzare sono del tipo n = p q con p,q primi della stessa lunghezza e di almeno (per essere tranquilli!) 768 bit ( = 23 digit) per uso personale 124 bit per le aziende 248 per chiavi importanti ad esempio utorità di Certificazione Crittografia a Chiave Pubblica 84 Intrattabilità della fattorizzazione La sicurezza di molte tecniche crittografiche si basa sulla intrattabilità della fattorizzazione: crittosistema RS, Rabin firme digitali RS Crittografia a Chiave Pubblica 85 Sicurezza di RS Se potesse fattorizzare 1. Fattorizza n 2. Computa (p-1)(q-1) 3. Computa d e -1-1 mod (p-1)(q-1) Sicurezza di RS Se potesse computare ϕ(n)=(p-1)(q-1) potrebbe calcolare d e -1 mod (p-1)(q-1) Crittografia a Chiave Pubblica 86 Crittografia a Chiave Pubblica 87 Sicurezza di RS Se potesse computare ϕ(n)=(p-1)(q-1), potrebbe calcolare d e -1 mod (p-1)(q-1) n = pq sostituendo p = n/q ϕ(n) = (p-1)(q-1) p 2 - (n-ϕ(n)+1)p + n = Due soluzioni: p,q Crittografia a Chiave Pubblica 88 Se potesse computare ϕ(n) = (p-1)(q-1), potrebbe calcolare d e -1 mod (p-1)(q-1) n = pq ϕ(n) = (p-1)(q-1) Sicurezza di RS sostituendo p = n/q p 2 - (n-ϕ(n)+1)p + n = = pq p p = = (p-1)(q-1) radici: 9539 e 8887 Crittografia a Chiave Pubblica 89

16 Sicurezza di RS Sicurezza di RS Se potesse computare d Se potesse computare d ma questo è computazionalmente equivalente a fattorizzare! Crittografia a Chiave Pubblica 9 Crittografia a Chiave Pubblica 91 Sicurezza di RS Sicurezza di RS Se potesse computare d ma questo è computazionalmente equivalente a fattorizzare! Se potesse computare d ma questo è computazionalmente equivalente a fattorizzare! Un algoritmo che computa d (con input n,e) può essere usato come oracolo in in un algoritmo Las Vegas che fattorizza n con probabilità 1/2 n, e, d lgoritmo Las Vegas fattorizzazione di n con probabilità 1/2 Crittografia a Chiave Pubblica 92 Crittografia a Chiave Pubblica 93 Modifica Chiavi RS E E stato scoperto d. d. file Cambio pubblico solo gli gli esponenti e,d e,d lasciando n (n,e) Piccoli messaggi Posso cifrare un solo digit,1,,9 con RS? C M e mod n Esempio: mod Crittografia a Chiave Pubblica 94 Crittografia a Chiave Pubblica 95

17 Piccoli messaggi Posso cifrare un solo digit,1,,9 con RS? C M e mod n Proprietà moltiplicativa di RS Proprietà di omomorfismo C 1 = M e 1 mod n (M 1 M 2 ) e = M e 1 M e 2 = C 1 C 2 mod n C 2 = M e 2 mod n Esempio: mod Se M < n 1/e allora uso di Digital Envelope salting del messaggio M Crittografia a Chiave Pubblica 96 Crittografia a Chiave Pubblica 97 Proprietà moltiplicativa di RS C 1 = M e 1 mod n (M 1 M 2 ) e = M e 1 M e 2 = C 1 C 2 mod n C 2 = M e 2 mod n Chosen-ciphertext attack adattivo Obiettivo: decifrare C (= M e mod n) Scelgo x a caso Decifrazione (d,n) C' C x e mod n M' (C') d mod n M' = (C') d =(C x e ) d = C d x mod n M M' x -1 mod n Crittografia a Chiave Pubblica 98 ttacchi ad RS Piccolo esponente pubblico (ad es., e = 3) Stesso messaggio inviato a più utenti ttacchi ad implementazioni: Timing ttack Random Faults ttacco di Bleichenbacher [1998 ] su PKCS 1 (vecchia versione): uso del Web browser come oracolo! 2 Random M 16 bit Crittografia a Chiave Pubblica 99 Informazioni parziali per RS Dato C potrebbero esserci informazioni parziali sul messaggio M facili da ottenere (senza dover decifrare C! ) e difficili? C = M e mod n hard bit : ultimi c loglog n bit Un bit facile per RS C = M e mod n E facile calcolare il simbolo di Jacobi del testo in chiaro (C n) = (M e n) = (M n) e = (M n) Crittografia a Chiave Pubblica 1 Crittografia a Chiave Pubblica 11

18 Un bit difficile per RS Un bit difficile per RS half n,e (C) = se M < n/2 1 se M > n/2 se M < n/2 half n,e (C) = 1 se M > n/2 Calcolare half n,e ( ) è computazionalmente equivalente ad invertire RS C Calcola half n,e n,e ( ) ( ) half n,e (C) C Decifra n,e n,e,e M Calcola half half n,e ( ) n,e ( ) Crittografia a Chiave Pubblica 12 Crittografia a Chiave Pubblica 13 Un bit difficile per RS half n,e (C) = se M < n/2 1 se M > n/2 half n,e (C) = 1 M n/2 n Crittografia a Chiave Pubblica 14 Un bit difficile per RS half n,e (C) = C C (2 e mod n) se M < n/2 1 se M > n/2 C = (2 M) e mod n half n,e (C ) = 1 1 M n/4 n/2 3n/4 n Crittografia a Chiave Pubblica 15 Un bit difficile per RS se M < n/2 half n,e (C) = 1 se M > n/2 C C (4 e mod n) C = (4 M) e mod n Un bit difficile per RS Ricerca binaria Dopo log n chiamate ad half n,e ( ) l intervallo consta di un solo valore half n,e (C ) = M n/8 n/4 3n/8 n/2 5n/8 3n/4 7n/8 n Crittografia a Chiave Pubblica 16 Crittografia a Chiave Pubblica 17

19 Predicato parità C = M e mod n parità n,e (C) = bit meno significativo di M I predicati parità n,e ( ) e half n,e ( ) sono computazionalmente equivalenti half n,e (M e mod n) = parità n,e ((2M) e mod n) half n,e n,e n,e (C) = parità n,e ( C (2 e mod n) mod n ) parità n,e n,e -1 n,e (C) = half n,e ( C ((2-1 ) e mod n) mod n ) Crittografia a Chiave Pubblica 18 Crittografia probabilistica Testo in chiaro Testo cifrato M = M 1 M 2 M 3 C = C 1 C 2 C 3 M i = predicato_difficile (C i ) Ora, un semplice esempio Crittografia a Chiave Pubblica 19 Piccolo esempio: Chiavi RS Crittografia probabilistica (n=55, d=27) (n (n = 55, e = 3) 3) 55 = 11 5 p = 11, q = 5 ed = 3 27 = 1 mod 4 (p-1)(q-1) = 1 4 = 4 Crittografia a Chiave Pubblica 11 Testo in chiaro M = 1 Testo cifrato C = 3 3 mod mod 55 M i = half 55,3 (C i ) half 55,3 (C) = se M < 55/2 1 se M > 55/2 Crittografia a Chiave Pubblica 111 lcuni Crittosistemi a RS [1977] (fattorizzazione) Merkle-Hellman [1978] (zaino -1) rotto! Molte varianti rotte! Resiste Chor-Rivest [1988] Rabin [1979] (fattorizzazione) McEliece [1978] (decodifica codici lineari) El-Gamal [1984] (logaritmo discreto) Uso di curve ellittiche [1985] curve iperellittiche [1989] automi cellulari [1985] Funzioni one-way Facili da calcolare e difficili da invertire Crittografia a Chiave Pubblica 112 Crittografia a Chiave Pubblica 113

20 Funzioni one-way trapdoor Facili da calcolare e difficili da invertire a meno che si conosca una trapdoor lcuni brevetti software (US) numero oggetto inventore scadenza DES Ehrsam ed al Diffie-Hellman Hellman, Diffie, Merkle Critt. Helman, Merkle Pohling-Hellman Hellman, Pohling 3 gen RS Rivest, Shamir, dleman 2 sett Shamir-Fiat Shamir, Fiat Vettori di controllo Matyas, Meyer, Bracht Guillou-Quisquater Guillou-Quisquater DS Kravitz IDE Massey-Lai Fair Cryptosystems Micali 211 Crittografia a Chiave Pubblica 114 Crittografia a Chiave Pubblica 115 Export dagli US International Traffic in rms Regulations (ITR) [1989] United States Munitions List Strong encryption RS lunghezza chiave 512 bit cifrari a blocco (DES, IDE, RC6,) lunghezza chiave 4 bit eccetto se limitato a non deve essere facilmente controllo accessi (ad es., TM) utilizzabile per cifrare! autenticazione dati (ad es., MC, firme) Permesso dal Department of Commerce, ad es. Cybercash, cifratura RS 768 bit per transazioni finanziarie Gennaio 2: export più facile eccetto verso Cuba, Iran, Iraq, Libia, Corea del Nord, Sudan, Siria Crittografia a Chiave Pubblica 116

Teoria dei Numeri. Cifratura. Decifratura. Cifratura. Decifratura. Crittosistema a chiave pubblica. nnarella. iagio. nnarella.

Teoria dei Numeri. Cifratura. Decifratura. Cifratura. Decifratura. Crittosistema a chiave pubblica. nnarella. iagio. nnarella. Crittosistema a Cifratura kpriv kpub kpub Devo cifrare il messaggio M ed inviarlo ad Crittografia a Chiave Pubblica Crittografia a Chiave Pubblica Cifratura Decifratura C Cifratura di M per C CIFR (kpub,

Dettagli

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

Cifratura. Decifratura. Cifratura. Decifratura. Crittografia a chiave pubblica ed a chiave privata. Corso di Sicurezza su Reti 1 Crittosistema a chiave pubblica Cifratura chiave privata kpriv kpub kpub Devo cifrare il messaggio M ed inviarlo ad Crittografia a Chiave Pubblica 0 iagio Crittografia a Chiave Pubblica 1 Cifratura Decifratura

Dettagli

C Crittografia a Chiave Pubblica 4. Cifratura. Cifratura. Decifratura. Decifratura. Crittosistema a chiave pubblica

C Crittografia a Chiave Pubblica 4. Cifratura. Cifratura. Decifratura. Decifratura. Crittosistema a chiave pubblica Crittosistema a chiave pubblica Cifratura chiave privata kpriv A kpub A kpub Devo cifrare il messaggio M ed inviarlo ad A ssuntina iagio Crittografia a Chiave Pubblica 0 Crittografia a Chiave Pubblica

Dettagli

Teoria dei Numeri. Number Theory. Teoria dei numeri. Teorema della divisione. Cifrari asimmetrici più comuni basati sulla Teoria dei Numeri

Teoria dei Numeri. Number Theory. Teoria dei numeri. Teorema della divisione. Cifrari asimmetrici più comuni basati sulla Teoria dei Numeri Number Theory Teoria dei Numeri Cifrari asimmetrici più comuni basati sulla Teoria dei Numeri Barbara Masucci Dipartimento di Informatica ed Applicazioni Università di Salerno masucci@dia.unisa.it http://www.dia.unisa.it/professori/masucci

Dettagli

Teoria dei Numeri. Number Theory. Teoria dei numeri. Teorema della divisione. Cifrari asimmetrici più comuni basati sulla Teoria dei Numeri

Teoria dei Numeri. Number Theory. Teoria dei numeri. Teorema della divisione. Cifrari asimmetrici più comuni basati sulla Teoria dei Numeri Number Theory Teoria dei Numeri Cifrari asimmetrici più comuni basati sulla Teoria dei Numeri Barbara Masucci Dipartimento di Informatica ed Applicazioni Università di Salerno masucci@dia.unisa.it http://www.dia.unisa.it/professori/masucci

Dettagli

Teoria dei numeri. Number Theory. Congruenze mod n. Teorema della divisione. Concetti preliminari per RSA

Teoria dei numeri. Number Theory. Congruenze mod n. Teorema della divisione. Concetti preliminari per RSA Number Theory Teoria dei numeri Concetti preliminari per RSA Barbara Masucci Dipartimento di Informatica ed Applicazioni Università di Salerno masucci@dia.unisa.it http://www.dia.unisa.it/professori/masucci

Dettagli

Number Theory. Teoria dei numeri. Teorema della divisione. Congruenze mod n

Number Theory. Teoria dei numeri. Teorema della divisione. Congruenze mod n Number Theory Alfredo De Santis Dipartimento di Informatica ed Applicazioni Università di Salerno Marzo 2012 adsi@dia.unisa.it http://www.dia.unisa.it/professori/ads Teoria dei numeri Concetti preliminari

Dettagli

Crittografia a chiave pubblica

Crittografia a chiave pubblica Crittografia a chiave pubblica Barbara Masucci Dipartimento di Informatica ed Applicazioni Università di Salerno masucci@dia.unisa.it http://www.dia.unisa.it/professori/masucci Cifrari simmetrici canale

Dettagli

Number Theory. Teoria dei numeri. Teorema della divisione. Corso di Sicurezza su reti Concetti preliminari per RSA

Number Theory. Teoria dei numeri. Teorema della divisione. Corso di Sicurezza su reti Concetti preliminari per RSA Number Theory Barbara Masucci Dipartimento di Informatica ed Applicazioni Università di Salerno masucci@dia.unisa.it http://www.dia.unisa.it/professori/masucci Teoria dei numeri Concetti preliminari per

Dettagli

Crittografia a chiave pubblica

Crittografia a chiave pubblica Crittografia a chiave pubblica Cifrari simmetrici Barbara Masucci Dipartimento di Informatica ed Applicazioni Università di Salerno masucci@dia.unisa.it http://www.dia.unisa.it/professori/masucci canale

Dettagli

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

Generatori. Accordo su una chiave. Diffie-Hellman [1976] Diffie-Hellman [1976] Diffie-Hellman [1976] Potenze in Z 19. iagio nnarella. nnarella. Accordo su una chiave Diffie-Hellman [] di Z p K K Diffie-Hellman 0 Diffie-Hellman Generatori a a a a a Potenze in Z a a a a a 0 a a a a a a a a g è generatore di di Z p se {g i p se {g i i p-} = Z p 0

Dettagli

una possibile funzione unidirezionale

una possibile funzione unidirezionale una possibile funzione unidirezionale moltiplicare due interi a n bit è facile (in O(n 2 ) con l algoritmo usuale) trovare un primo a n bit, e verificare che è primo, è facile fattorizzare un numero a

Dettagli

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

Firma Digitale. Firma Digitale. Firma digitale. Firma digitale. Firma Digitale. Equivalente alla firma convenzionale firma irma Digitale Equivalente alla firma convenzionale firma irma Digitale Equivalente alla firma convenzionale Soluzione naive: incollare firma digitalizzata irma Digitale 0 irma Digitale 1 Soluzione

Dettagli

Accordo su chiavi. Accordo su una chiave. Accordo su chiavi. Corso di Sicurezza su reti Vedremo due schemi: Diffie-Hellman

Accordo su chiavi. Accordo su una chiave. Accordo su chiavi. Corso di Sicurezza su reti Vedremo due schemi: Diffie-Hellman Accordo su chiavi Barbara Masucci Dipartimento di Informatica ed Applicazioni Università di Salerno masucci@dia.unisa.it http://www.dia.unisa.it/professori/masucci Accordo su una chiave 1 Accordo su chiavi

Dettagli

una possibile funzione unidirezionale

una possibile funzione unidirezionale una possibile funzione unidirezionale moltiplicare due interi a n bit è facile (in O(n 2 ) con l algoritmo usuale) trovare un primo a n bit, e verificare che è primo, è facile fattorizzare un numero a

Dettagli

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

Firme digitali. Firma Digitale. Firma Digitale. Firma Digitale. Equivalente alla firma convenzionale. Equivalente alla firma convenzionale irme digitali irma Digitale Barbara asucci Dipartimento di Informatica ed Applicazioni Università di Salerno firma Equivalente alla firma convenzionale masucci@dia.unisa.it http://www.dia.unisa.it/professori/masucci

Dettagli

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

M firma. M firma. Firma Digitale. Firma Digitale. Firma digitale. Firma digitale. Firma Digitale. Equivalente alla firma convenzionale firma irma Digitale Equivalente alla firma convenzionale firma irma Digitale Equivalente alla firma convenzionale Soluzione naive: incollare firma digitalizzata irma Digitale 0 irma Digitale 1 firma irma

Dettagli

Accordo su chiavi (key agreement)

Accordo su chiavi (key agreement) 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

Dettagli

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

Firme digitali. Firma Digitale. Firma Digitale. Firma Digitale. Equivalente alla firma convenzionale. Equivalente alla firma convenzionale irme digitali irma Digitale Barbara asucci Dipartimento di Informatica ed Applicazioni Università di Salerno firma Equivalente alla firma convenzionale masucci@dia.unisa.it http://www.dia.unisa.it/professori/masucci

Dettagli

una possibile funzione unidirezionale

una possibile funzione unidirezionale una possibile funzione unidirezionale moltiplicare due interi a n bit è facile (in O(n 2 ) con l algoritmo usuale) trovare un primo a n bit, e verificare che è primo, è facile (vedremo poi) fattorizzare

Dettagli

crittografia a chiave pubblica

crittografia a chiave pubblica crittografia a chiave pubblica Whitfield Diffie Martin Hellman New Directions in Cryptography We stand today on the brink of a revolution in cryptography. The development of cheap digital hardware... has

Dettagli

Crittografia a chiave pubblica

Crittografia a chiave pubblica Crittografia a chiave pubblica Alfredo De Santis Dipartimento di Informatica Università di Salerno ads@unisa.it http://www.dia.unisa.it/professori/ads Marzo 2017 Sommario! RSA! Descrizione! Generazione

Dettagli

Crittografia a chiave pubblica

Crittografia a chiave pubblica Crittografia a chiave pubblica Barbara Masucci Dipartimento di Informatica Università di Salerno bmasucci@unisa.it http://www.di.unisa.it/professori/masucci Costruzioni Vedremo alcune costruzioni basate

Dettagli

crittografia a chiave pubblica

crittografia a chiave pubblica crittografia a chiave pubblica Whitfield Diffie Martin Hellman New Directions in Cryptography We stand today on the brink of a revolution in cryptography. The development of cheap digital hardware... has

Dettagli

una possibile funzione unidirezionale

una possibile funzione unidirezionale una possibile funzione unidirezionale moltiplicare due interi a n bit è facile (in O(n 2 ) con l algoritmo usuale) trovare un primo a n bit, e verificare che è primo, è facile fattorizzare un numero a

Dettagli

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 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 /0/00 Accordo su chiavi Accordo su una chiave Diartimento di Tecnologie dell Informazione Università di Milano cimato@dti.unimi.it htt://www.dti.unimi.it/~cimato K K Accordo su chiavi Vedremo due schemi:

Dettagli

funzione φ di Eulero, o funzione toziente è definita sugli interi positivi φ(n) è il numero di interi positivi n che sono coprimi con n

funzione φ di Eulero, o funzione toziente è definita sugli interi positivi φ(n) è il numero di interi positivi n che sono coprimi con n ordine di un gruppo G un gruppo finito: ordine di G = o(g) = numero di elementi di G l insieme degli invertibili di Z n è un gruppo rispetto al prodotto (mod n) si denota con U(Z n ) e ha ordine φ(n) esempio:

Dettagli

si cerca di scegliere e non troppo grande e tale che nella scrittura binaria di e ci siano pochi 1 e piccolo = cifratura più veloce

si cerca di scegliere e non troppo grande e tale che nella scrittura binaria di e ci siano pochi 1 e piccolo = cifratura più veloce crittosistema RSA Sia N = pq, p, q primi. Sia P = C = Z N. Lo spazio delle chiavi è K = {(N, p, q, d, e) de 1 (mod φ(n))}. Se k = (N, p, q, d, e) è una chiave, poniamo e k (x) = x e (mod N) N e e sono

Dettagli

Crittografia simmetrica (a chiave condivisa)

Crittografia simmetrica (a chiave condivisa) Crittografia simmetrica (a chiave condivisa) Crittografia simmetrica (a chiave condivisa) Schema di trasmissione con chiave condivisa: Crittografia simmetrica (a chiave condivisa) Schema di trasmissione

Dettagli

crittografia a chiave pubblica

crittografia a chiave pubblica crittografia a chiave pubblica Whitfield Diffie Martin Hellman New Directions in Cryptography We stand today on the brink of a revolution in cryptography. The development of cheap digital hardware... has

Dettagli

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

Cifrari simmetrici. Crittografia a chiave pubblica. Problemi. Gestione delle chiavi Crittografia a chiave pubblica Cifrari simmetrici Alfredo De Santis Dipartimento di Informatica ed Applicazioni Università di Salerno ads@dia.unisa.it http://www.dia.unisa.it/professori/ads Marzo 2012

Dettagli

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

Cifrari asimmetrici. Cifratura. Cifratura. Crittosistema ElGamal. file pubblico utente chiave pubblica. Alice. file pubblico utente chiave pubblica Crittosistema ElGamal lfredo De Santis Dipartimento di Informatica ed pplicazioni Università di Salerno Marzo 2012 ads@dia.unisa.it http://www.dia.unisa.it/professori/ads Cifrari asimmetrici kpriv kpub

Dettagli

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

Accordo su chiavi. Accordo su una chiave. Diffie-Hellman [1976] Accordo su chiavi. Diffie-Hellman [1976] Diffie-Hellman [1976] ?? Accordo su chiavi Accordo su una chiave Barbara Masucci Dipartimento di Informatica ed Applicazioni Università di Salerno masucci@dia.unisa.it http://www.dia.unisa.it/professori/masucci K K 1 Accordo su

Dettagli

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

E necessaria la chiave segreta? RSA. Funzioni One-way con Trapdoor. Un secondo protocollo E necessaria la chiave segreta? RSA Rivest, Shamir, Adelman A manda a B lo scrigno chiuso con il suo lucchetto. B chiude lo scrigno con un secondo lucchetto e lo rimanda ad A A toglie il suo lucchetto

Dettagli

una possibile funzione unidirezionale

una possibile funzione unidirezionale una possibile funzione unidirezionale moltiplicare due interi a n bit è facile (in O(n 2 ) con l algoritmo usuale) trovare un primo a n bit, e verificare che è primo, è facile (vedremo poi) fattorizzare

Dettagli

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

DIARIO DEL CORSO DI TEORIA DEI NUMERI E CRITTOGRAFIA. (41 ore complessive di lezione) DIARIO DEL CORSO DI TEORIA DEI NUMERI E CRITTOGRAFIA DOCENTE: SANDRO MATTAREI (41 ore complessive di lezione) Prima settimana. Lezione di martedí 22 febbraio 2011 (due ore) Rappresentazione di numeri interi

Dettagli

Corso di Crittografia Prof. Dario Catalano. Primitive Asimmetriche

Corso di Crittografia Prof. Dario Catalano. Primitive Asimmetriche Corso di Crittografia Prof. Dario Catalano Primitive Asimmetriche Introduzione n Oggi discuteremo le primitive sulla base delle quali costruire sistemi asimmetrici affidabili. n Nel caso della crittografia

Dettagli

Corso di Crittografia Prof. Dario Catalano. Introduzione alla crittografia asimmetrica

Corso di Crittografia Prof. Dario Catalano. Introduzione alla crittografia asimmetrica Corso di Crittografia Prof. Dario Catalano Introduzione alla crittografia asimmetrica Introduzione n La crittografia simmetrica parte dal presupposto che Alice e Bob condividano una chiave segreta. n In

Dettagli

Lauree scientifiche Crittografia. RSA CRT

Lauree scientifiche Crittografia. RSA CRT Lauree scientifiche Crittografia. RSA CRT Emanuele Cesena emanuele.cesena @ gmail.com Sommario RSA Complessità RSA CRT Crittoanalisi di RSA CRT RSA in pillole Chiave pubblica: intero n = p q di 1024 bit,

Dettagli

funzione φ di Eulero, o funzione toziente è definita sugli interi positivi φ(n) è il numero di interi positivi n che sono coprimi con n

funzione φ di Eulero, o funzione toziente è definita sugli interi positivi φ(n) è il numero di interi positivi n che sono coprimi con n ordine di un gruppo G un gruppo finito: ordine di G = o(g) = numero di elementi di G l insieme degli invertibili di Z n è un gruppo rispetto al prodotto (mod n) si denota con U(Z n ) e ha ordine φ(n) esempio:

Dettagli

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

Accordo su chiavi. (key agreement) Alfredo De Santis. Marzo 2015. Dipartimento di Informatica Università di Salerno Accordo su chiavi (key agreement) Alfredo De Santis Dipartimento di Informatica Università di Salerno ads@dia.unisa.it http://www.dia.unisa.it/professori/ads Marzo 2015 Accordo su una chiave Alice Bob??

Dettagli

Moltiplicazione mod n

Moltiplicazione mod n Aritmetica modulare con modulo composto Moltiplicazione mod n Per ogni n, Z* n e la moltiplicazione modulare costituiscono un gruppo moltiplicativo. chiusura, commutativa, associativa reciproco n = =.

Dettagli

Cifrario di Rabin. Chiara Gasparri

Cifrario di Rabin. Chiara Gasparri Cifrario di Rabin Chiara Gasparri Simbolo di Legendre Sia p un numero primo dispari, definiamo il Simbolo di Legendre come 0 se p divide a a = 1 se a è un quadrato di Z p 1 se a non è quadrato Z p p Proprietà

Dettagli

A cosa serve la crittografia? La crittografia serve ad aiutare due utenti, Alice e Bob, a comunicare in modo sicuro...

A cosa serve la crittografia? La crittografia serve ad aiutare due utenti, Alice e Bob, a comunicare in modo sicuro... Crittografia A cosa serve la crittografia? La crittografia serve ad aiutare due utenti, Alice e Bob, a comunicare in modo sicuro... Mister X...anche in presenza di Mister X, un avversario che ascolta la

Dettagli

(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

(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 ordine di un gruppo G un gruppo finito: ordine di G = o(g) = numero di elementi di G l insieme degli invertibili di Z n è un gruppo rispetto al prodotto si denota con U(Z n ) e ha ordine φ(n) esempio:

Dettagli

Crittografia e sicurezza delle reti. 1. Classi complessità probabilistiche e OWF 2. Test primalità

Crittografia e sicurezza delle reti. 1. Classi complessità probabilistiche e OWF 2. Test primalità Crittografia e sicurezza delle reti 1. Classi complessità probabilistiche e OWF 2. Test primalità Classi di complessità Una classe di complessità è una classe di problemi di decisione (linguaggi) che possono

Dettagli

sia G un gruppo ciclico di ordine n, sia g un generatore di G

sia G un gruppo ciclico di ordine n, sia g un generatore di G logaritmo discreto sia G un gruppo ciclico di ordine n, sia g un generatore di G dato y 1 G bisogna determinare l unico intero x con 1 x n 1 tale che g x = y ex: in U(Z 9 ) con g = 2, se y = 7 si ha x

Dettagli

crittografia a chiave pubblica

crittografia a chiave pubblica crittografia a chiave pubblica Whitfield Diffie Martin Hellman New Directions in Cryptography We stand today on the brink of a revolution in cryptography. The development of cheap digital hardware... has

Dettagli

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

CRITTOGRAFIA 2014/15 Appello del 13 gennaio Nome: Cognome: Matricola: CRITTOGRAFIA 2014/15 Appello del 13 gennaio 2015 Esercizio 1 Crittografia ellittica [9 punti] 1. Descrivere l algoritmo di Koblitz per trasformare un messaggio m, codificato come numero intero, in un punto

Dettagli

Protocollo E-cash ed algoritmo RSA. Carlo Manasse Giulio Baldantoni. Corso di laurea in Informatica. May 10, 2012

Protocollo E-cash ed algoritmo RSA. Carlo Manasse Giulio Baldantoni. Corso di laurea in Informatica. May 10, 2012 Corso di laurea in Informatica May 10, 2012 Introduzione RSA è un algoritmo di crittografia asimmetrica. Fu introdotto nel 1978 da Rivest Ronald Shamir Adi Adleman Leonard Ancora oggi è uno degli algoritmi

Dettagli

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

Firma Digitale. Firma Digitale. Firma digitale. Firma digitale. Firma Digitale A?? Equivalente alla firma convenzionale firma irma Digitale Equivalente alla firma convenzionale firma irma Digitale Equivalente alla firma convenzionale Soluzione naive: incollare firma digitalizzata irma Digitale 0 irma Digitale 1 Soluzione

Dettagli

Crittografia a chiave pubblica

Crittografia a chiave pubblica Crittografia a chiave pubblica Barbara Masucci Dipartimento di Informatica Università di Salerno bmasucci@unisa.it http://www.di.unisa.it/professori/masucci Cifrari simmetrici canale insicuro Bob 1 Distribuzione

Dettagli

Seminario sulla Crittografia. Corso: T.A.R.I Prof.: Giulio Concas Autore: Ivana Turnu

Seminario sulla Crittografia. Corso: T.A.R.I Prof.: Giulio Concas Autore: Ivana Turnu Seminario sulla Crittografia Corso: T.A.R.I Prof.: Giulio Concas Autore: Ivana Turnu Crittografia Cos è la crittografia Le tecniche più usate La firma digitale Cos è la crittografia Per garantire la riservatezza

Dettagli

idea della crittografia a chiave pubblica

idea della crittografia a chiave pubblica idea della crittografia a chiave pubblica sviluppare un crittosistema in cui data la funzione di cifratura e k sia computazionalmente difficile determinare d k Bob rende pubblica la sua funzione di cifratura

Dettagli

Crittografia a chiave pubblica!

Crittografia a chiave pubblica! Crittografia a chiave pubblica! Hardy (sulla teoria dei numeri, 1940): Gauss e tutti i matematici possono rallegrarsi perché la loro scienza si mantiene amabile e incorrotta per la sua lontananza dalle

Dettagli

una possibile funzione unidirezionale

una possibile funzione unidirezionale una possibile funzione unidirezionale moltiplicare due interi a n bit è facile (in O(n 2 ) con l algoritmo usuale) trovare un primo a n bit, e verificare che è primo, è facile (vedremo poi) fattorizzare

Dettagli

Corso di Crittografia

Corso di Crittografia Corso di Crittografia Prova in Itinere del 21 Giugno 2013 1. Si definisca formalmente il concetto di indistinguibilità ind-id-cpa per cifrari basati sull identità. 2. Si consideri il seguente problema

Dettagli

sia G un gruppo ciclico di ordine n, sia g un generatore di G

sia G un gruppo ciclico di ordine n, sia g un generatore di G logaritmo discreto sia G un gruppo ciclico di ordine n, sia g un generatore di G dato y 1 G bisogna determinare l unico intero x con 1 x n 1 tale che g x = y ex: in U(Z 9 ) con g = 2, se y = 7 si ha x

Dettagli

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

M.C.D.(3522, 321) = 3 = ( 36) (395) 321 Capitolo 1 Congruenze Lineari 1.1 Prerequisiti Identita di Bezout: M.C.D.(a, b) = αa + βb con α e β opportuni interi. In altre parole il M.C.D.(a, b) é combinazione lineare di a e b. Quando la combinazione

Dettagli

NUMERI PRIMI E CRITTOGRAFIA

NUMERI PRIMI E CRITTOGRAFIA NUMERI PRIMI E CRITTOGRAFIA Parte I. Crittografia a chiave simmetrica dall antichità all era del computer Parte II. Note della Teoria dei Numeri concetti ed algoritmi a supporto della Crittografia Parte

Dettagli

Introduzione alla crittografia. Diffie-Hellman e RSA

Introduzione alla crittografia. Diffie-Hellman e RSA Introduzione alla crittografia. Diffie-Hellman e RSA Daniele Giovannini Torino 2011, Crittografia a chiave pubblica: oltre RSA Università degli Studi di Trento, Lab di Matematica Industriale e Crittografia

Dettagli

logaritmo discreto come funzione unidirezionale

logaritmo discreto come funzione unidirezionale logaritmo discreto come funzione unidirezionale in generale, lavoreremo con il gruppo U(Z p ) = Z p dati g generatore di Z p e x tale che 1 x p 1, calcolare y = g x è computazionalmente facile (y g x (mod

Dettagli

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

Crittografia. Primalità e Fattorizzazione. Corso di Laurea Specialistica. in Informatica Crittografia Corso di Laurea Specialistica in Informatica Primalità e Fattorizzazione Alberto Leporati Dipartimento di Informatica, Sistemistica e Comunicazione Università degli Studi di Milano Bicocca

Dettagli

sia G un gruppo ciclico di ordine n, sia g un generatore di G bisogna determinare l unico intero x con 1 x n 1 tale che g x = y

sia G un gruppo ciclico di ordine n, sia g un generatore di G bisogna determinare l unico intero x con 1 x n 1 tale che g x = y gruppi ciclici Definizione Un gruppo G con n elementi tale esiste un elemento g G con o(g) = n si dice ciclico, e g si dice un generatore del gruppo U(Z 9 ) è ciclico p. es. U(Z 8 ) non lo è i gruppi U(Z

Dettagli

una possibile funzione unidirezionale

una possibile funzione unidirezionale una possibile funzione unidirezionale moltiplicare due interi a n bit è facile (in O(n 2 ) con l algoritmo usuale) trovare un primo a n bit, e verificare che è primo, è facile (vedremo poi) fattorizzare

Dettagli

maggiore velocità per cifratura/decifratura l uso di chiavi più corte comporta: memorizzazione efficiente Alberto Leporati Corso di Crittografia 2

maggiore velocità per cifratura/decifratura l uso di chiavi più corte comporta: memorizzazione efficiente Alberto Leporati Corso di Crittografia 2 Crittografia Corso di Laurea Specialistica in Informatica Crittosistemi basati sulle Curve Ellittiche Alberto Leporati Dipartimento di Informatica, Sistemistica e Comunicazione Università degli Studi di

Dettagli

Crittografia. Corso di Laurea Specialistica. in Informatica. Crittosistemi basati sulle Curve. Ellittiche

Crittografia. Corso di Laurea Specialistica. in Informatica. Crittosistemi basati sulle Curve. Ellittiche Crittografia Corso di Laurea Specialistica in Informatica Crittosistemi basati sulle Curve Ellittiche Alberto Leporati Dipartimento di Informatica, Sistemistica e Comunicazione Università degli Studi di

Dettagli

La crittografia moderna e la sua applicazione

La crittografia moderna e la sua applicazione La crittografia moderna e la sua applicazione Corso FSE per la GdF Crittosistemi basati sulle Curve Ellittiche Alberto Leporati Dipartimento di Informatica, Sistemistica e Comunicazione Università degli

Dettagli

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

Firme digitali. Firma Digitale. Firma Digitale. Corso di Sicurezza su Reti Lezione del 17 novembre 2009. Equivalente alla firma convenzionale Firme digitali Barbara Masucci Dipartimento di Informatica ed Applicazioni Università di Salerno masucci@dia.unisa.it http://www.dia.unisa.it/professori/masucci Firma Digitale Equivalente alla firma convenzionale

Dettagli

Crittografia a chiave pubblica. Cenni alla teoria dei numeri

Crittografia a chiave pubblica. Cenni alla teoria dei numeri Crittografia a chiave pubblica Cenni alla teoria dei numeri Numeri Primi I numeri primi hanno come divisori solo se stessi e l unità Non possono essere ottenuti dal prodotto di altri numeri eg. 2,3,5,7

Dettagli

NUMERI PRIMI E CRITTOGRAFIA

NUMERI PRIMI E CRITTOGRAFIA NUMERI PRIMI E CRITTOGRAFIA Parte I. Crittografia a chiave simmetrica dall antichità all era del computer Parte II. Note della Teoria dei Numeri concetti ed algoritmi a supporto della Crittografia Parte

Dettagli

Crittografia Asimmetrica

Crittografia Asimmetrica Sicurezza nei Sistemi Informativi Crittografia Asimmetrica Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it Dipartimento di Ingegneria Informatica e delle Telecomunicazioni Università di Catania Crittografia

Dettagli

Altre alternative a RSA interessanti e praticabili

Altre alternative a RSA interessanti e praticabili Altre alternative a RSA interessanti e praticabili Prof. Massimiliano Sala MINICORSI 2011. Crittografia a chiave pubblica: oltre RSA Università degli Studi di Trento, Lab di Matematica Industriale e Crittografia

Dettagli

Protocolli a conoscenza zero. Carlo De Vittoria

Protocolli a conoscenza zero. Carlo De Vittoria Protocolli a conoscenza zero Carlo De Vittoria PROBLEMI Dati A, l utente che si vuole autenticare, e B il sistema di autenticazione Con le precedenti autenticazioni abbiamo riscontrato i seguenti problemi:

Dettagli

problema del logaritmo discreto

problema del logaritmo discreto problema del logaritmo discreto consideriamo il gruppo ciclico U(Z p ), p primo sia g un elemento primitivo modulo p sia y {1,..., p 1} = U(Z p ) il minimo intero positivo x con g x = y si dice il logaritmo

Dettagli

Meccanismi con sicurezza basata sul problema del logaritmo discreto

Meccanismi con sicurezza basata sul problema del logaritmo discreto Meccanisi con sicurezza basata sul problea del logarito discreto Scabio di Diffie-ellan Cifrario di ElGaal Fira di ElGaal Digital Signature Standard Algoriti di fira con appendice Messaggi di lunghezza

Dettagli

RSA e firma digitale

RSA e firma digitale Università degli Studi di Cagliari Corso di Laurea in Matematica RSA e firma digitale Mara Manca Relatore: prof. Andrea Loi Anno Accademico 2015-2016 Mara Manca Relatore: prof. Andrea Loi RSA e firma digitale

Dettagli

Il Test di Primalità Miller-Rabin

Il Test di Primalità Miller-Rabin Il Test di Primalità Miller-Rabin Marco Frego Marco Pizzato 8 giugno 2006 Indice 0.1 Introduzione............................ 2 0.2 La densità dei numeri primi................... 2 0.3 Test di pseudoprimalità.....................

Dettagli

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

Agostino Dovier. Dip di Matematica e Informatica, Univ. di Udine DE Agostino Dovier Dip di Matematica e Informatica, Univ. di Udine Ringrazio l amico e maestro Andrea Sgarro per il materiale tratto dal suo meraviglioso quanto introvabile testo DE DIFFIE E HELLMAN DE

Dettagli

Una curva ellittica è una curva definita da un equazione in due incognite del tipo:

Una curva ellittica è una curva definita da un equazione in due incognite del tipo: Lezione tenuta dal Prof. P. D Arco Presentazione di: Francesco Apicella Raffaele De Feo Ermanno Travaglino Una curva ellittica è una curva definita da un equazione in due incognite del tipo: y 2 = x 3

Dettagli

Crittografia. Crittosistemi a Chiave Pubblica. Corso di Laurea Specialistica. in Informatica

Crittografia. Crittosistemi a Chiave Pubblica. Corso di Laurea Specialistica. in Informatica Crittografia Corso di Laurea Specialistica in Informatica Crittosistemi a Chiave Pubblica Alberto Leporati Dipartimento di Informatica, Sistemistica e Comunicazione Università degli Studi di Milano Bicocca

Dettagli

DIARIO DEL CORSO DI ALGEBRA A A.A. 2017/18 DOCENTE: ANDREA CARANTI

DIARIO DEL CORSO DI ALGEBRA A A.A. 2017/18 DOCENTE: ANDREA CARANTI DIARIO DEL CORSO DI ALGEBRA A A.A. 2017/18 DOCENTE: ANDREA CARANTI Nota. La descrizione di lezioni non ancora svolte si deve intendere come una previsione/pianificazione. Lezione 1. martedí 20 febbraio

Dettagli

Aritmetica modulare, numeri primi e crittografia

Aritmetica modulare, numeri primi e crittografia Università di Pavia 14 Giugno 2016 Numeri primi Definizione Un intero n > 1 è un numero primo se non esistono due interi a, b > 1 tali che n = ab. Sono dunque numeri primi: 2, 3, 5, 7, 11, 13, 17, 19,

Dettagli

Progetto Lauree Scientifiche Crittografia V incontro

Progetto Lauree Scientifiche Crittografia V incontro Progetto Lauree Scientifiche Crittografia V incontro Giovanna Carnovale 13 marzo 2006 Sommario Durante questo incontro analizzeremo la sicurezza del sistema crittografico RSA e parleremo di come trasformare

Dettagli

L'enigma dei numeri primi

L'enigma dei numeri primi L'enigma dei numeri primi Bardonecchia 16-18 Dicembre 2016 Introduzione I numeri primi: sono un concetto semplice; ruolo fondamentale nella vita di tutti i giorni; stanno lasciando una lunga scia di congetture.

Dettagli

idea della crittografia a chiave pubblica

idea della crittografia a chiave pubblica idea della crittografia a chiave pubblica sviluppare un crittosistema in cui data la funzione di cifratura e k sia computazionalmente difficile determinare d k Bob rende pubblica la sua funzione di cifratura

Dettagli

Crittografia per la sicurezza dei dati

Crittografia per la sicurezza dei dati Crittografia per la sicurezza dei dati Esigenza di sicurezza in rete significa: -garanzia di riservatezza dei dati in rete (e-mail) -garanzia di transazioni sicure (e-commerce, home banking) La crittografia

Dettagli

DIARIO DEL CORSO DI ALGEBRA A A.A. 2015/16 DOCENTE: ANDREA CARANTI

DIARIO DEL CORSO DI ALGEBRA A A.A. 2015/16 DOCENTE: ANDREA CARANTI DIARIO DEL CORSO DI ALGEBRA A A.A. 2015/16 DOCENTE: ANDREA CARANTI Lezione 1. martedí 16 febbraio 2015 (2 ore) Presentazione del corso. Esercizio: cosa succede a moltiplicare per 2, 3, 4,... il numero

Dettagli

Crittografia a Chiave Pubblica

Crittografia a Chiave Pubblica Crittografia a Chiave Pubblica Problemi difficili Assunzione: per certi problemi della Teoria dei numeri non si troveranno mai algoritmi con tempo polinomiale P1: logaritmo discreto (gruppo ciclico o GF(p

Dettagli

Fattorizzazione e Test di Primalità con Curve Ellittiche

Fattorizzazione e Test di Primalità con Curve Ellittiche UNIVERSITÁ DEGLI STUDI ROMA TRE FACOLTÁ DI SCIENZE MATEMATICHE, FISICHE E NATURALI DIPARTIMENTO DI MATEMATICA Fattorizzazione e Test di Primalità con Curve Ellittiche TESI DI LAUREA SPECIALISTICA IN MATEMATICA

Dettagli

Introduzione alla crittografia. Il crittosistema RSA e la sua sicurezza

Introduzione alla crittografia. Il crittosistema RSA e la sua sicurezza Introduzione alla crittografia. Il crittosistema RSA e la sua sicurezza Prof. Massimiliano Sala MINICORSI 2011. Crittografia a chiave pubblica: oltre RSA Università degli Studi di Trento, Lab di Matematica

Dettagli

sia G un gruppo ciclico di ordine n, sia g un generatore di G bisogna determinare l unico intero x con 1 x n 1 tale che g x = y

sia G un gruppo ciclico di ordine n, sia g un generatore di G bisogna determinare l unico intero x con 1 x n 1 tale che g x = y gruppi ciclici Definizione Un gruppo G con n elementi tale esiste un elemento g G con o(g) = n si dice ciclico, e g si dice un generatore del gruppo U(Z 9 ) è ciclico p. es. U(Z 8 ) non lo è i gruppi U(Z

Dettagli

Esercitazione per la prova scritta

Esercitazione per la prova scritta Esercitazione per la prova scritta x 2 Esercizio 1 x n k in ECB/CBC/CFB/OFB Barbara Masucci Dipartimento di Informatica ed Applicazioni Università di Salerno masucci@dia.unisa.it http://www.dia.unisa.it/professori/masucci

Dettagli

I Numeri Primi. Università degli Studi di Milano Polo Didattico e di Ricerca di Crema. Prof.ssa Laura Citrini

I Numeri Primi. Università degli Studi di Milano Polo Didattico e di Ricerca di Crema. Prof.ssa Laura Citrini Università degli Studi di Milano Polo Didattico e di Ricerca di Crema I Numeri Primi Prof.ssa Laura Citrini Filippo Gandaglia 657228 Massimo Manara 656814 Andrea Gardoni 656751 Luigi Margheritti 660216

Dettagli

Saveri Daniele Zanobi Riccardo Pugliesi Elena

Saveri Daniele Zanobi Riccardo Pugliesi Elena ATTACCHI all RSA Saveri Daniele Zanobi Riccardo Pugliesi Elena Uno sguardo d assiemed La fattorizzazione Forzare RSA Sicurezza RSA Saveri Daniele Fattorizzazione Def: : Fattorizzare (ridurre in fattori)

Dettagli

Crittografia ed Aritmetica Modulare II incontro

Crittografia ed Aritmetica Modulare II incontro Crittografia ed Aritmetica Modulare II incontro PLS - CAM Padova, 24 ottobre 2014 Introduzione Problema: A deve fare arrivare a B un certo messaggio, senza che alcun C venga a conoscenza del contenuto.

Dettagli

NUMERI E CRITTOGRAFIA. Carlo Toffalori (Camerino) Scuola Estiva Mathesis Telese Terme, 28 luglio 2015

NUMERI E CRITTOGRAFIA. Carlo Toffalori (Camerino) Scuola Estiva Mathesis Telese Terme, 28 luglio 2015 NUMERI E CRITTOGRAFIA Carlo Toffalori (Camerino) Scuola Estiva Mathesis Telese Terme, 28 luglio 2015 1 Edgar Allan Poe, Lo scarabeo d oro: la caccia al tesoro di capitan Kidd Istruzioni incomprensibili

Dettagli

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

Il Ricevente comunica pubblicamente una chiave e. Il Mittente codifica il messaggio usando la funzione f(m, e) = C e Crittografia a chiave pubblica. Il problema della crittografia è semplice da enunciare: vi sono due persone, il Mittente e il Ricevente, che vogliono comunicare fra loro senza che nessun altro possa leggere

Dettagli

Agostino Dovier 10 GENNAIO 2018

Agostino Dovier 10 GENNAIO 2018 Agostino Dovier Dip di Scienze Matematiche, Informatiche, e Fisiche Univ. di Udine 10 GENNAIO 2018 DE DE DIFFIE E HELLMAN (TURING AWARD 2015) DE DE DIFFIE E HELLMAN Nel 1976 Whitfield Diffie e Martin Hellman

Dettagli