La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

1 Introduzione alle curve ellittiche. 2 I principali problemi sui quali si basano i sistemi crittografici moderni sono: I principali problemi sui quali.

Presentazioni simili


Presentazione sul tema: "1 Introduzione alle curve ellittiche. 2 I principali problemi sui quali si basano i sistemi crittografici moderni sono: I principali problemi sui quali."— Transcript della presentazione:

1 1 Introduzione alle curve ellittiche

2 2 I principali problemi sui quali si basano i sistemi crittografici moderni sono: I principali problemi sui quali si basano i sistemi crittografici moderni sono: Il problema della fattorizzazione di interi grandi (Integer Factorization Problem – IFP ) Il problema della fattorizzazione di interi grandi (Integer Factorization Problem – IFP ) Il problema del calcolo del logaritmo discreto su campi finiti (Discrete Logarithm Problem – DLP ) Il problema del calcolo del logaritmo discreto su campi finiti (Discrete Logarithm Problem – DLP ) Il problema del calcolo del logaritmo discreto su curve ellittiche (Elliptic Curve Discrete Logarithm Problem – ECDLP ) Il problema del calcolo del logaritmo discreto su curve ellittiche (Elliptic Curve Discrete Logarithm Problem – ECDLP ) Riassumendo...

3 3 Negli ultimi tempi linteresse degli appassionati di teoria dei numeri verso le curve ellittiche è andato crescendo, forse a causa del loro impiego per la famosa dimostrazione dellultimo teorema di Fermat da parte di Andrew Wiles I cifrari basati sulle curve ellittiche furono proposti in maniera indipendente da Victor Miller e Neal Koblitz verso la metà degli anni ottanta Le curve ellittiche possono interpretarsi come una versione analogica del concetto di gruppo moltiplicativo in un campo finito Per comprendere come questa particolare classe di cubiche possa essere impiegata per costruire una categoria di metodi crittografici, attualmente ritenuti i più sicuri, occorre introdurne le proprietà matematiche fondamentali Crittografia e curve ellittiche

4 4 oDefinizione 1 Sia K un campo di caratteristica p 2,3 e sia x 3 +ax+b, con a,b K, un polinomio cubico privo di radici multiple; una curva ellittica su K è linsieme costituito dalle coppie (x,y) con x,y K che soddisfano lequazione y 2 =x 3 ax b più un punto isolato O, detto punto allinfinito Se p=2, lequazione delle curve ellittiche può assumere le due forme… Se p=2, lequazione delle curve ellittiche può assumere le due forme… y 2 cy=x 3 ax bcurva supersingolare y 2 xy=x 3 ax b curva non supersingolare y 2 xy=x 3 ax b curva non supersingolare …e per p=3 …e per p=3 y 2 =x 3 ax 2 bx c Le curve ellittiche

5 5 Curve ellittiche reali

6 6 Grafici delle curve ellittiche sul campo di equazione (a) y 2 =x 3 x, (b) y 2 =x 3 1, (c) y 2 =x 3 5x 6 Le curve ellittiche

7 7 Curva ellittica su numeri reali

8 8

9 9 Curve ellittiche su Z p

10 10 Curve ellittiche su Z p

11 11 Curve ellittiche su Z p

12 12 oDefinizione 2 Sia E una curva ellittica su, e siano P e Q punti di E; si definiscono lopposto di P e la somma P Q, in base alle seguenti regole Se P coincide con il punto allinfinito O, allora P= O e P Q=Q, cioè O è lelemento neutro per laddizione di puntiSe P coincide con il punto allinfinito O, allora P= O e P Q=Q, cioè O è lelemento neutro per laddizione di punti Altrimenti, lopposto P di P è il punto con ascissa x uguale a quella di P ed ordinata opposta, cioè P=(x, y)Altrimenti, lopposto P di P è il punto con ascissa x uguale a quella di P ed ordinata opposta, cioè P=(x, y) Se Q= P, P Q= OSe Q= P, P Q= O Le curve ellittiche

13 13 Se P e Q hanno ascisse distinte, allora r = PQ interseca la curva E esattamente in un ulteriore punto R (se r non è tangente ad E in P, nel qual caso R=P, o in Q, così che R=Q); se R è distinto da P e Q, P Q= R. Le curve ellittiche

14 14 Se P=Q, sia t la tangente alla curva in P e sia R (lunico) ulteriore punto di intersezione di t con la curva, allora P Q=2P= R Le curve ellittiche

15 15 Come si calcolano le coordinate di P Q ? Come si calcolano le coordinate di P Q ? Se P=(x 1,y 1 ) e Q=(x 2,y 2 ) con x 1 x 2, sia y= x lequazione della retta r per P e Q (che non è verticale); in questo caso, =(y 2 y 1 )/(x 2 x 1 ) e =y 1 x 1 ; i punti di r, (x, x ), giacciono anche sulla curva ellittica E se e solo se soddisfano luguaglianza x 3 ( x ) 2 ax b=0Se P=(x 1,y 1 ) e Q=(x 2,y 2 ) con x 1 x 2, sia y= x lequazione della retta r per P e Q (che non è verticale); in questo caso, =(y 2 y 1 )/(x 2 x 1 ) e =y 1 x 1 ; i punti di r, (x, x ), giacciono anche sulla curva ellittica E se e solo se soddisfano luguaglianza x 3 ( x ) 2 ax b=0 Le curve ellittiche

16 16 Curve ellittiche su Z p

17 17 Curve ellittiche su Z p

18 18 Curve ellittiche su Z p

19 19 Curve ellittiche

20 20 Curve ellittiche

21 21 Curve ellittiche

22 22 Curve ellittiche

23 23 Curve ellittiche

24 24 Curve ellittiche

25 25 Curve ellittiche

26 26 Due soluzioni dellequazione cubica sono note e corrispondono ai punti P e Q; poiché in un polinomio monico di grado n, la somma delle radici coincide con il coefficiente del termine di grado n 1, 2 =x 1 x 2 x 3, da cui…Due soluzioni dellequazione cubica sono note e corrispondono ai punti P e Q; poiché in un polinomio monico di grado n, la somma delle radici coincide con il coefficiente del termine di grado n 1, 2 =x 1 x 2 x 3, da cui… x 3 =[(y 2 y 1 )/(x 2 x 1 )] 2 x 1 x 2 e y 3 = y 1 [(y 2 y 1 )/(x 2 x 1 )](x 1 x 3 ) Le curve ellittiche Un polinomio si dice monico se il coefficiente del termine di grado massimo è uguale ad 1.

27 27 Se P=Q, =dy/dx= [ f (x,y)/ x]/[ f (x,y)/ y]| P, con f (x,y)=y 2 (x 3 ax b), cioè =(3x 1 2 a)/2y 1, da cui…Se P=Q, =dy/dx= [ f (x,y)/ x]/[ f (x,y)/ y]| P, con f (x,y)=y 2 (x 3 ax b), cioè =(3x 1 2 a)/2y 1, da cui… x 3 =[(3x 1 2 a)/2y 1 ] 2 2x 1 e y 3 = y 1 [(3x 1 2 a)/2y 1 ](x 1 x 3 ) I punti di una curva ellittica E formano un gruppo abeliano relativamente alloperazione di somma I punti di una curva ellittica E formano un gruppo abeliano relativamente alloperazione di somma Le curve ellittiche

28 28 Le curve ellittiche

29 29 Come in ogni gruppo abeliano, si userà la notazione nP, per indicare loperazione di somma del punto P con se stesso effettuata n volte, se n>0, ovvero la somma di P con se stesso effettuata n volte, per n negativo Come in ogni gruppo abeliano, si userà la notazione nP, per indicare loperazione di somma del punto P con se stesso effettuata n volte, se n>0, ovvero la somma di P con se stesso effettuata n volte, per n negativo Per definizione, il punto allinfinito O rappresenta il terzo punto di intersezione delle rette verticali con la curva E Per definizione, il punto allinfinito O rappresenta il terzo punto di intersezione delle rette verticali con la curva E Le curve ellittiche

30 30 Sia K il campo finito Z n, costituito da n = p q elementi Sia K il campo finito Z n, costituito da n = p q elementi Sia E una curva ellittica definita su Z n Sia E una curva ellittica definita su Z n E è composta da al più 2n 1 punti, il punto allinfinito O e 2n coppie (x,y) Z n Z n, ovvero per ciascuna delle n possibili ascisse x Z n esistono al più 2n ordinate y Z n che soddisfano lequazione di E E è composta da al più 2n 1 punti, il punto allinfinito O e 2n coppie (x,y) Z n Z n, ovvero per ciascuna delle n possibili ascisse x Z n esistono al più 2n ordinate y Z n che soddisfano lequazione di E In realtà, vale il seguente… o Teorema di Hasse Sia N il numero di punti in Z n appartenenti ad una curva ellittica E, definita su Z n ; vale la disuguaglianza |N (n 1)| 2 n Curve ellittiche su campi finiti

31 31 Supponiamo di codificare il plaintext x come un intero r Sia E una curva ellittica definita su Z n, con n=p q, numero intero grande e dispari Un metodo probabilistico (non esistono algoritmi deterministici per risolvere questo problema!) per codificare r mediante P r può essere schematizzato come segue: Si sceglie k (50 è sufficiente); sia 0r Rk Gli interi compresi fra 1 ed Rk possono essere scritti nella forma rk j, con 1j

32 32 Pertanto, dato r, per ogni 1j

33 33 Posto di riuscire a trovare un x c t.c. esiste y c calcolato come sopra, per jk, r può essere ricalcolato da P r =(x c,y c ) come r=[(x 1)k)], con x c x (mod n) e x Z n Posto di riuscire a trovare un x c t.c. esiste y c calcolato come sopra, per jk, r può essere ricalcolato da P r =(x c,y c ) come r=[(x 1)k)], con x c x (mod n) e x Z n Poiché f (x) è un quadrato in Z n approssimativamente nel 50% dei casi (tale probabilità vale esattamente N/2n, che è molto vicino ad ½), la probabilità che il metodo proposto fallisca nel calcolare il punto P r la cui coordinata x c è compresa fra rk 1 e rk k è 2 k Poiché f (x) è un quadrato in Z n approssimativamente nel 50% dei casi (tale probabilità vale esattamente N/2n, che è molto vicino ad ½), la probabilità che il metodo proposto fallisca nel calcolare il punto P r la cui coordinata x c è compresa fra rk 1 e rk k è 2 k Da plaintext a punti su E 3

34 34 I vantaggi dei crittosistemi costruiti attraverso curve ellittiche rispetto ai codici su campi finiti sono: I vantaggi dei crittosistemi costruiti attraverso curve ellittiche rispetto ai codici su campi finiti sono: Gran numero di gruppi abeliani (costituiti dai punti di una curva) che si possono costruire su uno stesso campo finitoGran numero di gruppi abeliani (costituiti dai punti di una curva) che si possono costruire su uno stesso campo finito Non esistenza di algoritmi subesponenziali per risolvere il problema del logaritmo discreto su curve non supersingolariNon esistenza di algoritmi subesponenziali per risolvere il problema del logaritmo discreto su curve non supersingolari Chiavi più corte per garantire lo stesso grado di sicurezzaChiavi più corte per garantire lo stesso grado di sicurezza Crittosistemi su curve ellittiche

35 35 Le curve ellittiche permettono di formulare un problema analogo a quello del logaritmo discreto su un campo finito (DLP, Discrete Logarithm Problem) Le curve ellittiche permettono di formulare un problema analogo a quello del logaritmo discreto su un campo finito (DLP, Discrete Logarithm Problem) Problema Problema Siano dati una curva ellittica E su Z n ed un punto B E; il problema del logaritmo discreto su E in base B (ECDLP, Elliptic Curve Discrete Logarithm Problem) è dato P E trovare, se esiste, x Z tale che xB=P Crittosistemi su curve ellittiche

36 36 Osservazioni Per i campi finiti esiste un algoritmo, detto index calculus, che permette di calcolare il logaritmo discreto (ovvero di risolvere il DLP) con complessità subesponenziale Tale algoritmo si fonda sulla definizione delle operazioni di somma e prodotto, e quindi non è applicabile sulle curve ellittiche che possiedono esclusivamente una struttura additiva La sicurezza dei crittosistemi su curve ellittiche risiede nellattuale non conoscenza di algoritmi subesponenziali per risolvere lECDLP Esistono tuttavia algoritmi subesponenziali per particolari classi di curve ellittiche (in particolare per le curve supersingolari) Crittosistemi su curve ellittiche 3

37 37 Supponiamo che Alice e Bob vogliano accordarsi su una chiave segreta da utilizzare per un crittosistema classico Supponiamo che Alice e Bob vogliano accordarsi su una chiave segreta da utilizzare per un crittosistema classico 1)Alice e Bob devono fissare un campo finito Z n, dove n=p r, ed una curva ellittica E definita su questo campo 2)Il passo successivo consiste nel rendere pubblico un punto B E, detto base (che avrà un ruolo analogo al generatore g nel caso del Diffie Hellman classico); non è necessario che B sia un generatore di E, ma si suppone che abbia ordine o sufficientemente grande 3)Alice sceglie un numero a costituito dallo stesso numero di cifre (o), che terrà segreto, ed invia pubblicamente a Bob la quantità aB 4)Allo stesso modo, Bob sceglie b dello stesso ordine di grandezza ed invia ad Alice la quantità bB 5)Entrambi possono calcolare abB che servirà da chiave segreta Diffie Hellman su curve ellittiche

38 38 Sia data la curva ellittica y 2 =x 3 x 1 e il suo punto B(1;1) Sia data la curva ellittica y 2 =x 3 x 1 e il suo punto B(1;1) Alice sceglie a=2, calcola aB e lo pubblica aB=(2; 3) Alice sceglie a=2, calcola aB e lo pubblica aB=(2; 3) Bob sceglie b=3, calcola bB e lo pubblica bB= (13;47) Bob sceglie b=3, calcola bB e lo pubblica bB= (13;47) La chiave segreta è abB, cioè il punto di coordinate 7082/2209 e / La chiave segreta è abB, cioè il punto di coordinate 7082/2209 e / Esempio

39 39 Viene fissata una curva ellittica E su un campo Z n ed un punto B E Viene fissata una curva ellittica E su un campo Z n ed un punto B E Ogni utente sceglie un intero casuale a, che rappresenterà la sua chiave segreta, e pubblica aB Ogni utente sceglie un intero casuale a, che rappresenterà la sua chiave segreta, e pubblica aB Se Alice vuole spedire a Bob il messaggio M E, si attua il protocollo seguente Se Alice vuole spedire a Bob il messaggio M E, si attua il protocollo seguente 1)Alice sceglie un intero casuale k ed invia a Bob la coppia (kB, M k(bB)), dove (bB) e la chiave pubblica di Bob 2)Bob può decodificare il messaggio originale calcolando M=M k(bB) b(kB) utilizzando la propria chiave segreta b È evidente che un intruso che sapesse risolvere il problema ECDLP potrebbe ricavare b e da questo risalire al paintext È evidente che un intruso che sapesse risolvere il problema ECDLP potrebbe ricavare b e da questo risalire al paintext ElGamal su curve ellittiche

40 40 Il programma PGP (Pretty Good Privacy, Philip R. Zimmerman, 1991) è a chiave pubblica e utilizza il seguente protocollo di comunicazione: Il programma PGP (Pretty Good Privacy, Philip R. Zimmerman, 1991) è a chiave pubblica e utilizza il seguente protocollo di comunicazione: Un utente invia la propria chiave pubblica ad un corrispondente; leventuale intercettazione è irrilevante; chiunque vi abbia accesso, infatti, può spedire posta cifrata al proprietario della chiave privata, ma una volta effettuata la cifratura di un messaggio, nemmeno lautore è in grado di rileggerlo Un utente invia la propria chiave pubblica ad un corrispondente; leventuale intercettazione è irrilevante; chiunque vi abbia accesso, infatti, può spedire posta cifrata al proprietario della chiave privata, ma una volta effettuata la cifratura di un messaggio, nemmeno lautore è in grado di rileggerlo Il corrispondente codifica il messaggio con la chiave pubblica ricevuta e lo invia al proprietario della chiave; se anche il messaggio venisse intercettato, solo il legittimo destinatario, in possesso della chiave privata, è in grado di decifrarlo Il corrispondente codifica il messaggio con la chiave pubblica ricevuta e lo invia al proprietario della chiave; se anche il messaggio venisse intercettato, solo il legittimo destinatario, in possesso della chiave privata, è in grado di decifrarlo What one man can invent another can discover. [Sherlock Holmes] The Adventure of the Solitary Cyclist, Sir Arthur Conan Doyle PGP 1

41 41 Chiave di sessione Chiave di sessione Poiché la cifratura asimmetrica è molto più lenta della crittografia simmetrica, la tecnologia PGP utilizza un approccio ibrido al problema della sicurezza: Poiché la cifratura asimmetrica è molto più lenta della crittografia simmetrica, la tecnologia PGP utilizza un approccio ibrido al problema della sicurezza: Il messaggio viene inizialmente cifrato con un algoritmo di cifratura a chiave segreta (IDEA o CAST): viene automaticamente creata una chiave casuale temporanea, detta chiave di sessione, che viene utilizzata per cifrare soltanto quel documento Il messaggio viene inizialmente cifrato con un algoritmo di cifratura a chiave segreta (IDEA o CAST): viene automaticamente creata una chiave casuale temporanea, detta chiave di sessione, che viene utilizzata per cifrare soltanto quel documento La chiave di sessione viene a sua volta cifrata mediante la chiave pubblica del ricevente (RSA o Diffie Hellman) La chiave di sessione viene a sua volta cifrata mediante la chiave pubblica del ricevente (RSA o Diffie Hellman) Quando il messaggio giunge a destinazione, il ricevente utilizza la propria chiave privata per decifrare la chiave di sessione, che poi impiega per decifrare il messaggio Quando il messaggio giunge a destinazione, il ricevente utilizza la propria chiave privata per decifrare la chiave di sessione, che poi impiega per decifrare il messaggio PGP 2

42 42 Firma digitale Firma digitale Per essere certo della provenienza di un messaggio, il destinatario può richiedere al mittente di apporre al messaggio la propria firma digitale, utilizzando la propria chiave privata: viene così creato un file cifrato che non può essere duplicato in alcun modo Per essere certo della provenienza di un messaggio, il destinatario può richiedere al mittente di apporre al messaggio la propria firma digitale, utilizzando la propria chiave privata: viene così creato un file cifrato che non può essere duplicato in alcun modo Chiunque sia in possesso della chiave pubblica del mittente può leggere la firma ed identificare la provenienza del messaggio Chiunque sia in possesso della chiave pubblica del mittente può leggere la firma ed identificare la provenienza del messaggio Un documento, cui sia stata apposta una firma digitale, non può essere falsificato, né disconosciuto Un documento, cui sia stata apposta una firma digitale, non può essere falsificato, né disconosciuto La possibilità di autenticare la provenienza e la sicurezza dei messaggi digitali hanno aperto la strada alle commerce: la cifratura e le firme digitali, infatti, hanno reso sicuri i pagamenti via Internet tramite carta di credito La possibilità di autenticare la provenienza e la sicurezza dei messaggi digitali hanno aperto la strada alle commerce: la cifratura e le firme digitali, infatti, hanno reso sicuri i pagamenti via Internet tramite carta di credito PGP 3


Scaricare ppt "1 Introduzione alle curve ellittiche. 2 I principali problemi sui quali si basano i sistemi crittografici moderni sono: I principali problemi sui quali."

Presentazioni simili


Annunci Google