GoBack Crittografia a curve ellittiche Riccardo Brigo Scuola Superiore Sant’Anna [email protected] Riccardo Brigo Crittografia a curve ellittiche - 1/20 Richiami di teoria dei numeri Riccardo Brigo Crittografia a curve ellittiche - 2/20 Gruppi abeliani Richiami di teoria dei numeri • Gruppi abeliani • Campi • Campi finiti Curve ellittiche Applicazioni delle curve ellittiche in crittografia Riferimenti bibliografici Riccardo Brigo Crittografia a curve ellittiche - 3/20 Gruppi abeliani • Richiami di teoria dei numeri • Gruppi abeliani • Campi • Campi finiti Curve ellittiche Applicazioni delle curve ellittiche in crittografia Riferimenti bibliografici Riccardo Brigo Un insieme G si dice gruppo abeliano rispetto ad una relazione binaria ∗ se valgono le seguenti proprietà: ◦ chiusura di ∗ in G: ∀x, y ∈ G, x ∗ y ∈ G ◦ ∗ è commutativa: ∀x, y ∈ G, x ∗ y = y ∗ x ◦ ∗ è associativa: ∀x, y, z ∈ G, (x ∗ y) ∗ z = x ∗ (y ∗ z) ◦ esistenza ed unicità dell’elemento neutro: ∃!1 ∈ G|∀x ∈ Gx ∗ 1 = x ◦ esistenza ed unicità dell’elemento inverso: ∀x ∈ G ∃!y = x−1 ∈ G|x ∗ y = 1 Crittografia a curve ellittiche - 3/20 Gruppi abeliani • Richiami di teoria dei numeri • Gruppi abeliani • Campi • Campi finiti Curve ellittiche Applicazioni delle curve ellittiche in crittografia Riferimenti bibliografici • Un insieme G si dice gruppo abeliano rispetto ad una relazione binaria ∗ se valgono le seguenti proprietà: ◦ chiusura di ∗ in G: ∀x, y ∈ G, x ∗ y ∈ G ◦ ∗ è commutativa: ∀x, y ∈ G, x ∗ y = y ∗ x ◦ ∗ è associativa: ∀x, y, z ∈ G, (x ∗ y) ∗ z = x ∗ (y ∗ z) ◦ esistenza ed unicità dell’elemento neutro: ∃!1 ∈ G|∀x ∈ Gx ∗ 1 = x ◦ esistenza ed unicità dell’elemento inverso: ∀x ∈ G ∃!y = x−1 ∈ G|x ∗ y = 1 Dato un numero naturale n ed un elemento x ∈ G, xn = x | ∗ x ∗{z· · · ∗ x} n volte Riccardo Brigo Crittografia a curve ellittiche - 3/20 Gruppi abeliani • Richiami di teoria dei numeri • Gruppi abeliani • Campi • Campi finiti Curve ellittiche Applicazioni delle curve ellittiche in crittografia Riferimenti bibliografici • Un insieme G si dice gruppo abeliano rispetto ad una relazione binaria ∗ se valgono le seguenti proprietà: ◦ chiusura di ∗ in G: ∀x, y ∈ G, x ∗ y ∈ G ◦ ∗ è commutativa: ∀x, y ∈ G, x ∗ y = y ∗ x ◦ ∗ è associativa: ∀x, y, z ∈ G, (x ∗ y) ∗ z = x ∗ (y ∗ z) ◦ esistenza ed unicità dell’elemento neutro: ∃!1 ∈ G|∀x ∈ Gx ∗ 1 = x ◦ esistenza ed unicità dell’elemento inverso: ∀x ∈ G ∃!y = x−1 ∈ G|x ∗ y = 1 Dato un numero naturale n ed un elemento x ∈ G, xn = x | ∗ x ∗{z· · · ∗ x} n volte • Riccardo Brigo Si dice ordine di un elemento x ∈ G il minimo numero naturale n 6= 0 tale che xn = 1; se tale n non esiste, x è detto di ordine 0 Crittografia a curve ellittiche - 3/20 Campi Richiami di teoria dei numeri • Gruppi abeliani • Campi • Campi finiti Curve ellittiche Applicazioni delle curve ellittiche in crittografia Riferimenti bibliografici Riccardo Brigo Crittografia a curve ellittiche - 4/20 Campi • Richiami di teoria dei numeri • Gruppi abeliani • Campi • Campi finiti Curve ellittiche Applicazioni delle curve ellittiche in crittografia Riferimenti bibliografici Riccardo Brigo Un insieme F si dice campo rispetto a due operazioni binarie + e ∗ se valgono le seguenti proprietà: ◦ chiusura di entrambe le operazioni in F ◦ commutatività ed associatività di entrambe le operazioni ◦ proprietà distributiva: ∀x, y, z ∈ F, (x + y) ∗ z = x ∗ z + y ∗ z ◦ esistenza e unicità degli elementi neutri: ∃!0, 1 ∈ F |∀x ∈ F, x + 0 = x, x ∗ 1 = x ◦ esistenza dell’elemento inverso su +: ∀x ∈ F, ∃!y = −x|x + y = 0 ◦ esistenza dell’elemento inverso su ∗ per ogni elemento diverso da 0: ∀x ∈ F/{0}, ∃!y = x−1 |x ∗ y = 1 Crittografia a curve ellittiche - 4/20 Campi • Richiami di teoria dei numeri • Gruppi abeliani • Campi • Campi finiti Curve ellittiche Applicazioni delle curve ellittiche in crittografia Riferimenti bibliografici • Un insieme F si dice campo rispetto a due operazioni binarie + e ∗ se valgono le seguenti proprietà: ◦ chiusura di entrambe le operazioni in F ◦ commutatività ed associatività di entrambe le operazioni ◦ proprietà distributiva: ∀x, y, z ∈ F, (x + y) ∗ z = x ∗ z + y ∗ z ◦ esistenza e unicità degli elementi neutri: ∃!0, 1 ∈ F |∀x ∈ F, x + 0 = x, x ∗ 1 = x ◦ esistenza dell’elemento inverso su +: ∀x ∈ F, ∃!y = −x|x + y = 0 ◦ esistenza dell’elemento inverso su ∗ per ogni elemento diverso da 0: ∀x ∈ F/{0}, ∃!y = x−1 |x ∗ y = 1 Si dice caratteristica di un campo F il minimo numero naturale n 6= 0 tale che 1 + 1 + · · · + 1 = 0; se non esiste, {z } | n volte F è detto di caratteristica 0 Riccardo Brigo Crittografia a curve ellittiche - 4/20 Campi finiti Richiami di teoria dei numeri • Gruppi abeliani • Campi • Campi finiti Curve ellittiche Applicazioni delle curve ellittiche in crittografia Riferimenti bibliografici Riccardo Brigo Crittografia a curve ellittiche - 5/20 Campi finiti • Richiami di teoria dei numeri • Gruppi abeliani • Campi Un campo costituito da un numero finito q di elementi si dice campo finito e si indica con la notazione Fq • Campi finiti Curve ellittiche Applicazioni delle curve ellittiche in crittografia Riferimenti bibliografici Riccardo Brigo Crittografia a curve ellittiche - 5/20 Campi finiti • Richiami di teoria dei numeri • Gruppi abeliani • Campi • Campi finiti • Un campo costituito da un numero finito q di elementi si dice campo finito e si indica con la notazione Fq L’esempio più semplice di campo finito è l’insieme, indicato con Z/pZ, degli interi modulo p, con p primo Curve ellittiche Applicazioni delle curve ellittiche in crittografia Riferimenti bibliografici Riccardo Brigo Crittografia a curve ellittiche - 5/20 Campi finiti • Richiami di teoria dei numeri • Gruppi abeliani • Campi • • Campi finiti Curve ellittiche • Applicazioni delle curve ellittiche in crittografia Riferimenti bibliografici Riccardo Brigo Un campo costituito da un numero finito q di elementi si dice campo finito e si indica con la notazione Fq L’esempio più semplice di campo finito è l’insieme, indicato con Z/pZ, degli interi modulo p, con p primo Si dimostra che i valori ammissibili per q sono unicamente le potenze di numero primo (q = pd ), ovvero che un campo Fq è isomorfo ad un campo vettoriale di dimensione d con elementi in Z/pZ Crittografia a curve ellittiche - 5/20 Campi finiti • Richiami di teoria dei numeri • Gruppi abeliani • Campi • • Campi finiti Curve ellittiche • Applicazioni delle curve ellittiche in crittografia Riferimenti bibliografici • Riccardo Brigo Un campo costituito da un numero finito q di elementi si dice campo finito e si indica con la notazione Fq L’esempio più semplice di campo finito è l’insieme, indicato con Z/pZ, degli interi modulo p, con p primo Si dimostra che i valori ammissibili per q sono unicamente le potenze di numero primo (q = pd ), ovvero che un campo Fq è isomorfo ad un campo vettoriale di dimensione d con elementi in Z/pZ Per definizione stessa di campo, l’insieme Fq∗ = Fq /{0} è a sua volta un gruppo abeliano rispetto all’operazione di prodotto Crittografia a curve ellittiche - 5/20 Campi finiti • Richiami di teoria dei numeri • Gruppi abeliani • Campi • • Campi finiti Curve ellittiche • Applicazioni delle curve ellittiche in crittografia Riferimenti bibliografici • • Riccardo Brigo Un campo costituito da un numero finito q di elementi si dice campo finito e si indica con la notazione Fq L’esempio più semplice di campo finito è l’insieme, indicato con Z/pZ, degli interi modulo p, con p primo Si dimostra che i valori ammissibili per q sono unicamente le potenze di numero primo (q = pd ), ovvero che un campo Fq è isomorfo ad un campo vettoriale di dimensione d con elementi in Z/pZ Per definizione stessa di campo, l’insieme Fq∗ = Fq /{0} è a sua volta un gruppo abeliano rispetto all’operazione di prodotto L’ordine moltiplicativo di un elemento x ∈ Fq∗ è il più piccolo naturale n non nullo tale che xn = 1; si dimostra che n è un divisore di q − 1, ovvero della cardinalità di Fq∗ Crittografia a curve ellittiche - 5/20 Campi finiti • Richiami di teoria dei numeri • Gruppi abeliani • Campi • • Campi finiti Curve ellittiche • Applicazioni delle curve ellittiche in crittografia Riferimenti bibliografici • • • Riccardo Brigo Un campo costituito da un numero finito q di elementi si dice campo finito e si indica con la notazione Fq L’esempio più semplice di campo finito è l’insieme, indicato con Z/pZ, degli interi modulo p, con p primo Si dimostra che i valori ammissibili per q sono unicamente le potenze di numero primo (q = pd ), ovvero che un campo Fq è isomorfo ad un campo vettoriale di dimensione d con elementi in Z/pZ Per definizione stessa di campo, l’insieme Fq∗ = Fq /{0} è a sua volta un gruppo abeliano rispetto all’operazione di prodotto L’ordine moltiplicativo di un elemento x ∈ Fq∗ è il più piccolo naturale n non nullo tale che xn = 1; si dimostra che n è un divisore di q − 1, ovvero della cardinalità di Fq∗ Si dice generatore di Fq∗ un suo elemento g avente ordine moltiplicativo q − 1, ovvero le cui potenze (g, g 2 , . . . , g q−1 ) coprono tutti gli elementi di Fq∗ Crittografia a curve ellittiche - 5/20 Curve ellittiche Riccardo Brigo Crittografia a curve ellittiche - 6/20 Definizione Richiami di teoria dei numeri Curve ellittiche • Definizione • Proprietà • Le curve ellittiche come gruppi abeliani (I) • Le curve ellittiche come gruppi abeliani (II) • Curve ellittiche su Fq Applicazioni delle curve ellittiche in crittografia Riferimenti bibliografici Riccardo Brigo Crittografia a curve ellittiche - 7/20 Definizione • Richiami di teoria dei numeri Curve ellittiche • Definizione • Proprietà • Le curve ellittiche come gruppi abeliani (I) • Le curve ellittiche come Dato un campo K ed un polinomio x3 + ax + b con a, b ∈ K privo di radici multiple (ovvero tale che 4a3 + 27b2 6= 0), si definisce curva ellittica su K (indicato con E(K)) l’insieme dei punti (x, y) ∈ K 2 tali che: y 2 = x3 + ax + b gruppi abeliani (II) • Curve ellittiche su Fq Applicazioni delle curve ellittiche in crittografia Riferimenti bibliografici Riccardo Brigo Crittografia a curve ellittiche - 7/20 Definizione • Richiami di teoria dei numeri Curve ellittiche • Definizione • Proprietà • Le curve ellittiche come gruppi abeliani (I) • Le curve ellittiche come Dato un campo K ed un polinomio x3 + ax + b con a, b ∈ K privo di radici multiple (ovvero tale che 4a3 + 27b2 6= 0), si definisce curva ellittica su K (indicato con E(K)) l’insieme dei punti (x, y) ∈ K 2 tali che: y 2 = x3 + ax + b gruppi abeliani (II) • Curve ellittiche su Fq Applicazioni delle curve ellittiche in crittografia Riferimenti bibliografici Riccardo Brigo Crittografia a curve ellittiche - 7/20 Proprietà Richiami di teoria dei numeri Curve ellittiche • Definizione • Proprietà • Le curve ellittiche come gruppi abeliani (I) • Le curve ellittiche come gruppi abeliani (II) • Curve ellittiche su Fq Applicazioni delle curve ellittiche in crittografia Riferimenti bibliografici Riccardo Brigo Crittografia a curve ellittiche - 8/20 Proprietà • Richiami di teoria dei numeri Curve ellittiche • Definizione • Proprietà Se una retta non verticale interseca la curva E in due punti P e Q (eventualmente coincidenti, ovvero con retta tangente in P ≡ Q), interseca E anche in terzo punto R • Le curve ellittiche come gruppi abeliani (I) • Le curve ellittiche come gruppi abeliani (II) • Curve ellittiche su Fq Applicazioni delle curve ellittiche in crittografia Riferimenti bibliografici Riccardo Brigo Crittografia a curve ellittiche - 8/20 Proprietà • Richiami di teoria dei numeri Curve ellittiche • Definizione • Proprietà • Le curve ellittiche come gruppi abeliani (I) • Le curve ellittiche come gruppi abeliani (II) • Se una retta non verticale interseca la curva E in due punti P e Q (eventualmente coincidenti, ovvero con retta tangente in P ≡ Q), interseca E anche in terzo punto R nel caso in cui la retta sia verticale, si assume che essa intersechi una terza volta E in un punto punto all’infinito, indicato con 0 • Curve ellittiche su Fq Applicazioni delle curve ellittiche in crittografia Riferimenti bibliografici Riccardo Brigo Crittografia a curve ellittiche - 8/20 Proprietà • Richiami di teoria dei numeri Curve ellittiche • Definizione • Proprietà • • Le curve ellittiche come gruppi abeliani (I) • Le curve ellittiche come gruppi abeliani (II) • Curve ellittiche su Fq • Applicazioni delle curve Se una retta non verticale interseca la curva E in due punti P e Q (eventualmente coincidenti, ovvero con retta tangente in P ≡ Q), interseca E anche in terzo punto R nel caso in cui la retta sia verticale, si assume che essa intersechi una terza volta E in un punto punto all’infinito, indicato con 0 Dato un punto P (x, y) ∈ E si definisce −P ≡ (x, −y) ellittiche in crittografia Riferimenti bibliografici Riccardo Brigo Crittografia a curve ellittiche - 8/20 Proprietà • Richiami di teoria dei numeri Curve ellittiche • Definizione • Proprietà • • Le curve ellittiche come gruppi abeliani (I) • Le curve ellittiche come gruppi abeliani (II) • Curve ellittiche su Fq • Applicazioni delle curve ellittiche in crittografia • Se una retta non verticale interseca la curva E in due punti P e Q (eventualmente coincidenti, ovvero con retta tangente in P ≡ Q), interseca E anche in terzo punto R nel caso in cui la retta sia verticale, si assume che essa intersechi una terza volta E in un punto punto all’infinito, indicato con 0 Dato un punto P (x, y) ∈ E si definisce −P ≡ (x, −y) Dati due punti P e Q si definisce P + Q = −R: Riferimenti bibliografici Riccardo Brigo Crittografia a curve ellittiche - 8/20 Le curve ellittiche come gruppi abeliani (I) Richiami di teoria dei numeri Curve ellittiche • Definizione • Proprietà • Le curve ellittiche come gruppi abeliani (I) • Le curve ellittiche come gruppi abeliani (II) • Curve ellittiche su Fq Applicazioni delle curve ellittiche in crittografia Riferimenti bibliografici Riccardo Brigo Crittografia a curve ellittiche - 9/20 Le curve ellittiche come gruppi abeliani (I) • Richiami di teoria dei numeri Curve ellittiche • Definizione • Proprietà Con l’introduzione del punto 0, i punti di una generica curva ellittica E costituiscono un gruppo abeliano rispetto all’operazione di somma come precedentemente definita, avente 0 stesso come elemento neutro • Le curve ellittiche come gruppi abeliani (I) • Le curve ellittiche come gruppi abeliani (II) • Curve ellittiche su Fq Applicazioni delle curve ellittiche in crittografia Riferimenti bibliografici Riccardo Brigo Crittografia a curve ellittiche - 9/20 Le curve ellittiche come gruppi abeliani (II) Richiami di teoria dei numeri Curve ellittiche • Definizione • Proprietà • Le curve ellittiche come gruppi abeliani (I) • Le curve ellittiche come gruppi abeliani (II) • Curve ellittiche su Fq Applicazioni delle curve ellittiche in crittografia Riferimenti bibliografici Riccardo Brigo Crittografia a curve ellittiche - 10/20 Le curve ellittiche come gruppi abeliani (II) • Richiami di teoria dei numeri Curve ellittiche • Definizione • Proprietà • Le curve ellittiche come gruppi abeliani (I) • Le curve ellittiche come gruppi abeliani (II) • Curve ellittiche su Fq Applicazioni delle curve Analiticamente le coordinate (xR , yR ) si possono calcolare a partire da (xP , yP ) e (xQ , yQ ) come: 2 yQ − yP xR = − (xP + xQ ) xQ − xP yQ − yP (xP − xR ) yR = −yP + xQ − xP ellittiche in crittografia Riferimenti bibliografici Riccardo Brigo Crittografia a curve ellittiche - 10/20 Le curve ellittiche come gruppi abeliani (II) • Analiticamente le coordinate (xR , yR ) si possono calcolare a partire da (xP , yP ) e (xQ , yQ ) come: 2 yQ − yP xR = − (xP + xQ ) xQ − xP yQ − yP (xP − xR ) yR = −yP + xQ − xP • Nel caso di P ≡ Q le equazioni precedenti diventano: 2 2 3xP + a xR = − (xP + xQ ) 2yP 2 3xP + a yR = −yP + (xP − xR ) 2yP Richiami di teoria dei numeri Curve ellittiche • Definizione • Proprietà • Le curve ellittiche come gruppi abeliani (I) • Le curve ellittiche come gruppi abeliani (II) • Curve ellittiche su Fq Applicazioni delle curve ellittiche in crittografia Riferimenti bibliografici Riccardo Brigo Crittografia a curve ellittiche - 10/20 Curve ellittiche su Fq Richiami di teoria dei numeri Curve ellittiche • Definizione • Proprietà • Le curve ellittiche come gruppi abeliani (I) • Le curve ellittiche come gruppi abeliani (II) • Curve ellittiche su Fq Applicazioni delle curve ellittiche in crittografia Riferimenti bibliografici Riccardo Brigo Crittografia a curve ellittiche - 11/20 Curve ellittiche su Fq • Richiami di teoria dei numeri Curve ellittiche • Definizione • Proprietà • Le curve ellittiche come gruppi abeliani (I) • Le curve ellittiche come Il numero di punti N di una curva ellittica E(Fq ) definita su un campo finito è evidentemente finito e limitato superiormente da 2q + 1 (il punto all’infinito 0 e due potenziali radici per ciascun valore assunto dal polinomio x3 + ax + b al variare di x in [0 . . . q − 1]) gruppi abeliani (II) • Curve ellittiche su Fq Applicazioni delle curve ellittiche in crittografia Riferimenti bibliografici Riccardo Brigo Crittografia a curve ellittiche - 11/20 Curve ellittiche su Fq • Richiami di teoria dei numeri Curve ellittiche • Definizione • Proprietà • Le curve ellittiche come gruppi abeliani (I) • Le curve ellittiche come gruppi abeliani (II) • Curve ellittiche su Fq Applicazioni delle curve ellittiche in crittografia • Il numero di punti N di una curva ellittica E(Fq ) definita su un campo finito è evidentemente finito e limitato superiormente da 2q + 1 (il punto all’infinito 0 e due potenziali radici per ciascun valore assunto dal polinomio x3 + ax + b al variare di x in [0 . . . q − 1]) Una miglior stima di N è data dal teorema di Hasse, in base al quale √ |N − (q + 1)| ≤ 2 q Riferimenti bibliografici Riccardo Brigo Crittografia a curve ellittiche - 11/20 Curve ellittiche su Fq • Richiami di teoria dei numeri Curve ellittiche • Definizione • Proprietà • Le curve ellittiche come gruppi abeliani (I) • Le curve ellittiche come gruppi abeliani (II) • Curve ellittiche su Fq • Applicazioni delle curve ellittiche in crittografia Il numero di punti N di una curva ellittica E(Fq ) definita su un campo finito è evidentemente finito e limitato superiormente da 2q + 1 (il punto all’infinito 0 e due potenziali radici per ciascun valore assunto dal polinomio x3 + ax + b al variare di x in [0 . . . q − 1]) Una miglior stima di N è data dal teorema di Hasse, in base al quale √ |N − (q + 1)| ≤ 2 q Riferimenti bibliografici • Riccardo Brigo Il valore di N per una curva E(Fq ) è teoricamente calcolabile in tempo deterministicamente polinomiale in q (algoritmo di Schoof); la complessità di implementazione di tale algoritmo, d’altra parte, fa sì che si preferisca, ogniqualvolta possibile, evitare di doverne conoscerne l’esatto valore Crittografia a curve ellittiche - 11/20 Applicazioni delle curve ellittiche in crittografia Riccardo Brigo Crittografia a curve ellittiche - 12/20 Analogie tra curve ellittiche e campi finiti Richiami di teoria dei numeri Curve ellittiche Applicazioni delle curve ellittiche in crittografia • Analogie tra curve ellittiche e campi finiti • Algoritmo di Diffie-Helman • Algoritmo di Massey-Omura • Algoritmo di ElGamal • Vantaggi • Svantaggi Riferimenti bibliografici Riccardo Brigo Crittografia a curve ellittiche - 13/20 Analogie tra curve ellittiche e campi finiti • Richiami di teoria dei numeri Curve ellittiche Applicazioni delle curve ellittiche in crittografia • Analogie tra curve ellittiche L’operazione di somma tra punti di E(K) presenta notevoli analogie con l’operazione di prodotto tra elementi di un campo finito Fq∗ (anch’essi, come notato, costituenti un gruppo abeliano) tradizionalmente utilizzata in ambito crittografico e campi finiti • Algoritmo di Diffie-Helman • Algoritmo di Massey-Omura • Algoritmo di ElGamal • Vantaggi • Svantaggi Riferimenti bibliografici Riccardo Brigo Crittografia a curve ellittiche - 13/20 Analogie tra curve ellittiche e campi finiti • Richiami di teoria dei numeri Curve ellittiche Applicazioni delle curve ellittiche in crittografia • Analogie tra curve ellittiche e campi finiti • Algoritmo di Diffie-Helman • Algoritmo di Massey-Omura • Algoritmo di ElGamal • Vantaggi • Svantaggi • L’operazione di somma tra punti di E(K) presenta notevoli analogie con l’operazione di prodotto tra elementi di un campo finito Fq∗ (anch’essi, come notato, costituenti un gruppo abeliano) tradizionalmente utilizzata in ambito crittografico In particolare all’operazione di elevamento a potenza corrisponde, per le curve ellittiche, l’operazione di moltiplicazione di un punto per un intero k Riferimenti bibliografici Riccardo Brigo Crittografia a curve ellittiche - 13/20 Analogie tra curve ellittiche e campi finiti • Richiami di teoria dei numeri Curve ellittiche Applicazioni delle curve ellittiche in crittografia • Analogie tra curve ellittiche e campi finiti • Algoritmo di Diffie-Helman • Algoritmo di • Massey-Omura • Algoritmo di ElGamal • Vantaggi • Svantaggi • Riferimenti bibliografici Riccardo Brigo L’operazione di somma tra punti di E(K) presenta notevoli analogie con l’operazione di prodotto tra elementi di un campo finito Fq∗ (anch’essi, come notato, costituenti un gruppo abeliano) tradizionalmente utilizzata in ambito crittografico In particolare all’operazione di elevamento a potenza corrisponde, per le curve ellittiche, l’operazione di moltiplicazione di un punto per un intero k Entrambe le operazioni godono della proprietà di essere decomponibili in una sequenza di operazioni elementari (elevamento al quadrato e prodotto per l’esponenziazione, raddoppio e somma di punti per le curve ellittiche) di complessità logaritmica rispetto a k Crittografia a curve ellittiche - 13/20 Analogie tra curve ellittiche e campi finiti • Richiami di teoria dei numeri Curve ellittiche Applicazioni delle curve ellittiche in crittografia • Analogie tra curve ellittiche e campi finiti • Algoritmo di Diffie-Helman • Algoritmo di • Massey-Omura • Algoritmo di ElGamal • Vantaggi • Svantaggi • Riferimenti bibliografici • Riccardo Brigo L’operazione di somma tra punti di E(K) presenta notevoli analogie con l’operazione di prodotto tra elementi di un campo finito Fq∗ (anch’essi, come notato, costituenti un gruppo abeliano) tradizionalmente utilizzata in ambito crittografico In particolare all’operazione di elevamento a potenza corrisponde, per le curve ellittiche, l’operazione di moltiplicazione di un punto per un intero k Entrambe le operazioni godono della proprietà di essere decomponibili in una sequenza di operazioni elementari (elevamento al quadrato e prodotto per l’esponenziazione, raddoppio e somma di punti per le curve ellittiche) di complessità logaritmica rispetto a k Così come l’operazione inversa dell’esponenziazione, nota come logaritmo discreto, anche l’inverso del multiplo di un punto di E(K) (ovvero, dati due punti P e Q trovare, se esiste, un intero k tale che P = kQ) appare essere di complessità intrattabile Crittografia a curve ellittiche - 13/20 Algoritmo di Diffie-Helman Richiami di teoria dei numeri Curve ellittiche Applicazioni delle curve ellittiche in crittografia • Analogie tra curve ellittiche e campi finiti • Algoritmo di Diffie-Helman • Algoritmo di Massey-Omura • Algoritmo di ElGamal • Vantaggi • Svantaggi Riferimenti bibliografici Riccardo Brigo Crittografia a curve ellittiche - 14/20 Algoritmo di Diffie-Helman • A e B desiderano concordare una chiave di sessione K Richiami di teoria dei numeri Curve ellittiche Applicazioni delle curve ellittiche in crittografia • Analogie tra curve ellittiche e campi finiti • Algoritmo di Diffie-Helman • Algoritmo di Massey-Omura • Algoritmo di ElGamal • Vantaggi • Svantaggi Riferimenti bibliografici Riccardo Brigo Crittografia a curve ellittiche - 14/20 Algoritmo di Diffie-Helman • Richiami di teoria dei numeri Curve ellittiche Applicazioni delle curve ellittiche in crittografia • Analogie tra curve ellittiche • A e B desiderano concordare una chiave di sessione K Siano dati un campo Fq , una curva ellittica E su di esso definita ed un punto P ∈ E (che si assumono pubblicamente noti) e campi finiti • Algoritmo di Diffie-Helman • Algoritmo di Massey-Omura • Algoritmo di ElGamal • Vantaggi • Svantaggi Riferimenti bibliografici Riccardo Brigo Crittografia a curve ellittiche - 14/20 Algoritmo di Diffie-Helman • Richiami di teoria dei numeri • Curve ellittiche Applicazioni delle curve ellittiche in crittografia • Analogie tra curve ellittiche e campi finiti • Algoritmo di Diffie-Helman • Algoritmo di Massey-Omura • A e B desiderano concordare una chiave di sessione K Siano dati un campo Fq , una curva ellittica E su di esso definita ed un punto P ∈ E (che si assumono pubblicamente noti) A e B generano due interi, rispettivamente a e b, che mantengono segreti, e comunicano pubblicamente i due punti aP e bP • Algoritmo di ElGamal • Vantaggi • Svantaggi Riferimenti bibliografici Riccardo Brigo Crittografia a curve ellittiche - 14/20 Algoritmo di Diffie-Helman • Richiami di teoria dei numeri • Curve ellittiche Applicazioni delle curve ellittiche in crittografia • Analogie tra curve ellittiche • e campi finiti • Algoritmo di Diffie-Helman • Algoritmo di Massey-Omura • Algoritmo di ElGamal • Vantaggi • Svantaggi • A e B desiderano concordare una chiave di sessione K Siano dati un campo Fq , una curva ellittica E su di esso definita ed un punto P ∈ E (che si assumono pubblicamente noti) A e B generano due interi, rispettivamente a e b, che mantengono segreti, e comunicano pubblicamente i due punti aP e bP A, noti bP e a, calcola K = a(bP ); B, analogamente, calcola K = b(aP ) Riferimenti bibliografici Riccardo Brigo Crittografia a curve ellittiche - 14/20 Algoritmo di Diffie-Helman • Richiami di teoria dei numeri • Curve ellittiche Applicazioni delle curve ellittiche in crittografia • Analogie tra curve ellittiche • e campi finiti • Algoritmo di Diffie-Helman • Algoritmo di Massey-Omura • Algoritmo di ElGamal • Vantaggi • Svantaggi • Riferimenti bibliografici • Riccardo Brigo A e B desiderano concordare una chiave di sessione K Siano dati un campo Fq , una curva ellittica E su di esso definita ed un punto P ∈ E (che si assumono pubblicamente noti) A e B generano due interi, rispettivamente a e b, che mantengono segreti, e comunicano pubblicamente i due punti aP e bP A, noti bP e a, calcola K = a(bP ); B, analogamente, calcola K = b(aP ) Un eventuale attaccante ha a disposizione i punti P , aP e bP , e non è in grado di calcolare abP a meno di non riuscire a risolvere il problema del logaritmo inverso su curve ellittiche Crittografia a curve ellittiche - 14/20 Algoritmo di Massey-Omura Richiami di teoria dei numeri Curve ellittiche Applicazioni delle curve ellittiche in crittografia • Analogie tra curve ellittiche e campi finiti • Algoritmo di Diffie-Helman • Algoritmo di Massey-Omura • Algoritmo di ElGamal • Vantaggi • Svantaggi Riferimenti bibliografici Riccardo Brigo Crittografia a curve ellittiche - 15/20 Algoritmo di Massey-Omura • Richiami di teoria dei numeri Curve ellittiche Siano dati un campo Fq , una curva ellittica E su di esso definita di cui si conosca l’esatta cardinalità N ed un “messaggio” Pm ∈ E Applicazioni delle curve ellittiche in crittografia • Analogie tra curve ellittiche e campi finiti • Algoritmo di Diffie-Helman • Algoritmo di Massey-Omura • Algoritmo di ElGamal • Vantaggi • Svantaggi Riferimenti bibliografici Riccardo Brigo Crittografia a curve ellittiche - 15/20 Algoritmo di Massey-Omura • Richiami di teoria dei numeri Curve ellittiche Applicazioni delle curve ellittiche in crittografia • Analogie tra curve ellittiche e campi finiti • Siano dati un campo Fq , una curva ellittica E su di esso definita di cui si conosca l’esatta cardinalità N ed un “messaggio” Pm ∈ E A e B generano due coppie di valori, rispettivamente (eA , dA ) e (eB , dB ), tali che m.c.d.(e, N ) = 1 e d ≡ e−1 mod N • Algoritmo di Diffie-Helman • Algoritmo di Massey-Omura • Algoritmo di ElGamal • Vantaggi • Svantaggi Riferimenti bibliografici Riccardo Brigo Crittografia a curve ellittiche - 15/20 Algoritmo di Massey-Omura • Richiami di teoria dei numeri Curve ellittiche Applicazioni delle curve ellittiche in crittografia • Analogie tra curve ellittiche • e campi finiti • Algoritmo di Diffie-Helman • Algoritmo di Massey-Omura • Algoritmo di ElGamal • Vantaggi • Svantaggi • Siano dati un campo Fq , una curva ellittica E su di esso definita di cui si conosca l’esatta cardinalità N ed un “messaggio” Pm ∈ E A e B generano due coppie di valori, rispettivamente (eA , dA ) e (eB , dB ), tali che m.c.d.(e, N ) = 1 e d ≡ e−1 mod N A calcola e trasmette il punto eA Pm Riferimenti bibliografici Riccardo Brigo Crittografia a curve ellittiche - 15/20 Algoritmo di Massey-Omura • Richiami di teoria dei numeri Curve ellittiche Applicazioni delle curve ellittiche in crittografia • Analogie tra curve ellittiche • e campi finiti • Algoritmo di Diffie-Helman • Algoritmo di Massey-Omura • Algoritmo di ElGamal • Vantaggi • Svantaggi • • Siano dati un campo Fq , una curva ellittica E su di esso definita di cui si conosca l’esatta cardinalità N ed un “messaggio” Pm ∈ E A e B generano due coppie di valori, rispettivamente (eA , dA ) e (eB , dB ), tali che m.c.d.(e, N ) = 1 e d ≡ e−1 mod N A calcola e trasmette il punto eA Pm B calcola e ritrasmette il punto eB (eA Pm ) Riferimenti bibliografici Riccardo Brigo Crittografia a curve ellittiche - 15/20 Algoritmo di Massey-Omura • Richiami di teoria dei numeri Curve ellittiche Applicazioni delle curve ellittiche in crittografia • Analogie tra curve ellittiche • e campi finiti • Algoritmo di Diffie-Helman • Algoritmo di Massey-Omura • Algoritmo di ElGamal • Vantaggi • Svantaggi Riferimenti bibliografici Riccardo Brigo • • • Siano dati un campo Fq , una curva ellittica E su di esso definita di cui si conosca l’esatta cardinalità N ed un “messaggio” Pm ∈ E A e B generano due coppie di valori, rispettivamente (eA , dA ) e (eB , dB ), tali che m.c.d.(e, N ) = 1 e d ≡ e−1 mod N A calcola e trasmette il punto eA Pm B calcola e ritrasmette il punto eB (eA Pm ) A calcola e trasmette il punto dA (eB eA Pm ) ≡ eB Pm Crittografia a curve ellittiche - 15/20 Algoritmo di Massey-Omura • Richiami di teoria dei numeri Curve ellittiche Applicazioni delle curve ellittiche in crittografia • Analogie tra curve ellittiche • e campi finiti • Algoritmo di Diffie-Helman • Algoritmo di Massey-Omura • Algoritmo di ElGamal • Vantaggi • Svantaggi Riferimenti bibliografici • • • • Riccardo Brigo Siano dati un campo Fq , una curva ellittica E su di esso definita di cui si conosca l’esatta cardinalità N ed un “messaggio” Pm ∈ E A e B generano due coppie di valori, rispettivamente (eA , dA ) e (eB , dB ), tali che m.c.d.(e, N ) = 1 e d ≡ e−1 mod N A calcola e trasmette il punto eA Pm B calcola e ritrasmette il punto eB (eA Pm ) A calcola e trasmette il punto dA (eB eA Pm ) ≡ eB Pm B calcola dB (eB Pm ) ≡ Pm ottenendo il messaggio originale Crittografia a curve ellittiche - 15/20 Algoritmo di Massey-Omura • Richiami di teoria dei numeri Curve ellittiche Applicazioni delle curve ellittiche in crittografia • Analogie tra curve ellittiche • e campi finiti • Algoritmo di Diffie-Helman • Algoritmo di Massey-Omura • Algoritmo di ElGamal • Vantaggi • Svantaggi Riferimenti bibliografici • • • • • Riccardo Brigo Siano dati un campo Fq , una curva ellittica E su di esso definita di cui si conosca l’esatta cardinalità N ed un “messaggio” Pm ∈ E A e B generano due coppie di valori, rispettivamente (eA , dA ) e (eB , dB ), tali che m.c.d.(e, N ) = 1 e d ≡ e−1 mod N A calcola e trasmette il punto eA Pm B calcola e ritrasmette il punto eB (eA Pm ) A calcola e trasmette il punto dA (eB eA Pm ) ≡ eB Pm B calcola dB (eB Pm ) ≡ Pm ottenendo il messaggio originale L’algoritmo sfrutta il fatto che, qualsiasi sia l’ordine di un punto P ∈ E, N P ≡ 0; la condizione sulla scelta di e e d può essere riscritta come ed = kN + 1 per un opportuno k intero, da cui edP = (kN + 1)P = k(N P ) + P = k0 + P = P Crittografia a curve ellittiche - 15/20 Algoritmo di ElGamal Richiami di teoria dei numeri Curve ellittiche Applicazioni delle curve ellittiche in crittografia • Analogie tra curve ellittiche e campi finiti • Algoritmo di Diffie-Helman • Algoritmo di Massey-Omura • Algoritmo di ElGamal • Vantaggi • Svantaggi Riferimenti bibliografici Riccardo Brigo Crittografia a curve ellittiche - 16/20 Algoritmo di ElGamal • Richiami di teoria dei numeri Siano dati un campo Fq , una curva ellittica E su di esso definita, un punto P ∈ E ed un messaggio Pm ∈ E Curve ellittiche Applicazioni delle curve ellittiche in crittografia • Analogie tra curve ellittiche e campi finiti • Algoritmo di Diffie-Helman • Algoritmo di Massey-Omura • Algoritmo di ElGamal • Vantaggi • Svantaggi Riferimenti bibliografici Riccardo Brigo Crittografia a curve ellittiche - 16/20 Algoritmo di ElGamal • Richiami di teoria dei numeri Curve ellittiche Applicazioni delle curve ellittiche in crittografia • Analogie tra curve ellittiche • Siano dati un campo Fq , una curva ellittica E su di esso definita, un punto P ∈ E ed un messaggio Pm ∈ E A e B generano due interi, rispettivamente a e b, che mantengono segreti, e comunicano pubblicamente i due punti aP e bP e campi finiti • Algoritmo di Diffie-Helman • Algoritmo di Massey-Omura • Algoritmo di ElGamal • Vantaggi • Svantaggi Riferimenti bibliografici Riccardo Brigo Crittografia a curve ellittiche - 16/20 Algoritmo di ElGamal • Richiami di teoria dei numeri Curve ellittiche • Applicazioni delle curve ellittiche in crittografia • Analogie tra curve ellittiche e campi finiti • Algoritmo di Diffie-Helman • Algoritmo di Massey-Omura • Siano dati un campo Fq , una curva ellittica E su di esso definita, un punto P ∈ E ed un messaggio Pm ∈ E A e B generano due interi, rispettivamente a e b, che mantengono segreti, e comunicano pubblicamente i due punti aP e bP A sceglie un ulteriore intero k e trasmette la coppia di valori (kP, Pm + k(bP )) • Algoritmo di ElGamal • Vantaggi • Svantaggi Riferimenti bibliografici Riccardo Brigo Crittografia a curve ellittiche - 16/20 Algoritmo di ElGamal • Richiami di teoria dei numeri Curve ellittiche • Applicazioni delle curve ellittiche in crittografia • Analogie tra curve ellittiche e campi finiti • Algoritmo di Diffie-Helman • Algoritmo di • Massey-Omura • Algoritmo di ElGamal • Vantaggi • Svantaggi • Siano dati un campo Fq , una curva ellittica E su di esso definita, un punto P ∈ E ed un messaggio Pm ∈ E A e B generano due interi, rispettivamente a e b, che mantengono segreti, e comunicano pubblicamente i due punti aP e bP A sceglie un ulteriore intero k e trasmette la coppia di valori (kP, Pm + k(bP )) B calcola Pm + k(bP ) − b(kP ) = Pm ottenendo il messaggio originale Riferimenti bibliografici Riccardo Brigo Crittografia a curve ellittiche - 16/20 Vantaggi Richiami di teoria dei numeri Curve ellittiche Applicazioni delle curve ellittiche in crittografia • Analogie tra curve ellittiche e campi finiti • Algoritmo di Diffie-Helman • Algoritmo di Massey-Omura • Algoritmo di ElGamal • Vantaggi • Svantaggi Riferimenti bibliografici Riccardo Brigo Crittografia a curve ellittiche - 17/20 Vantaggi • Richiami di teoria dei numeri Curve ellittiche Applicazioni delle curve ellittiche in crittografia • Analogie tra curve ellittiche A parità di ordine di grandezza di q il problema del logaritmo discreto su curva ellittica E(Fq ) appare di più complessa trattazione rispetto al corrispondente problema in Fq∗ e campi finiti • Algoritmo di Diffie-Helman • Algoritmo di Massey-Omura • Algoritmo di ElGamal • Vantaggi • Svantaggi Riferimenti bibliografici Riccardo Brigo Crittografia a curve ellittiche - 17/20 Vantaggi • A parità di ordine di grandezza di q il problema del logaritmo discreto su curva ellittica E(Fq ) appare di più complessa trattazione rispetto al corrispondente problema in Fq∗ • Per ogni q esistono molteplici curve ellittiche costruibili su Fq , da cui ricavare altrettanti gruppi distinti, a fronte dell’unica possibilità offerta da Fq∗ Richiami di teoria dei numeri Curve ellittiche Applicazioni delle curve ellittiche in crittografia • Analogie tra curve ellittiche e campi finiti • Algoritmo di Diffie-Helman • Algoritmo di Massey-Omura • Algoritmo di ElGamal • Vantaggi • Svantaggi Riferimenti bibliografici Riccardo Brigo Crittografia a curve ellittiche - 17/20 Svantaggi Richiami di teoria dei numeri Curve ellittiche Applicazioni delle curve ellittiche in crittografia • Analogie tra curve ellittiche e campi finiti • Algoritmo di Diffie-Helman • Algoritmo di Massey-Omura • Algoritmo di ElGamal • Vantaggi • Svantaggi Riferimenti bibliografici Riccardo Brigo Crittografia a curve ellittiche - 18/20 Svantaggi • Richiami di teoria dei numeri Curve ellittiche Gli algoritmi crittografici visti richiedono la scelta (in linea di principio arbitraria) di una curva ellittica e, talvolta, di un suo punto: esistono algoritmi probabilistici che consentono di individuare in pochi tentativi una coppia curva/punto Applicazioni delle curve ellittiche in crittografia • Analogie tra curve ellittiche e campi finiti • Algoritmo di Diffie-Helman • Algoritmo di Massey-Omura • Algoritmo di ElGamal • Vantaggi • Svantaggi Riferimenti bibliografici Riccardo Brigo Crittografia a curve ellittiche - 18/20 Svantaggi • Richiami di teoria dei numeri Curve ellittiche Applicazioni delle curve ellittiche in crittografia • Analogie tra curve ellittiche e campi finiti • Algoritmo di Diffie-Helman • Algoritmo di • Gli algoritmi crittografici visti richiedono la scelta (in linea di principio arbitraria) di una curva ellittica e, talvolta, di un suo punto: esistono algoritmi probabilistici che consentono di individuare in pochi tentativi una coppia curva/punto Permane il problema della conoscenza dell’esatto numero N di elementi della curva Massey-Omura • Algoritmo di ElGamal • Vantaggi • Svantaggi Riferimenti bibliografici Riccardo Brigo Crittografia a curve ellittiche - 18/20 Svantaggi • Richiami di teoria dei numeri Curve ellittiche Applicazioni delle curve ellittiche in crittografia • Analogie tra curve ellittiche • e campi finiti • Algoritmo di Diffie-Helman • Algoritmo di Massey-Omura • Algoritmo di ElGamal • Vantaggi • Svantaggi Riferimenti bibliografici Riccardo Brigo • Gli algoritmi crittografici visti richiedono la scelta (in linea di principio arbitraria) di una curva ellittica e, talvolta, di un suo punto: esistono algoritmi probabilistici che consentono di individuare in pochi tentativi una coppia curva/punto Permane il problema della conoscenza dell’esatto numero N di elementi della curva Anche quando l’algoritmo crittografico non richiede esplicitamente la conoscenza di N , una valutazione della robustezza crittografica della curva scelta dipende fortemente dalla fattorizzazione di N (e quindi dalla conoscenza di N stesso): se N è prodotto di fattori primi piccoli, il metodo di Pohlig-Silver-Hellman per la risoluzione del problema del logaritmo discreto può essere utilmente utilizzato, essendo applicabile a qualsiasi gruppo abeliano Crittografia a curve ellittiche - 18/20 Svantaggi • Richiami di teoria dei numeri Curve ellittiche Applicazioni delle curve ellittiche in crittografia • Analogie tra curve ellittiche • e campi finiti • Algoritmo di Diffie-Helman • Algoritmo di Massey-Omura • • Algoritmo di ElGamal • Vantaggi • Svantaggi Riferimenti bibliografici • Riccardo Brigo Gli algoritmi crittografici visti richiedono la scelta (in linea di principio arbitraria) di una curva ellittica e, talvolta, di un suo punto: esistono algoritmi probabilistici che consentono di individuare in pochi tentativi una coppia curva/punto Permane il problema della conoscenza dell’esatto numero N di elementi della curva Anche quando l’algoritmo crittografico non richiede esplicitamente la conoscenza di N , una valutazione della robustezza crittografica della curva scelta dipende fortemente dalla fattorizzazione di N (e quindi dalla conoscenza di N stesso): se N è prodotto di fattori primi piccoli, il metodo di Pohlig-Silver-Hellman per la risoluzione del problema del logaritmo discreto può essere utilmente utilizzato, essendo applicabile a qualsiasi gruppo abeliano Il punto dovrebbe essere quanto più vicino possibile ad un generatore per E: la certezza si ha solo per N primo Crittografia a curve ellittiche - 18/20 Riferimenti bibliografici Riccardo Brigo Crittografia a curve ellittiche - 19/20 Riferimenti bibliografici Richiami di teoria dei numeri [1] Neal Koblitz, “A Course in Number Theory and Cryptography”, capitolo VI Curve ellittiche [2] http://en.wikipedia.org/wiki/Elliptic_curve Applicazioni delle curve ellittiche in crittografia [3] http://mathworld.wolfram.com/EllipticCurve.html Riferimenti bibliografici Riccardo Brigo Crittografia a curve ellittiche - 20/20