+ All Categories
Home > Documents > Elliptic Curve Cryptography · 2019. 9. 12. · Cryptography based on groups Elliptic curves...

Elliptic Curve Cryptography · 2019. 9. 12. · Cryptography based on groups Elliptic curves...

Date post: 16-Sep-2020
Category:
Upload: others
View: 10 times
Download: 0 times
Share this document with a friend
108
Cryptography based on groups Elliptic curves Elliptic curve cryptography New perspectives in ECC Elliptic Curve Cryptography Luca De Feo ´ Ecole Normale Sup´ erieure & ´ Ecole Polytechnique Universit` a di Pisa, April 18, 2007 http://www.eleves.ens.fr/home/defeo Luca De Feo Elliptic Curve Cryptography
Transcript
Page 1: Elliptic Curve Cryptography · 2019. 9. 12. · Cryptography based on groups Elliptic curves Elliptic curve cryptography New perspectives in ECC Discrete Logarithm Problem The Diffie-Hellman

Cryptography based on groupsElliptic curves

Elliptic curve cryptographyNew perspectives in ECC

Elliptic Curve Cryptography

Luca De Feo

Ecole Normale Superieure & Ecole Polytechnique

Universita di Pisa, April 18, 2007

http://www.eleves.ens.fr/home/defeo

Luca De Feo Elliptic Curve Cryptography

Page 2: Elliptic Curve Cryptography · 2019. 9. 12. · Cryptography based on groups Elliptic curves Elliptic curve cryptography New perspectives in ECC Discrete Logarithm Problem The Diffie-Hellman

Cryptography based on groupsElliptic curves

Elliptic curve cryptographyNew perspectives in ECC

Discrete Logarithm ProblemThe Diffie-Hellman Problems

Plan

1 Cryptography based on groupsDiscrete Logarithm ProblemThe Diffie-Hellman Problems

2 Elliptic curvesThe arithmetic of elliptic curvesElliptic Curve Discrete Logarithm Problem

3 Elliptic curve cryptographyECDHECDSASummary

4 New perspectives in ECCPairingsTripartite Diffie-HellmanIdentity Based Encryption

Luca De Feo Elliptic Curve Cryptography

Page 3: Elliptic Curve Cryptography · 2019. 9. 12. · Cryptography based on groups Elliptic curves Elliptic curve cryptography New perspectives in ECC Discrete Logarithm Problem The Diffie-Hellman

Cryptography based on groupsElliptic curves

Elliptic curve cryptographyNew perspectives in ECC

Discrete Logarithm ProblemThe Diffie-Hellman Problems

The Discrete Logarithm Problem

Cyclic groups

A cyclic group (G, ∗), a generator g of G oforder n

G is isomorphic to Z/nZ via the bijection

expg : x 7→ gx

The function expg is easy to compute(O(log n))

The discrete logarithm

The inverse to the function expg is calleddiscrete logarithm, noted logg :

logg : gx 7→ x

Luca De Feo Elliptic Curve Cryptography

Page 4: Elliptic Curve Cryptography · 2019. 9. 12. · Cryptography based on groups Elliptic curves Elliptic curve cryptography New perspectives in ECC Discrete Logarithm Problem The Diffie-Hellman

Cryptography based on groupsElliptic curves

Elliptic curve cryptographyNew perspectives in ECC

Discrete Logarithm ProblemThe Diffie-Hellman Problems

The Discrete Logarithm Problem

Cyclic groups

A cyclic group (G, ∗), a generator g of G oforder n

G is isomorphic to Z/nZ via the bijection

expg : x 7→ gx

The function expg is easy to compute(O(log n))

The discrete logarithm

The inverse to the function expg is calleddiscrete logarithm, noted logg :

logg : gx 7→ x

Luca De Feo Elliptic Curve Cryptography

Page 5: Elliptic Curve Cryptography · 2019. 9. 12. · Cryptography based on groups Elliptic curves Elliptic curve cryptography New perspectives in ECC Discrete Logarithm Problem The Diffie-Hellman

Cryptography based on groupsElliptic curves

Elliptic curve cryptographyNew perspectives in ECC

Discrete Logarithm ProblemThe Diffie-Hellman Problems

The Discrete Logarithm Problem

The Discrete Logarithm Problem (DLP)

Computing the function logg may be very easy... e.g.: G = Z/nZ

...or very hard e.g.: G = Z/nZ∗

an example : G = Z/23Z∗, g = 5. What’s log5 10 ?

answer : 3, in fact 53 = 125 = 5 ∗ 23 + 10 !

Algorithms

The most efficient algorithms for a general group G are BSGS andPollard’s Rho. They both need O(

√n) operations in the group

Pohlig and Hellman improve this result by solving the DLP in thesubgroups of G having prime order p s.t. p|nThus we demand the order of G to be prime

The most efficient algorithm for the group Z/nZ∗ is the NumberField Sieve. It needs Ln(1/3) operations in the group

Luca De Feo Elliptic Curve Cryptography

Page 6: Elliptic Curve Cryptography · 2019. 9. 12. · Cryptography based on groups Elliptic curves Elliptic curve cryptography New perspectives in ECC Discrete Logarithm Problem The Diffie-Hellman

Cryptography based on groupsElliptic curves

Elliptic curve cryptographyNew perspectives in ECC

Discrete Logarithm ProblemThe Diffie-Hellman Problems

The Discrete Logarithm Problem

The Discrete Logarithm Problem (DLP)

Computing the function logg may be very easy... e.g.: G = Z/nZ...or very hard e.g.: G = Z/nZ∗

an example : G = Z/23Z∗, g = 5. What’s log5 10 ?

answer : 3, in fact 53 = 125 = 5 ∗ 23 + 10 !

Algorithms

The most efficient algorithms for a general group G are BSGS andPollard’s Rho. They both need O(

√n) operations in the group

Pohlig and Hellman improve this result by solving the DLP in thesubgroups of G having prime order p s.t. p|nThus we demand the order of G to be prime

The most efficient algorithm for the group Z/nZ∗ is the NumberField Sieve. It needs Ln(1/3) operations in the group

Luca De Feo Elliptic Curve Cryptography

Page 7: Elliptic Curve Cryptography · 2019. 9. 12. · Cryptography based on groups Elliptic curves Elliptic curve cryptography New perspectives in ECC Discrete Logarithm Problem The Diffie-Hellman

Cryptography based on groupsElliptic curves

Elliptic curve cryptographyNew perspectives in ECC

Discrete Logarithm ProblemThe Diffie-Hellman Problems

The Discrete Logarithm Problem

The Discrete Logarithm Problem (DLP)

Computing the function logg may be very easy... e.g.: G = Z/nZ...or very hard e.g.: G = Z/nZ∗

an example : G = Z/23Z∗, g = 5. What’s log5 10 ?

answer : 3, in fact 53 = 125 = 5 ∗ 23 + 10 !

Algorithms

The most efficient algorithms for a general group G are BSGS andPollard’s Rho. They both need O(

√n) operations in the group

Pohlig and Hellman improve this result by solving the DLP in thesubgroups of G having prime order p s.t. p|nThus we demand the order of G to be prime

The most efficient algorithm for the group Z/nZ∗ is the NumberField Sieve. It needs Ln(1/3) operations in the group

Luca De Feo Elliptic Curve Cryptography

Page 8: Elliptic Curve Cryptography · 2019. 9. 12. · Cryptography based on groups Elliptic curves Elliptic curve cryptography New perspectives in ECC Discrete Logarithm Problem The Diffie-Hellman

Cryptography based on groupsElliptic curves

Elliptic curve cryptographyNew perspectives in ECC

Discrete Logarithm ProblemThe Diffie-Hellman Problems

The Discrete Logarithm Problem

The Discrete Logarithm Problem (DLP)

Computing the function logg may be very easy... e.g.: G = Z/nZ...or very hard e.g.: G = Z/nZ∗

an example : G = Z/23Z∗, g = 5. What’s log5 10 ?answer : 3, in fact 53 = 125 = 5 ∗ 23 + 10 !

Algorithms

The most efficient algorithms for a general group G are BSGS andPollard’s Rho. They both need O(

√n) operations in the group

Pohlig and Hellman improve this result by solving the DLP in thesubgroups of G having prime order p s.t. p|nThus we demand the order of G to be prime

The most efficient algorithm for the group Z/nZ∗ is the NumberField Sieve. It needs Ln(1/3) operations in the group

Luca De Feo Elliptic Curve Cryptography

Page 9: Elliptic Curve Cryptography · 2019. 9. 12. · Cryptography based on groups Elliptic curves Elliptic curve cryptography New perspectives in ECC Discrete Logarithm Problem The Diffie-Hellman

Cryptography based on groupsElliptic curves

Elliptic curve cryptographyNew perspectives in ECC

Discrete Logarithm ProblemThe Diffie-Hellman Problems

The Discrete Logarithm Problem

The Discrete Logarithm Problem (DLP)

Computing the function logg may be very easy... e.g.: G = Z/nZ...or very hard e.g.: G = Z/nZ∗

an example : G = Z/23Z∗, g = 5. What’s log5 10 ?answer : 3, in fact 53 = 125 = 5 ∗ 23 + 10 !

Algorithms

The most efficient algorithms for a general group G are BSGS andPollard’s Rho. They both need O(

√n) operations in the group

Pohlig and Hellman improve this result by solving the DLP in thesubgroups of G having prime order p s.t. p|nThus we demand the order of G to be prime

The most efficient algorithm for the group Z/nZ∗ is the NumberField Sieve. It needs Ln(1/3) operations in the group

Luca De Feo Elliptic Curve Cryptography

Page 10: Elliptic Curve Cryptography · 2019. 9. 12. · Cryptography based on groups Elliptic curves Elliptic curve cryptography New perspectives in ECC Discrete Logarithm Problem The Diffie-Hellman

Cryptography based on groupsElliptic curves

Elliptic curve cryptographyNew perspectives in ECC

Discrete Logarithm ProblemThe Diffie-Hellman Problems

The Discrete Logarithm Problem

The Discrete Logarithm Problem (DLP)

Computing the function logg may be very easy... e.g.: G = Z/nZ...or very hard e.g.: G = Z/nZ∗

an example : G = Z/23Z∗, g = 5. What’s log5 10 ?answer : 3, in fact 53 = 125 = 5 ∗ 23 + 10 !

Algorithms

The most efficient algorithms for a general group G are BSGS andPollard’s Rho. They both need O(

√n) operations in the group

Pohlig and Hellman improve this result by solving the DLP in thesubgroups of G having prime order p s.t. p|nThus we demand the order of G to be prime

The most efficient algorithm for the group Z/nZ∗ is the NumberField Sieve. It needs Ln(1/3) operations in the group

Luca De Feo Elliptic Curve Cryptography

Page 11: Elliptic Curve Cryptography · 2019. 9. 12. · Cryptography based on groups Elliptic curves Elliptic curve cryptography New perspectives in ECC Discrete Logarithm Problem The Diffie-Hellman

Cryptography based on groupsElliptic curves

Elliptic curve cryptographyNew perspectives in ECC

Discrete Logarithm ProblemThe Diffie-Hellman Problems

Diffie-Hellman key exchange

A group G of prime order p. A generator g of G.

chooses a ∈ Z/pZ at random

computes ga

chooses b ∈ Z/pZ at random

computes gb

ga

−−−−−−−−−−−−−−−→gb

←−−−−−−−−−−−−−−−

computes Kab =(gb

)acomputes Kab =

(ga

)b

Luca De Feo Elliptic Curve Cryptography

Page 12: Elliptic Curve Cryptography · 2019. 9. 12. · Cryptography based on groups Elliptic curves Elliptic curve cryptography New perspectives in ECC Discrete Logarithm Problem The Diffie-Hellman

Cryptography based on groupsElliptic curves

Elliptic curve cryptographyNew perspectives in ECC

Discrete Logarithm ProblemThe Diffie-Hellman Problems

Diffie-Hellman key exchange

A group G of prime order p. A generator g of G.

chooses a ∈ Z/pZ at random

computes ga

chooses b ∈ Z/pZ at random

computes gb

ga

−−−−−−−−−−−−−−−→gb

←−−−−−−−−−−−−−−−

computes Kab =(gb

)acomputes Kab =

(ga

)b

Luca De Feo Elliptic Curve Cryptography

Page 13: Elliptic Curve Cryptography · 2019. 9. 12. · Cryptography based on groups Elliptic curves Elliptic curve cryptography New perspectives in ECC Discrete Logarithm Problem The Diffie-Hellman

Cryptography based on groupsElliptic curves

Elliptic curve cryptographyNew perspectives in ECC

Discrete Logarithm ProblemThe Diffie-Hellman Problems

Diffie-Hellman key exchange

A group G of prime order p. A generator g of G.

chooses a ∈ Z/pZ at random

computes ga

chooses b ∈ Z/pZ at random

computes gb

ga

−−−−−−−−−−−−−−−→gb

←−−−−−−−−−−−−−−−

computes Kab =(gb

)acomputes Kab =

(ga

)b

Luca De Feo Elliptic Curve Cryptography

Page 14: Elliptic Curve Cryptography · 2019. 9. 12. · Cryptography based on groups Elliptic curves Elliptic curve cryptography New perspectives in ECC Discrete Logarithm Problem The Diffie-Hellman

Cryptography based on groupsElliptic curves

Elliptic curve cryptographyNew perspectives in ECC

Discrete Logarithm ProblemThe Diffie-Hellman Problems

Diffie-Hellman key exchange

A group G of prime order p. A generator g of G.

chooses a ∈ Z/pZ at random

computes ga

chooses b ∈ Z/pZ at random

computes gb

ga

−−−−−−−−−−−−−−−→gb

←−−−−−−−−−−−−−−−

computes Kab =(gb

)acomputes Kab =

(ga

)b

Luca De Feo Elliptic Curve Cryptography

Page 15: Elliptic Curve Cryptography · 2019. 9. 12. · Cryptography based on groups Elliptic curves Elliptic curve cryptography New perspectives in ECC Discrete Logarithm Problem The Diffie-Hellman

Cryptography based on groupsElliptic curves

Elliptic curve cryptographyNew perspectives in ECC

Discrete Logarithm ProblemThe Diffie-Hellman Problems

Diffie-Hellman key exchange

A group G of prime order p. A generator g of G.

chooses a ∈ Z/pZ at random

computes ga

chooses b ∈ Z/pZ at random

computes gb

ga

−−−−−−−−−−−−−−−→gb

←−−−−−−−−−−−−−−−

computes Kab =(gb

)acomputes Kab =

(ga

)b

Luca De Feo Elliptic Curve Cryptography

Page 16: Elliptic Curve Cryptography · 2019. 9. 12. · Cryptography based on groups Elliptic curves Elliptic curve cryptography New perspectives in ECC Discrete Logarithm Problem The Diffie-Hellman

Cryptography based on groupsElliptic curves

Elliptic curve cryptographyNew perspectives in ECC

Discrete Logarithm ProblemThe Diffie-Hellman Problems

Diffie-Hellman key exchange

A group G of prime order p. A generator g of G.

chooses a ∈ Z/pZ at random

computes ga

chooses b ∈ Z/pZ at random

computes gb

ga

−−−−−−−−−−−−−−−→gb

←−−−−−−−−−−−−−−−

computes Kab =(gb

)acomputes Kab =

(ga

)b

Luca De Feo Elliptic Curve Cryptography

Page 17: Elliptic Curve Cryptography · 2019. 9. 12. · Cryptography based on groups Elliptic curves Elliptic curve cryptography New perspectives in ECC Discrete Logarithm Problem The Diffie-Hellman

Cryptography based on groupsElliptic curves

Elliptic curve cryptographyNew perspectives in ECC

Discrete Logarithm ProblemThe Diffie-Hellman Problems

Diffie-Hellman key exchange

A group G of prime order p. A generator g of G.

chooses a ∈ Z/pZ at random

computes ga

chooses b ∈ Z/pZ at random

computes gb

ga

−−−−−−−−−−−−−−−→gb

←−−−−−−−−−−−−−−−

computes Kab =(gb

)acomputes Kab =

(ga

)b

Luca De Feo Elliptic Curve Cryptography

Page 18: Elliptic Curve Cryptography · 2019. 9. 12. · Cryptography based on groups Elliptic curves Elliptic curve cryptography New perspectives in ECC Discrete Logarithm Problem The Diffie-Hellman

Cryptography based on groupsElliptic curves

Elliptic curve cryptographyNew perspectives in ECC

Discrete Logarithm ProblemThe Diffie-Hellman Problems

Diffie-Hellman key exchange

A group G of prime order p. A generator g of G.

chooses a ∈ Z/pZ at random

computes ga

chooses b ∈ Z/pZ at random

computes gb

ga

−−−−−−−−−−−−−−−→gb

←−−−−−−−−−−−−−−−

computes Kab =(gb

)acomputes Kab =

(ga

)b

Luca De Feo Elliptic Curve Cryptography

Page 19: Elliptic Curve Cryptography · 2019. 9. 12. · Cryptography based on groups Elliptic curves Elliptic curve cryptography New perspectives in ECC Discrete Logarithm Problem The Diffie-Hellman

Cryptography based on groupsElliptic curves

Elliptic curve cryptographyNew perspectives in ECC

Discrete Logarithm ProblemThe Diffie-Hellman Problems

Diffie-Hellman key exchange

A group G of prime order p. A generator g of G.

chooses a ∈ Z/pZ at random

computes ga

chooses b ∈ Z/pZ at random

computes gb

ga

−−−−−−−−−−−−−−−→

gb

←−−−−−−−−−−−−−−−

computes Kab =(gb

)acomputes Kab =

(ga

)b

Luca De Feo Elliptic Curve Cryptography

Page 20: Elliptic Curve Cryptography · 2019. 9. 12. · Cryptography based on groups Elliptic curves Elliptic curve cryptography New perspectives in ECC Discrete Logarithm Problem The Diffie-Hellman

Cryptography based on groupsElliptic curves

Elliptic curve cryptographyNew perspectives in ECC

Discrete Logarithm ProblemThe Diffie-Hellman Problems

Diffie-Hellman key exchange

A group G of prime order p. A generator g of G.

chooses a ∈ Z/pZ at random

computes ga

chooses b ∈ Z/pZ at random

computes gb

ga

−−−−−−−−−−−−−−−→gb

←−−−−−−−−−−−−−−−

computes Kab =(gb

)acomputes Kab =

(ga

)b

Luca De Feo Elliptic Curve Cryptography

Page 21: Elliptic Curve Cryptography · 2019. 9. 12. · Cryptography based on groups Elliptic curves Elliptic curve cryptography New perspectives in ECC Discrete Logarithm Problem The Diffie-Hellman

Cryptography based on groupsElliptic curves

Elliptic curve cryptographyNew perspectives in ECC

Discrete Logarithm ProblemThe Diffie-Hellman Problems

Diffie-Hellman key exchange

A group G of prime order p. A generator g of G.

chooses a ∈ Z/pZ at random

computes ga

chooses b ∈ Z/pZ at random

computes gb

ga

−−−−−−−−−−−−−−−→gb

←−−−−−−−−−−−−−−−

computes Kab =(gb

)a

computes Kab =(ga

)b

Luca De Feo Elliptic Curve Cryptography

Page 22: Elliptic Curve Cryptography · 2019. 9. 12. · Cryptography based on groups Elliptic curves Elliptic curve cryptography New perspectives in ECC Discrete Logarithm Problem The Diffie-Hellman

Cryptography based on groupsElliptic curves

Elliptic curve cryptographyNew perspectives in ECC

Discrete Logarithm ProblemThe Diffie-Hellman Problems

Diffie-Hellman key exchange

A group G of prime order p. A generator g of G.

chooses a ∈ Z/pZ at random

computes ga

chooses b ∈ Z/pZ at random

computes gb

ga

−−−−−−−−−−−−−−−→gb

←−−−−−−−−−−−−−−−

computes Kab =(gb

)acomputes Kab =

(ga

)b

Luca De Feo Elliptic Curve Cryptography

Page 23: Elliptic Curve Cryptography · 2019. 9. 12. · Cryptography based on groups Elliptic curves Elliptic curve cryptography New perspectives in ECC Discrete Logarithm Problem The Diffie-Hellman

Cryptography based on groupsElliptic curves

Elliptic curve cryptographyNew perspectives in ECC

Discrete Logarithm ProblemThe Diffie-Hellman Problems

The Diffie-Helman Problems

The security of the DH key exchange

An eavesdropper sees the values ga and gb

It has to compute the value Kab = gab

The hardness of the computation is expressed via two problemsbelieved to be difficult

Luca De Feo Elliptic Curve Cryptography

Page 24: Elliptic Curve Cryptography · 2019. 9. 12. · Cryptography based on groups Elliptic curves Elliptic curve cryptography New perspectives in ECC Discrete Logarithm Problem The Diffie-Hellman

Cryptography based on groupsElliptic curves

Elliptic curve cryptographyNew perspectives in ECC

Discrete Logarithm ProblemThe Diffie-Hellman Problems

The Diffie-Helman Problems

Decisional Diffie-Hellman Problem (DDH)

Given a group G, a generator g for G, three random elements ga, gb andgc, distinguish with a non-negligible probability the triples

(ga, gb, gab) and (ga, gb, gc) .

Computational Diffie-Hellman Problem (CDH)

Given a group G, a generator g for G, two random elements ga and gb,compute gab.

DLP and DH

Clearly, if one can solve DLP, it can solve CDH and DDH as well

The other direction is believed to be “almost true”

Luca De Feo Elliptic Curve Cryptography

Page 25: Elliptic Curve Cryptography · 2019. 9. 12. · Cryptography based on groups Elliptic curves Elliptic curve cryptography New perspectives in ECC Discrete Logarithm Problem The Diffie-Hellman

Cryptography based on groupsElliptic curves

Elliptic curve cryptographyNew perspectives in ECC

Discrete Logarithm ProblemThe Diffie-Hellman Problems

The Diffie-Helman Problems

Decisional Diffie-Hellman Problem (DDH)

Given a group G, a generator g for G, three random elements ga, gb andgc, distinguish with a non-negligible probability the triples

(ga, gb, gab) and (ga, gb, gc) .

Computational Diffie-Hellman Problem (CDH)

Given a group G, a generator g for G, two random elements ga and gb,compute gab.

DLP and DH

Clearly, if one can solve DLP, it can solve CDH and DDH as well

The other direction is believed to be “almost true”

Luca De Feo Elliptic Curve Cryptography

Page 26: Elliptic Curve Cryptography · 2019. 9. 12. · Cryptography based on groups Elliptic curves Elliptic curve cryptography New perspectives in ECC Discrete Logarithm Problem The Diffie-Hellman

Cryptography based on groupsElliptic curves

Elliptic curve cryptographyNew perspectives in ECC

The arithmetic of elliptic curvesElliptic Curve Discrete Logarithm Problem

Plan

1 Cryptography based on groupsDiscrete Logarithm ProblemThe Diffie-Hellman Problems

2 Elliptic curvesThe arithmetic of elliptic curvesElliptic Curve Discrete Logarithm Problem

3 Elliptic curve cryptographyECDHECDSASummary

4 New perspectives in ECCPairingsTripartite Diffie-HellmanIdentity Based Encryption

Luca De Feo Elliptic Curve Cryptography

Page 27: Elliptic Curve Cryptography · 2019. 9. 12. · Cryptography based on groups Elliptic curves Elliptic curve cryptography New perspectives in ECC Discrete Logarithm Problem The Diffie-Hellman

Cryptography based on groupsElliptic curves

Elliptic curve cryptographyNew perspectives in ECC

The arithmetic of elliptic curvesElliptic Curve Discrete Logarithm Problem

Elliptic curves

“An algebraic curve of genus 1”

Luca De Feo Elliptic Curve Cryptography

Page 28: Elliptic Curve Cryptography · 2019. 9. 12. · Cryptography based on groups Elliptic curves Elliptic curve cryptography New perspectives in ECC Discrete Logarithm Problem The Diffie-Hellman

Cryptography based on groupsElliptic curves

Elliptic curve cryptographyNew perspectives in ECC

The arithmetic of elliptic curvesElliptic Curve Discrete Logarithm Problem

Elliptic curves

E : Y 2 + a1XY + a3Y = X3 + a2X2 + a4X + a6

X and Y taking values in a field K, a1, a2, a3, a4, a6 ∈ K

Luca De Feo Elliptic Curve Cryptography

Page 29: Elliptic Curve Cryptography · 2019. 9. 12. · Cryptography based on groups Elliptic curves Elliptic curve cryptography New perspectives in ECC Discrete Logarithm Problem The Diffie-Hellman

Cryptography based on groupsElliptic curves

Elliptic curve cryptographyNew perspectives in ECC

The arithmetic of elliptic curvesElliptic Curve Discrete Logarithm Problem

Elliptic curves

E : Y 2 = X3 + a4X + a6

assuming char(K) 6= 2, 3

Luca De Feo Elliptic Curve Cryptography

Page 30: Elliptic Curve Cryptography · 2019. 9. 12. · Cryptography based on groups Elliptic curves Elliptic curve cryptography New perspectives in ECC Discrete Logarithm Problem The Diffie-Hellman

Cryptography based on groupsElliptic curves

Elliptic curve cryptographyNew perspectives in ECC

The arithmetic of elliptic curvesElliptic Curve Discrete Logarithm Problem

Elliptic curves

E : Y 2 = X3 + a4X + a6

We define

The discriminant ∆ = −64a34 − 1728a2

6

The j-invariant j(E) = −−1728(4a4)3

Isomorphic curves havethe same j-invariant

We demand

The curve to be smooth

⇔ ∆ 6= 0

Luca De Feo Elliptic Curve Cryptography

Page 31: Elliptic Curve Cryptography · 2019. 9. 12. · Cryptography based on groups Elliptic curves Elliptic curve cryptography New perspectives in ECC Discrete Logarithm Problem The Diffie-Hellman

Cryptography based on groupsElliptic curves

Elliptic curve cryptographyNew perspectives in ECC

The arithmetic of elliptic curvesElliptic Curve Discrete Logarithm Problem

Elliptic curves

E : Y 2 = X3 + a4X + a6

We define

The discriminant ∆ = −64a34 − 1728a2

6

The j-invariant j(E) = −−1728(4a4)3

∆Isomorphic curves havethe same j-invariant

We demand

The curve to be smooth

⇔ ∆ 6= 0

Luca De Feo Elliptic Curve Cryptography

Page 32: Elliptic Curve Cryptography · 2019. 9. 12. · Cryptography based on groups Elliptic curves Elliptic curve cryptography New perspectives in ECC Discrete Logarithm Problem The Diffie-Hellman

Cryptography based on groupsElliptic curves

Elliptic curve cryptographyNew perspectives in ECC

The arithmetic of elliptic curvesElliptic Curve Discrete Logarithm Problem

Elliptic curves

E : Y 2 = X3 + a4X + a6

We define

The discriminant ∆ = −64a34 − 1728a2

6

The j-invariant j(E) = −−1728(4a4)3

∆Isomorphic curves havethe same j-invariant

We demand

The curve to be smooth ⇔ ∆ 6= 0

Luca De Feo Elliptic Curve Cryptography

Page 33: Elliptic Curve Cryptography · 2019. 9. 12. · Cryptography based on groups Elliptic curves Elliptic curve cryptography New perspectives in ECC Discrete Logarithm Problem The Diffie-Hellman

Cryptography based on groupsElliptic curves

Elliptic curve cryptographyNew perspectives in ECC

The arithmetic of elliptic curvesElliptic Curve Discrete Logarithm Problem

The group law (the jacobian in one slide !)

Divisors

We can define a formal group Div(E) over the points of the curve E

We work in the projective space P2(K) : we add a point at infinityO.

The point at infinity acts as a zero for the group

The jacobian

With “some algebra”, we define the group Jac(E) as a quotient ofDiv(E)

Elements of Jac(E) are in one-to-one correspondence with thepoints of the curve, we note E(K) the set of (rational) points of E.

It turns out that the operation of the jacobian has a simplegeometric interpretation...

Luca De Feo Elliptic Curve Cryptography

Page 34: Elliptic Curve Cryptography · 2019. 9. 12. · Cryptography based on groups Elliptic curves Elliptic curve cryptography New perspectives in ECC Discrete Logarithm Problem The Diffie-Hellman

Cryptography based on groupsElliptic curves

Elliptic curve cryptographyNew perspectives in ECC

The arithmetic of elliptic curvesElliptic Curve Discrete Logarithm Problem

The group law (the jacobian in one slide !)

Divisors

We can define a formal group Div(E) over the points of the curve E

We work in the projective space P2(K) : we add a point at infinityO.

The point at infinity acts as a zero for the group

The jacobian

With “some algebra”, we define the group Jac(E) as a quotient ofDiv(E)

Elements of Jac(E) are in one-to-one correspondence with thepoints of the curve, we note E(K) the set of (rational) points of E.

It turns out that the operation of the jacobian has a simplegeometric interpretation...

Luca De Feo Elliptic Curve Cryptography

Page 35: Elliptic Curve Cryptography · 2019. 9. 12. · Cryptography based on groups Elliptic curves Elliptic curve cryptography New perspectives in ECC Discrete Logarithm Problem The Diffie-Hellman

Cryptography based on groupsElliptic curves

Elliptic curve cryptographyNew perspectives in ECC

The arithmetic of elliptic curvesElliptic Curve Discrete Logarithm Problem

Adding

P = (x0, y0), Q = (x1, y1)

−P = (x0,−y0)

we assume P 6= ±Q

we set λ = y1−y0

x1−x0

x2 = λ2 − x0 − x1

y2 = (x0 − x2)λ− y0

P + Q = (x2, y2)

Luca De Feo Elliptic Curve Cryptography

Page 36: Elliptic Curve Cryptography · 2019. 9. 12. · Cryptography based on groups Elliptic curves Elliptic curve cryptography New perspectives in ECC Discrete Logarithm Problem The Diffie-Hellman

Cryptography based on groupsElliptic curves

Elliptic curve cryptographyNew perspectives in ECC

The arithmetic of elliptic curvesElliptic Curve Discrete Logarithm Problem

Adding

P = (x0, y0), Q = (x1, y1)

−P = (x0,−y0)

we assume P 6= ±Q

we set λ = y1−y0

x1−x0

x2 = λ2 − x0 − x1

y2 = (x0 − x2)λ− y0

P + Q = (x2, y2)

Luca De Feo Elliptic Curve Cryptography

Page 37: Elliptic Curve Cryptography · 2019. 9. 12. · Cryptography based on groups Elliptic curves Elliptic curve cryptography New perspectives in ECC Discrete Logarithm Problem The Diffie-Hellman

Cryptography based on groupsElliptic curves

Elliptic curve cryptographyNew perspectives in ECC

The arithmetic of elliptic curvesElliptic Curve Discrete Logarithm Problem

Adding

P = (x0, y0), Q = (x1, y1)

−P = (x0,−y0)

we assume P 6= ±Q

we set λ = y1−y0

x1−x0

x2 = λ2 − x0 − x1

y2 = (x0 − x2)λ− y0

P + Q = (x2, y2)

Luca De Feo Elliptic Curve Cryptography

Page 38: Elliptic Curve Cryptography · 2019. 9. 12. · Cryptography based on groups Elliptic curves Elliptic curve cryptography New perspectives in ECC Discrete Logarithm Problem The Diffie-Hellman

Cryptography based on groupsElliptic curves

Elliptic curve cryptographyNew perspectives in ECC

The arithmetic of elliptic curvesElliptic Curve Discrete Logarithm Problem

Doubling

P = (x0, y0)

we assume y0 6= 0 (otherwise[2]P = O)

we set λ =3x2

0+a4

2y0

x2 = λ2 − x0 − x1

y2 = (x0 − x2)λ− y0

[2]P = (x2, y2)

generalizing, we note[m]P = P + P + . . . + P︸ ︷︷ ︸

m times

Luca De Feo Elliptic Curve Cryptography

Page 39: Elliptic Curve Cryptography · 2019. 9. 12. · Cryptography based on groups Elliptic curves Elliptic curve cryptography New perspectives in ECC Discrete Logarithm Problem The Diffie-Hellman

Cryptography based on groupsElliptic curves

Elliptic curve cryptographyNew perspectives in ECC

The arithmetic of elliptic curvesElliptic Curve Discrete Logarithm Problem

Doubling

P = (x0, y0)

we assume y0 6= 0 (otherwise[2]P = O)

we set λ =3x2

0+a4

2y0

x2 = λ2 − x0 − x1

y2 = (x0 − x2)λ− y0

[2]P = (x2, y2)

generalizing, we note[m]P = P + P + . . . + P︸ ︷︷ ︸

m times

Luca De Feo Elliptic Curve Cryptography

Page 40: Elliptic Curve Cryptography · 2019. 9. 12. · Cryptography based on groups Elliptic curves Elliptic curve cryptography New perspectives in ECC Discrete Logarithm Problem The Diffie-Hellman

Cryptography based on groupsElliptic curves

Elliptic curve cryptographyNew perspectives in ECC

The arithmetic of elliptic curvesElliptic Curve Discrete Logarithm Problem

Doubling

P = (x0, y0)

we assume y0 6= 0 (otherwise[2]P = O)

we set λ =3x2

0+a4

2y0

x2 = λ2 − x0 − x1

y2 = (x0 − x2)λ− y0

[2]P = (x2, y2)

generalizing, we note[m]P = P + P + . . . + P︸ ︷︷ ︸

m times

Luca De Feo Elliptic Curve Cryptography

Page 41: Elliptic Curve Cryptography · 2019. 9. 12. · Cryptography based on groups Elliptic curves Elliptic curve cryptography New perspectives in ECC Discrete Logarithm Problem The Diffie-Hellman

Cryptography based on groupsElliptic curves

Elliptic curve cryptographyNew perspectives in ECC

The arithmetic of elliptic curvesElliptic Curve Discrete Logarithm Problem

Doubling

P = (x0, y0)

we assume y0 6= 0 (otherwise[2]P = O)

we set λ =3x2

0+a4

2y0

x2 = λ2 − x0 − x1

y2 = (x0 − x2)λ− y0

[2]P = (x2, y2)

generalizing, we note[m]P = P + P + . . . + P︸ ︷︷ ︸

m times

Luca De Feo Elliptic Curve Cryptography

Page 42: Elliptic Curve Cryptography · 2019. 9. 12. · Cryptography based on groups Elliptic curves Elliptic curve cryptography New perspectives in ECC Discrete Logarithm Problem The Diffie-Hellman

Cryptography based on groupsElliptic curves

Elliptic curve cryptographyNew perspectives in ECC

The arithmetic of elliptic curvesElliptic Curve Discrete Logarithm Problem

Elliptic curves over finite fields

Elliptic Curve DLP

We have a group...

we want a hard DLP !

Infinite groups are not suitable for cryptography since the logarithmis closely related with the size of the elements

Curves over finite fields are the good choice

Theorem (Hasse’s theorem)

Let E be an elliptic curve defined over a field Fq, then we have

|#E(Fq)− q − 1| ≤ 2√

q.

Remarks

There exist effective algorithms to calculate #E(Fq), see [BSS 1]and [BSS 2] for further readings.

Luca De Feo Elliptic Curve Cryptography

Page 43: Elliptic Curve Cryptography · 2019. 9. 12. · Cryptography based on groups Elliptic curves Elliptic curve cryptography New perspectives in ECC Discrete Logarithm Problem The Diffie-Hellman

Cryptography based on groupsElliptic curves

Elliptic curve cryptographyNew perspectives in ECC

The arithmetic of elliptic curvesElliptic Curve Discrete Logarithm Problem

Elliptic curves over finite fields

Elliptic Curve DLP

We have a group... we want a hard DLP !

Infinite groups are not suitable for cryptography since the logarithmis closely related with the size of the elements

Curves over finite fields are the good choice

Theorem (Hasse’s theorem)

Let E be an elliptic curve defined over a field Fq, then we have

|#E(Fq)− q − 1| ≤ 2√

q.

Remarks

There exist effective algorithms to calculate #E(Fq), see [BSS 1]and [BSS 2] for further readings.

Luca De Feo Elliptic Curve Cryptography

Page 44: Elliptic Curve Cryptography · 2019. 9. 12. · Cryptography based on groups Elliptic curves Elliptic curve cryptography New perspectives in ECC Discrete Logarithm Problem The Diffie-Hellman

Cryptography based on groupsElliptic curves

Elliptic curve cryptographyNew perspectives in ECC

The arithmetic of elliptic curvesElliptic Curve Discrete Logarithm Problem

Elliptic curves over finite fields

Elliptic Curve DLP

We have a group... we want a hard DLP !

Infinite groups are not suitable for cryptography since the logarithmis closely related with the size of the elements

Curves over finite fields are the good choice

Theorem (Hasse’s theorem)

Let E be an elliptic curve defined over a field Fq, then we have

|#E(Fq)− q − 1| ≤ 2√

q.

Remarks

There exist effective algorithms to calculate #E(Fq), see [BSS 1]and [BSS 2] for further readings.

Luca De Feo Elliptic Curve Cryptography

Page 45: Elliptic Curve Cryptography · 2019. 9. 12. · Cryptography based on groups Elliptic curves Elliptic curve cryptography New perspectives in ECC Discrete Logarithm Problem The Diffie-Hellman

Cryptography based on groupsElliptic curves

Elliptic curve cryptographyNew perspectives in ECC

The arithmetic of elliptic curvesElliptic Curve Discrete Logarithm Problem

Elliptic curves over finite fields

Elliptic Curve DLP

We have a group... we want a hard DLP !

Infinite groups are not suitable for cryptography since the logarithmis closely related with the size of the elements

Curves over finite fields are the good choice

Theorem (Hasse’s theorem)

Let E be an elliptic curve defined over a field Fq, then we have

|#E(Fq)− q − 1| ≤ 2√

q.

Remarks

There exist effective algorithms to calculate #E(Fq), see [BSS 1]and [BSS 2] for further readings.

Luca De Feo Elliptic Curve Cryptography

Page 46: Elliptic Curve Cryptography · 2019. 9. 12. · Cryptography based on groups Elliptic curves Elliptic curve cryptography New perspectives in ECC Discrete Logarithm Problem The Diffie-Hellman

Cryptography based on groupsElliptic curves

Elliptic curve cryptographyNew perspectives in ECC

The arithmetic of elliptic curvesElliptic Curve Discrete Logarithm Problem

Elliptic curves over finite fields

Elliptic Curve DLP

We have a group... we want a hard DLP !

Infinite groups are not suitable for cryptography since the logarithmis closely related with the size of the elements

Curves over finite fields are the good choice

Theorem (Hasse’s theorem)

Let E be an elliptic curve defined over a field Fq, then we have

|#E(Fq)− q − 1| ≤ 2√

q.

Remarks

There exist effective algorithms to calculate #E(Fq), see [BSS 1]and [BSS 2] for further readings.

Luca De Feo Elliptic Curve Cryptography

Page 47: Elliptic Curve Cryptography · 2019. 9. 12. · Cryptography based on groups Elliptic curves Elliptic curve cryptography New perspectives in ECC Discrete Logarithm Problem The Diffie-Hellman

Cryptography based on groupsElliptic curves

Elliptic curve cryptographyNew perspectives in ECC

The arithmetic of elliptic curvesElliptic Curve Discrete Logarithm Problem

Elliptic Curve Discrete Logarithm Problem

DLP

A cyclic group (G, ∗), a generator g of G of order n

G is isomorphic to Z/nZ via the bijection

logg : gx 7→ x

Hardness of ECDLP

Luca De Feo Elliptic Curve Cryptography

Page 48: Elliptic Curve Cryptography · 2019. 9. 12. · Cryptography based on groups Elliptic curves Elliptic curve cryptography New perspectives in ECC Discrete Logarithm Problem The Diffie-Hellman

Cryptography based on groupsElliptic curves

Elliptic curve cryptographyNew perspectives in ECC

The arithmetic of elliptic curvesElliptic Curve Discrete Logarithm Problem

Elliptic Curve Discrete Logarithm Problem

DLP

A cyclic group (G, ∗), a generator g of G of order n

G is isomorphic to Z/nZ via the bijection

logg : gx 7→ x

Hardness of ECDLP

Luca De Feo Elliptic Curve Cryptography

Page 49: Elliptic Curve Cryptography · 2019. 9. 12. · Cryptography based on groups Elliptic curves Elliptic curve cryptography New perspectives in ECC Discrete Logarithm Problem The Diffie-Hellman

Cryptography based on groupsElliptic curves

Elliptic curve cryptographyNew perspectives in ECC

The arithmetic of elliptic curvesElliptic Curve Discrete Logarithm Problem

Elliptic Curve Discrete Logarithm Problem

DLP

A cyclic subgroup Jac(E), a generator g of Jac(E) of order n

G is isomorphic to Z/nZ via the bijection

logg : gx 7→ x

Hardness of ECDLP

Luca De Feo Elliptic Curve Cryptography

Page 50: Elliptic Curve Cryptography · 2019. 9. 12. · Cryptography based on groups Elliptic curves Elliptic curve cryptography New perspectives in ECC Discrete Logarithm Problem The Diffie-Hellman

Cryptography based on groupsElliptic curves

Elliptic curve cryptographyNew perspectives in ECC

The arithmetic of elliptic curvesElliptic Curve Discrete Logarithm Problem

Elliptic Curve Discrete Logarithm Problem

DLP

A cyclic subgroup Jac(E), a generator g of Jac(E) of order n

G is isomorphic to Z/nZ via the bijection

logg : gx 7→ x

Hardness of ECDLP

Luca De Feo Elliptic Curve Cryptography

Page 51: Elliptic Curve Cryptography · 2019. 9. 12. · Cryptography based on groups Elliptic curves Elliptic curve cryptography New perspectives in ECC Discrete Logarithm Problem The Diffie-Hellman

Cryptography based on groupsElliptic curves

Elliptic curve cryptographyNew perspectives in ECC

The arithmetic of elliptic curvesElliptic Curve Discrete Logarithm Problem

Elliptic Curve Discrete Logarithm Problem

DLP

A cyclic subgroup Jac(E), a generator P of Jac(E) of order n

G is isomorphic to Z/nZ via the bijection

logg : gx 7→ x

Hardness of ECDLP

Luca De Feo Elliptic Curve Cryptography

Page 52: Elliptic Curve Cryptography · 2019. 9. 12. · Cryptography based on groups Elliptic curves Elliptic curve cryptography New perspectives in ECC Discrete Logarithm Problem The Diffie-Hellman

Cryptography based on groupsElliptic curves

Elliptic curve cryptographyNew perspectives in ECC

The arithmetic of elliptic curvesElliptic Curve Discrete Logarithm Problem

Elliptic Curve Discrete Logarithm Problem

DLP

A cyclic subgroup Jac(E), a generator P of Jac(E) of order n

G is isomorphic to Z/nZ via the bijection

logg : gx 7→ x

Hardness of ECDLP

Luca De Feo Elliptic Curve Cryptography

Page 53: Elliptic Curve Cryptography · 2019. 9. 12. · Cryptography based on groups Elliptic curves Elliptic curve cryptography New perspectives in ECC Discrete Logarithm Problem The Diffie-Hellman

Cryptography based on groupsElliptic curves

Elliptic curve cryptographyNew perspectives in ECC

The arithmetic of elliptic curvesElliptic Curve Discrete Logarithm Problem

Elliptic Curve Discrete Logarithm Problem

DLP

A cyclic subgroup Jac(E), a generator P of Jac(E) of order n

Jac(E) is isomorphic to Z/nZ via the bijection

logg : gx 7→ x

Hardness of ECDLP

Luca De Feo Elliptic Curve Cryptography

Page 54: Elliptic Curve Cryptography · 2019. 9. 12. · Cryptography based on groups Elliptic curves Elliptic curve cryptography New perspectives in ECC Discrete Logarithm Problem The Diffie-Hellman

Cryptography based on groupsElliptic curves

Elliptic curve cryptographyNew perspectives in ECC

The arithmetic of elliptic curvesElliptic Curve Discrete Logarithm Problem

Elliptic Curve Discrete Logarithm Problem

DLP

A cyclic subgroup Jac(E), a generator P of Jac(E) of order n

Jac(E) is isomorphic to Z/nZ via the bijection

logg : gx 7→ x

Hardness of ECDLP

Luca De Feo Elliptic Curve Cryptography

Page 55: Elliptic Curve Cryptography · 2019. 9. 12. · Cryptography based on groups Elliptic curves Elliptic curve cryptography New perspectives in ECC Discrete Logarithm Problem The Diffie-Hellman

Cryptography based on groupsElliptic curves

Elliptic curve cryptographyNew perspectives in ECC

The arithmetic of elliptic curvesElliptic Curve Discrete Logarithm Problem

Elliptic Curve Discrete Logarithm Problem

DLP

A cyclic subgroup Jac(E), a generator P of Jac(E) of order n

Jac(E) is isomorphic to Z/nZ via the bijection

logg : [x]P 7→ x

Hardness of ECDLP

Luca De Feo Elliptic Curve Cryptography

Page 56: Elliptic Curve Cryptography · 2019. 9. 12. · Cryptography based on groups Elliptic curves Elliptic curve cryptography New perspectives in ECC Discrete Logarithm Problem The Diffie-Hellman

Cryptography based on groupsElliptic curves

Elliptic curve cryptographyNew perspectives in ECC

The arithmetic of elliptic curvesElliptic Curve Discrete Logarithm Problem

Elliptic Curve Discrete Logarithm Problem

DLP

A cyclic subgroup Jac(E), a generator P of Jac(E) of order n

Jac(E) is isomorphic to Z/nZ via the bijection

logg : [x]P 7→ x

Hardness of ECDLP

Luca De Feo Elliptic Curve Cryptography

Page 57: Elliptic Curve Cryptography · 2019. 9. 12. · Cryptography based on groups Elliptic curves Elliptic curve cryptography New perspectives in ECC Discrete Logarithm Problem The Diffie-Hellman

Cryptography based on groupsElliptic curves

Elliptic curve cryptographyNew perspectives in ECC

The arithmetic of elliptic curvesElliptic Curve Discrete Logarithm Problem

Elliptic Curve Discrete Logarithm Problem

ECDLP

A cyclic subgroup Jac(E), a generator P of Jac(E) of order n

Jac(E) is isomorphic to Z/nZ via the bijection

logg : [x]P 7→ x

Hardness of ECDLP

Luca De Feo Elliptic Curve Cryptography

Page 58: Elliptic Curve Cryptography · 2019. 9. 12. · Cryptography based on groups Elliptic curves Elliptic curve cryptography New perspectives in ECC Discrete Logarithm Problem The Diffie-Hellman

Cryptography based on groupsElliptic curves

Elliptic curve cryptographyNew perspectives in ECC

The arithmetic of elliptic curvesElliptic Curve Discrete Logarithm Problem

Elliptic Curve Discrete Logarithm Problem

ECDLP

A cyclic subgroup Jac(E), a generator P of Jac(E) of order n

Jac(E) is isomorphic to Z/nZ via the bijection

logg : [x]P 7→ x

Hardness of ECDLP

ECDLP is easy for various classes of elliptic curves :

n is not prime → Pohlig-Hellman

n < 2160 → BSGS or Pollard’s Rho

n = char(K) → anomalous attack (see [BSS 1])

(#K)t = 1 mod n for a t < 20 → MOV attack (see [BSS 1])

#K = pl with l not prime → Weil descent (see [BSS 2])

Luca De Feo Elliptic Curve Cryptography

Page 59: Elliptic Curve Cryptography · 2019. 9. 12. · Cryptography based on groups Elliptic curves Elliptic curve cryptography New perspectives in ECC Discrete Logarithm Problem The Diffie-Hellman

Cryptography based on groupsElliptic curves

Elliptic curve cryptographyNew perspectives in ECC

The arithmetic of elliptic curvesElliptic Curve Discrete Logarithm Problem

Elliptic Curve Discrete Logarithm Problem

ECDLP

A cyclic subgroup Jac(E), a generator P of Jac(E) of order n

Jac(E) is isomorphic to Z/nZ via the bijection

logg : [x]P 7→ x

Hardness of ECDLP

But for all the other cases no better algorithm is known than BSGSor Pollard’s Rho !

Thus, for crytpographic use, we select a random curve and verifythat it’s ECDLP is not easy

Luca De Feo Elliptic Curve Cryptography

Page 60: Elliptic Curve Cryptography · 2019. 9. 12. · Cryptography based on groups Elliptic curves Elliptic curve cryptography New perspectives in ECC Discrete Logarithm Problem The Diffie-Hellman

Cryptography based on groupsElliptic curves

Elliptic curve cryptographyNew perspectives in ECC

The arithmetic of elliptic curvesElliptic Curve Discrete Logarithm Problem

Elliptic Curve Discrete Logarithm Problem

ECDLP

A cyclic subgroup Jac(E), a generator P of Jac(E) of order n

Jac(E) is isomorphic to Z/nZ via the bijection

logg : [x]P 7→ x

Hardness of ECDLP

But for all the other cases no better algorithm is known than BSGSor Pollard’s Rho !

Thus, for crytpographic use, we select a random curve and verifythat it’s ECDLP is not easy

Luca De Feo Elliptic Curve Cryptography

Page 61: Elliptic Curve Cryptography · 2019. 9. 12. · Cryptography based on groups Elliptic curves Elliptic curve cryptography New perspectives in ECC Discrete Logarithm Problem The Diffie-Hellman

Cryptography based on groupsElliptic curves

Elliptic curve cryptographyNew perspectives in ECC

ECDHECDSASummary

Plan

1 Cryptography based on groupsDiscrete Logarithm ProblemThe Diffie-Hellman Problems

2 Elliptic curvesThe arithmetic of elliptic curvesElliptic Curve Discrete Logarithm Problem

3 Elliptic curve cryptographyECDHECDSASummary

4 New perspectives in ECCPairingsTripartite Diffie-HellmanIdentity Based Encryption

Luca De Feo Elliptic Curve Cryptography

Page 62: Elliptic Curve Cryptography · 2019. 9. 12. · Cryptography based on groups Elliptic curves Elliptic curve cryptography New perspectives in ECC Discrete Logarithm Problem The Diffie-Hellman

Cryptography based on groupsElliptic curves

Elliptic curve cryptographyNew perspectives in ECC

ECDHECDSASummary

Elliptic Curve Diffie-Hellman (ECDH)

A group G of prime order p. A generator g of G.

chooses a ∈ Z/pZ at random

computes ga

chooses b ∈ Z/pZ at random

computes gb

ga

−−−−−−−−−−−−−−−→gb

←−−−−−−−−−−−−−−−

computes Kab =(gb

)acomputes Kab =

(ga

)b

Luca De Feo Elliptic Curve Cryptography

Page 63: Elliptic Curve Cryptography · 2019. 9. 12. · Cryptography based on groups Elliptic curves Elliptic curve cryptography New perspectives in ECC Discrete Logarithm Problem The Diffie-Hellman

Cryptography based on groupsElliptic curves

Elliptic curve cryptographyNew perspectives in ECC

ECDHECDSASummary

Elliptic Curve Diffie-Hellman (ECDH)

A group G of prime order p. A generator g of G.

chooses a ∈ Z/pZ at random

computes ga

chooses b ∈ Z/pZ at random

computes gb

ga

−−−−−−−−−−−−−−−→gb

←−−−−−−−−−−−−−−−

computes Kab =(gb

)acomputes Kab =

(ga

)b

Luca De Feo Elliptic Curve Cryptography

Page 64: Elliptic Curve Cryptography · 2019. 9. 12. · Cryptography based on groups Elliptic curves Elliptic curve cryptography New perspectives in ECC Discrete Logarithm Problem The Diffie-Hellman

Cryptography based on groupsElliptic curves

Elliptic curve cryptographyNew perspectives in ECC

ECDHECDSASummary

Elliptic Curve Diffie-Hellman (ECDH)

An elliptic curve E, a finite field K, a subgroup of prime order p ofE(K), a generator P .

chooses a ∈ Z/pZ at random

computes ga

chooses b ∈ Z/pZ at random

computes gb

ga

−−−−−−−−−−−−−−−→gb

←−−−−−−−−−−−−−−−

computes Kab =(gb

)acomputes Kab =

(ga

)b

Luca De Feo Elliptic Curve Cryptography

Page 65: Elliptic Curve Cryptography · 2019. 9. 12. · Cryptography based on groups Elliptic curves Elliptic curve cryptography New perspectives in ECC Discrete Logarithm Problem The Diffie-Hellman

Cryptography based on groupsElliptic curves

Elliptic curve cryptographyNew perspectives in ECC

ECDHECDSASummary

Elliptic Curve Diffie-Hellman (ECDH)

An elliptic curve E, a finite field K, a subgroup of prime order p ofE(K), a generator P .

chooses a ∈ Z/pZ at random

computes ga

chooses b ∈ Z/pZ at random

computes gb

ga

−−−−−−−−−−−−−−−→gb

←−−−−−−−−−−−−−−−

computes Kab =(gb

)acomputes Kab =

(ga

)b

Luca De Feo Elliptic Curve Cryptography

Page 66: Elliptic Curve Cryptography · 2019. 9. 12. · Cryptography based on groups Elliptic curves Elliptic curve cryptography New perspectives in ECC Discrete Logarithm Problem The Diffie-Hellman

Cryptography based on groupsElliptic curves

Elliptic curve cryptographyNew perspectives in ECC

ECDHECDSASummary

Elliptic Curve Diffie-Hellman (ECDH)

An elliptic curve E, a finite field K, a subgroup of prime order p ofE(K), a generator P .

chooses a ∈ Z/pZ at random

computes [a]P

chooses b ∈ Z/pZ at random

computes [b]P

ga

−−−−−−−−−−−−−−−→gb

←−−−−−−−−−−−−−−−

computes Kab =(gb

)acomputes Kab =

(ga

)b

Luca De Feo Elliptic Curve Cryptography

Page 67: Elliptic Curve Cryptography · 2019. 9. 12. · Cryptography based on groups Elliptic curves Elliptic curve cryptography New perspectives in ECC Discrete Logarithm Problem The Diffie-Hellman

Cryptography based on groupsElliptic curves

Elliptic curve cryptographyNew perspectives in ECC

ECDHECDSASummary

Elliptic Curve Diffie-Hellman (ECDH)

An elliptic curve E, a finite field K, a subgroup of prime order p ofE(K), a generator P .

chooses a ∈ Z/pZ at random

computes [a]P

chooses b ∈ Z/pZ at random

computes [b]P

ga

−−−−−−−−−−−−−−−→gb

←−−−−−−−−−−−−−−−

computes Kab =(gb

)acomputes Kab =

(ga

)b

Luca De Feo Elliptic Curve Cryptography

Page 68: Elliptic Curve Cryptography · 2019. 9. 12. · Cryptography based on groups Elliptic curves Elliptic curve cryptography New perspectives in ECC Discrete Logarithm Problem The Diffie-Hellman

Cryptography based on groupsElliptic curves

Elliptic curve cryptographyNew perspectives in ECC

ECDHECDSASummary

Elliptic Curve Diffie-Hellman (ECDH)

An elliptic curve E, a finite field K, a subgroup of prime order p ofE(K), a generator P .

chooses a ∈ Z/pZ at random

computes [a]P

chooses b ∈ Z/pZ at random

computes [b]P

[a]P−−−−−−−−−−−−−−−−→

[b]P←−−−−−−−−−−−−−−−−

computes Kab =(gb

)acomputes Kab =

(ga

)b

Luca De Feo Elliptic Curve Cryptography

Page 69: Elliptic Curve Cryptography · 2019. 9. 12. · Cryptography based on groups Elliptic curves Elliptic curve cryptography New perspectives in ECC Discrete Logarithm Problem The Diffie-Hellman

Cryptography based on groupsElliptic curves

Elliptic curve cryptographyNew perspectives in ECC

ECDHECDSASummary

Elliptic Curve Diffie-Hellman (ECDH)

An elliptic curve E, a finite field K, a subgroup of prime order p ofE(K), a generator P .

chooses a ∈ Z/pZ at random

computes [a]P

chooses b ∈ Z/pZ at random

computes [b]P

[a]P−−−−−−−−−−−−−−−−→

[b]P←−−−−−−−−−−−−−−−−

computes Kab =(gb

)acomputes Kab =

(ga

)b

Luca De Feo Elliptic Curve Cryptography

Page 70: Elliptic Curve Cryptography · 2019. 9. 12. · Cryptography based on groups Elliptic curves Elliptic curve cryptography New perspectives in ECC Discrete Logarithm Problem The Diffie-Hellman

Cryptography based on groupsElliptic curves

Elliptic curve cryptographyNew perspectives in ECC

ECDHECDSASummary

Elliptic Curve Diffie-Hellman (ECDH)

An elliptic curve E, a finite field K, a subgroup of prime order p ofE(K), a generator P .

chooses a ∈ Z/pZ at random

computes [a]P

chooses b ∈ Z/pZ at random

computes [b]P

[a]P−−−−−−−−−−−−−−−−→

[b]P←−−−−−−−−−−−−−−−−

computes Kab = [a]([b]P

)computes Kab = [b]

([a]P

)Luca De Feo Elliptic Curve Cryptography

Page 71: Elliptic Curve Cryptography · 2019. 9. 12. · Cryptography based on groups Elliptic curves Elliptic curve cryptography New perspectives in ECC Discrete Logarithm Problem The Diffie-Hellman

Cryptography based on groupsElliptic curves

Elliptic curve cryptographyNew perspectives in ECC

ECDHECDSASummary

ECDH Problems

ECCDH and ECDDH

We define the problems computational ECDH and decisional ECDH thesame way we did for CDH and DDH

Luca De Feo Elliptic Curve Cryptography

Page 72: Elliptic Curve Cryptography · 2019. 9. 12. · Cryptography based on groups Elliptic curves Elliptic curve cryptography New perspectives in ECC Discrete Logarithm Problem The Diffie-Hellman

Cryptography based on groupsElliptic curves

Elliptic curve cryptographyNew perspectives in ECC

ECDHECDSASummary

Elliptic Curve Digital Signature Algorithm (ECDSA)

Parameters

A t-uple (E,K, n, P )

A hash function H : {0, 1}∗ → {0, 1}l

A private key x ∈ Z/pZ and a public key Y = [x]P

Signing a message m

1 Choose k ∈ Z/pZ at random

2 T ← [k]P

3 r ← x(T ) mod p

4 e← H(m)

5 s← e+xrk mod p

6 Return (r, s)

Verifying a signature (r, s)

1 e← H(m)

2 u← es

3 v ← rs

4 T ← [u]P + [v]Y

5 Accept if and only if r = x(T )mod p

Luca De Feo Elliptic Curve Cryptography

Page 73: Elliptic Curve Cryptography · 2019. 9. 12. · Cryptography based on groups Elliptic curves Elliptic curve cryptography New perspectives in ECC Discrete Logarithm Problem The Diffie-Hellman

Cryptography based on groupsElliptic curves

Elliptic curve cryptographyNew perspectives in ECC

ECDHECDSASummary

Elliptic Curve Digital Signature Algorithm (ECDSA)

Parameters

A t-uple (E,K, n, P )

A hash function H : {0, 1}∗ → {0, 1}l

A private key x ∈ Z/pZ and a public key Y = [x]P

Signing a message m

1 Choose k ∈ Z/pZ at random

2 T ← [k]P

3 r ← x(T ) mod p

4 e← H(m)

5 s← e+xrk mod p

6 Return (r, s)

Verifying a signature (r, s)

1 e← H(m)

2 u← es

3 v ← rs

4 T ← [u]P + [v]Y

5 Accept if and only if r = x(T )mod p

Luca De Feo Elliptic Curve Cryptography

Page 74: Elliptic Curve Cryptography · 2019. 9. 12. · Cryptography based on groups Elliptic curves Elliptic curve cryptography New perspectives in ECC Discrete Logarithm Problem The Diffie-Hellman

Cryptography based on groupsElliptic curves

Elliptic curve cryptographyNew perspectives in ECC

ECDHECDSASummary

Elliptic Curve Digital Signature Algorithm (ECDSA)

Parameters

A t-uple (E,K, n, P )

A hash function H : {0, 1}∗ → {0, 1}l

A private key x ∈ Z/pZ and a public key Y = [x]P

Signing a message m

1 Choose k ∈ Z/pZ at random

2 T ← [k]P

3 r ← x(T ) mod p

4 e← H(m)

5 s← e+xrk mod p

6 Return (r, s)

Verifying a signature (r, s)

1 e← H(m)

2 u← es

3 v ← rs

4 T ← [u]P + [v]Y

5 Accept if and only if r = x(T )mod p

Luca De Feo Elliptic Curve Cryptography

Page 75: Elliptic Curve Cryptography · 2019. 9. 12. · Cryptography based on groups Elliptic curves Elliptic curve cryptography New perspectives in ECC Discrete Logarithm Problem The Diffie-Hellman

Cryptography based on groupsElliptic curves

Elliptic curve cryptographyNew perspectives in ECC

ECDHECDSASummary

Summary

Other protocols

ECMQV authentified key agreement

ECIES integrated encryption system

Security parameters

DLP over finite fields requires nowadays 1024 bit keys to achieve agood security level (80 bits)

For a comparable security level, ECDLP requires lesss than 200 bitkeys

The gain is given by the equation

n ≈ N1/3

where n is the number of bits required for an EC cryptosystem andN is the number of bits required for a conventional one

Luca De Feo Elliptic Curve Cryptography

Page 76: Elliptic Curve Cryptography · 2019. 9. 12. · Cryptography based on groups Elliptic curves Elliptic curve cryptography New perspectives in ECC Discrete Logarithm Problem The Diffie-Hellman

Cryptography based on groupsElliptic curves

Elliptic curve cryptographyNew perspectives in ECC

ECDHECDSASummary

Summary

Other protocols

ECMQV authentified key agreement

ECIES integrated encryption system

Security parameters

DLP over finite fields requires nowadays 1024 bit keys to achieve agood security level (80 bits)

For a comparable security level, ECDLP requires lesss than 200 bitkeys

The gain is given by the equation

n ≈ N1/3

where n is the number of bits required for an EC cryptosystem andN is the number of bits required for a conventional one

Luca De Feo Elliptic Curve Cryptography

Page 77: Elliptic Curve Cryptography · 2019. 9. 12. · Cryptography based on groups Elliptic curves Elliptic curve cryptography New perspectives in ECC Discrete Logarithm Problem The Diffie-Hellman

Cryptography based on groupsElliptic curves

Elliptic curve cryptographyNew perspectives in ECC

PairingsTripartite Diffie-HellmanIdentity Based Encryption

Plan

1 Cryptography based on groupsDiscrete Logarithm ProblemThe Diffie-Hellman Problems

2 Elliptic curvesThe arithmetic of elliptic curvesElliptic Curve Discrete Logarithm Problem

3 Elliptic curve cryptographyECDHECDSASummary

4 New perspectives in ECCPairingsTripartite Diffie-HellmanIdentity Based Encryption

Luca De Feo Elliptic Curve Cryptography

Page 78: Elliptic Curve Cryptography · 2019. 9. 12. · Cryptography based on groups Elliptic curves Elliptic curve cryptography New perspectives in ECC Discrete Logarithm Problem The Diffie-Hellman

Cryptography based on groupsElliptic curves

Elliptic curve cryptographyNew perspectives in ECC

PairingsTripartite Diffie-HellmanIdentity Based Encryption

Pairings

Definition (Pairing)

Given two groups (G1,+1) and (G2,+2) with same exponent n, given acyclic group (G3, ∗) of order n, a pairing is a function

e : G1 ×G2 → G3

satisfying the following properties :

Bilinearity :

e(P + P ′, Q) = e(P,Q)e(P ′, Q)e(P,Q + Q′) = e(P,Q)e(P,Q′)

Non-degeneracy :

for all P there is a Q such that e(P,Q) 6= 1for all Q there is a P such that e(P,Q) 6= 1

Luca De Feo Elliptic Curve Cryptography

Page 79: Elliptic Curve Cryptography · 2019. 9. 12. · Cryptography based on groups Elliptic curves Elliptic curve cryptography New perspectives in ECC Discrete Logarithm Problem The Diffie-Hellman

Cryptography based on groupsElliptic curves

Elliptic curve cryptographyNew perspectives in ECC

PairingsTripartite Diffie-HellmanIdentity Based Encryption

Pairings

Definition (Self-pairing)

With the same notation as above, taking G1 = G2, we define aself-pairing as function

e : G1 ×G1 → G3

satisfying the following properties :

Bilinearity :

e(P + P ′, Q) = e(P,Q)e(P ′, Q)e(P,Q + Q′) = e(P,Q)e(P,Q′)

Symmetry : e(P,Q) = e(Q,P ) for all P and Q

Non-degeneracy : e(P, P ) 6= 1 for all P

Luca De Feo Elliptic Curve Cryptography

Page 80: Elliptic Curve Cryptography · 2019. 9. 12. · Cryptography based on groups Elliptic curves Elliptic curve cryptography New perspectives in ECC Discrete Logarithm Problem The Diffie-Hellman

Cryptography based on groupsElliptic curves

Elliptic curve cryptographyNew perspectives in ECC

PairingsTripartite Diffie-HellmanIdentity Based Encryption

Pairings

Pairings over elliptic curves

Suppose G1 and G2 are groups of points of elliptic curves

Then pairings exist with G3 a multiplicative subgroup of a finite field

If G1 is a subgroup of Jac(E) for a E(Fq), then there exist a k ∈ N(called the embedding degree) and a self-pairing s.t. G3 is amultilpicative subgroup of Fqk

There exist classes of curves for which there is a pairing effectivelycomputable, ECCDH is hard for the curve and DDH is hard for thefinite field

Luca De Feo Elliptic Curve Cryptography

Page 81: Elliptic Curve Cryptography · 2019. 9. 12. · Cryptography based on groups Elliptic curves Elliptic curve cryptography New perspectives in ECC Discrete Logarithm Problem The Diffie-Hellman

Cryptography based on groupsElliptic curves

Elliptic curve cryptographyNew perspectives in ECC

PairingsTripartite Diffie-HellmanIdentity Based Encryption

Pairings

Pairings over elliptic curves

Suppose G1 and G2 are groups of points of elliptic curves

Then pairings exist with G3 a multiplicative subgroup of a finite field

If G1 is a subgroup of Jac(E) for a E(Fq), then there exist a k ∈ N(called the embedding degree) and a self-pairing s.t. G3 is amultilpicative subgroup of Fqk

There exist classes of curves for which there is a pairing effectivelycomputable, ECCDH is hard for the curve and DDH is hard for thefinite field

Luca De Feo Elliptic Curve Cryptography

Page 82: Elliptic Curve Cryptography · 2019. 9. 12. · Cryptography based on groups Elliptic curves Elliptic curve cryptography New perspectives in ECC Discrete Logarithm Problem The Diffie-Hellman

Cryptography based on groupsElliptic curves

Elliptic curve cryptographyNew perspectives in ECC

PairingsTripartite Diffie-HellmanIdentity Based Encryption

Pairings

Pairings over elliptic curves

Suppose G1 and G2 are groups of points of elliptic curves

Then pairings exist with G3 a multiplicative subgroup of a finite field

If G1 is a subgroup of Jac(E) for a E(Fq), then there exist a k ∈ N(called the embedding degree) and a self-pairing s.t. G3 is amultilpicative subgroup of Fqk

There exist classes of curves for which there is a pairing effectivelycomputable, ECCDH is hard for the curve and DDH is hard for thefinite field

Luca De Feo Elliptic Curve Cryptography

Page 83: Elliptic Curve Cryptography · 2019. 9. 12. · Cryptography based on groups Elliptic curves Elliptic curve cryptography New perspectives in ECC Discrete Logarithm Problem The Diffie-Hellman

Cryptography based on groupsElliptic curves

Elliptic curve cryptographyNew perspectives in ECC

PairingsTripartite Diffie-HellmanIdentity Based Encryption

Pairings

Pairings over elliptic curves

Suppose G1 and G2 are groups of points of elliptic curves

Then pairings exist with G3 a multiplicative subgroup of a finite field

If G1 is a subgroup of Jac(E) for a E(Fq), then there exist a k ∈ N(called the embedding degree) and a self-pairing s.t. G3 is amultilpicative subgroup of Fqk

There exist classes of curves for which there is a pairing effectivelycomputable, ECCDH is hard for the curve and DDH is hard for thefinite field

Luca De Feo Elliptic Curve Cryptography

Page 84: Elliptic Curve Cryptography · 2019. 9. 12. · Cryptography based on groups Elliptic curves Elliptic curve cryptography New perspectives in ECC Discrete Logarithm Problem The Diffie-Hellman

Cryptography based on groupsElliptic curves

Elliptic curve cryptographyNew perspectives in ECC

PairingsTripartite Diffie-HellmanIdentity Based Encryption

Tripartite Diffie-Hellman (3DH)

G1 sugroup of E(Fq), G3 subgroup of Fqk , a self-pairing e, a generatorP of G1

select a random a

broadcast [a]P

Kabc = e([b]P, [c]P )a

select a random b

broadcast [b]P

Kabc = e([a]P, [c]P )b

select a random c

broadcast [b]P

Kabc = e([a]P, [b]P )c

Kabc = e(P, P )abc

Luca De Feo Elliptic Curve Cryptography

Page 85: Elliptic Curve Cryptography · 2019. 9. 12. · Cryptography based on groups Elliptic curves Elliptic curve cryptography New perspectives in ECC Discrete Logarithm Problem The Diffie-Hellman

Cryptography based on groupsElliptic curves

Elliptic curve cryptographyNew perspectives in ECC

PairingsTripartite Diffie-HellmanIdentity Based Encryption

Tripartite Diffie-Hellman (3DH)

G1 sugroup of E(Fq), G3 subgroup of Fqk , a self-pairing e, a generatorP of G1

select a random a

broadcast [a]P

Kabc = e([b]P, [c]P )a

select a random b

broadcast [b]P

Kabc = e([a]P, [c]P )b

select a random c

broadcast [b]P

Kabc = e([a]P, [b]P )c

Kabc = e(P, P )abc

Luca De Feo Elliptic Curve Cryptography

Page 86: Elliptic Curve Cryptography · 2019. 9. 12. · Cryptography based on groups Elliptic curves Elliptic curve cryptography New perspectives in ECC Discrete Logarithm Problem The Diffie-Hellman

Cryptography based on groupsElliptic curves

Elliptic curve cryptographyNew perspectives in ECC

PairingsTripartite Diffie-HellmanIdentity Based Encryption

Tripartite Diffie-Hellman (3DH)

G1 sugroup of E(Fq), G3 subgroup of Fqk , a self-pairing e, a generatorP of G1

select a random a

broadcast [a]P

Kabc = e([b]P, [c]P )a

select a random b

broadcast [b]P

Kabc = e([a]P, [c]P )b

select a random c

broadcast [b]P

Kabc = e([a]P, [b]P )c

Kabc = e(P, P )abc

Luca De Feo Elliptic Curve Cryptography

Page 87: Elliptic Curve Cryptography · 2019. 9. 12. · Cryptography based on groups Elliptic curves Elliptic curve cryptography New perspectives in ECC Discrete Logarithm Problem The Diffie-Hellman

Cryptography based on groupsElliptic curves

Elliptic curve cryptographyNew perspectives in ECC

PairingsTripartite Diffie-HellmanIdentity Based Encryption

Tripartite Diffie-Hellman (3DH)

G1 sugroup of E(Fq), G3 subgroup of Fqk , a self-pairing e, a generatorP of G1

select a random a

broadcast [a]P

Kabc = e([b]P, [c]P )a

select a random b

broadcast [b]P

Kabc = e([a]P, [c]P )b

select a random c

broadcast [b]P

Kabc = e([a]P, [b]P )c

Kabc = e(P, P )abc

Luca De Feo Elliptic Curve Cryptography

Page 88: Elliptic Curve Cryptography · 2019. 9. 12. · Cryptography based on groups Elliptic curves Elliptic curve cryptography New perspectives in ECC Discrete Logarithm Problem The Diffie-Hellman

Cryptography based on groupsElliptic curves

Elliptic curve cryptographyNew perspectives in ECC

PairingsTripartite Diffie-HellmanIdentity Based Encryption

Tripartite Diffie-Hellman (3DH)

G1 sugroup of E(Fq), G3 subgroup of Fqk , a self-pairing e, a generatorP of G1

select a random a

broadcast [a]P

Kabc = e([b]P, [c]P )a

select a random b

broadcast [b]P

Kabc = e([a]P, [c]P )b

select a random c

broadcast [b]P

Kabc = e([a]P, [b]P )c

Kabc = e(P, P )abc

Luca De Feo Elliptic Curve Cryptography

Page 89: Elliptic Curve Cryptography · 2019. 9. 12. · Cryptography based on groups Elliptic curves Elliptic curve cryptography New perspectives in ECC Discrete Logarithm Problem The Diffie-Hellman

Cryptography based on groupsElliptic curves

Elliptic curve cryptographyNew perspectives in ECC

PairingsTripartite Diffie-HellmanIdentity Based Encryption

Tripartite Diffie-Hellman (3DH)

G1 sugroup of E(Fq), G3 subgroup of Fqk , a self-pairing e, a generatorP of G1

select a random a

broadcast [a]P

Kabc = e([b]P, [c]P )a

select a random b

broadcast [b]P

Kabc = e([a]P, [c]P )b

select a random c

broadcast [b]P

Kabc = e([a]P, [b]P )c

Kabc = e(P, P )abc

Luca De Feo Elliptic Curve Cryptography

Page 90: Elliptic Curve Cryptography · 2019. 9. 12. · Cryptography based on groups Elliptic curves Elliptic curve cryptography New perspectives in ECC Discrete Logarithm Problem The Diffie-Hellman

Cryptography based on groupsElliptic curves

Elliptic curve cryptographyNew perspectives in ECC

PairingsTripartite Diffie-HellmanIdentity Based Encryption

Identity Based Non-Interactive Key Distribution

TrustedAuthority

A t-uple (G1, G3, e, P ), a hash function H : Σ∗ → G1

has a public IDQA = H(Alice)

KAB = e(SA, QB)

has a public IDQB = H(Bob)

KAB = e(QA, SB)

has a master secret s

gives SA = [s]QA toAlice over a privatechannel

gives SB = [s]QB toBob over a privatechannel

KAB = (QA, QB)s

Luca De Feo Elliptic Curve Cryptography

Page 91: Elliptic Curve Cryptography · 2019. 9. 12. · Cryptography based on groups Elliptic curves Elliptic curve cryptography New perspectives in ECC Discrete Logarithm Problem The Diffie-Hellman

Cryptography based on groupsElliptic curves

Elliptic curve cryptographyNew perspectives in ECC

PairingsTripartite Diffie-HellmanIdentity Based Encryption

Identity Based Non-Interactive Key Distribution

TrustedAuthority

A t-uple (G1, G3, e, P ), a hash function H : Σ∗ → G1

has a public IDQA = H(Alice)

KAB = e(SA, QB)

has a public IDQB = H(Bob)

KAB = e(QA, SB)

has a master secret s

gives SA = [s]QA toAlice over a privatechannel

gives SB = [s]QB toBob over a privatechannel

KAB = (QA, QB)s

Luca De Feo Elliptic Curve Cryptography

Page 92: Elliptic Curve Cryptography · 2019. 9. 12. · Cryptography based on groups Elliptic curves Elliptic curve cryptography New perspectives in ECC Discrete Logarithm Problem The Diffie-Hellman

Cryptography based on groupsElliptic curves

Elliptic curve cryptographyNew perspectives in ECC

PairingsTripartite Diffie-HellmanIdentity Based Encryption

Identity Based Non-Interactive Key Distribution

TrustedAuthority

A t-uple (G1, G3, e, P ), a hash function H : Σ∗ → G1

has a public IDQA = H(Alice)

KAB = e(SA, QB)

has a public IDQB = H(Bob)

KAB = e(QA, SB)

has a master secret s

gives SA = [s]QA toAlice over a privatechannel

gives SB = [s]QB toBob over a privatechannel

KAB = (QA, QB)s

Luca De Feo Elliptic Curve Cryptography

Page 93: Elliptic Curve Cryptography · 2019. 9. 12. · Cryptography based on groups Elliptic curves Elliptic curve cryptography New perspectives in ECC Discrete Logarithm Problem The Diffie-Hellman

Cryptography based on groupsElliptic curves

Elliptic curve cryptographyNew perspectives in ECC

PairingsTripartite Diffie-HellmanIdentity Based Encryption

Identity Based Non-Interactive Key Distribution

TrustedAuthority

A t-uple (G1, G3, e, P ), a hash function H : Σ∗ → G1

has a public IDQA = H(Alice)

KAB = e(SA, QB)

has a public IDQB = H(Bob)

KAB = e(QA, SB)

has a master secret s

gives SA = [s]QA toAlice over a privatechannel

gives SB = [s]QB toBob over a privatechannel

KAB = (QA, QB)s

Luca De Feo Elliptic Curve Cryptography

Page 94: Elliptic Curve Cryptography · 2019. 9. 12. · Cryptography based on groups Elliptic curves Elliptic curve cryptography New perspectives in ECC Discrete Logarithm Problem The Diffie-Hellman

Cryptography based on groupsElliptic curves

Elliptic curve cryptographyNew perspectives in ECC

PairingsTripartite Diffie-HellmanIdentity Based Encryption

Identity Based Non-Interactive Key Distribution

TrustedAuthority

A t-uple (G1, G3, e, P ), a hash function H : Σ∗ → G1

has a public IDQA = H(Alice)

KAB = e(SA, QB)

has a public IDQB = H(Bob)

KAB = e(QA, SB)

has a master secret s

gives SA = [s]QA toAlice over a privatechannel

gives SB = [s]QB toBob over a privatechannel

KAB = (QA, QB)s

Luca De Feo Elliptic Curve Cryptography

Page 95: Elliptic Curve Cryptography · 2019. 9. 12. · Cryptography based on groups Elliptic curves Elliptic curve cryptography New perspectives in ECC Discrete Logarithm Problem The Diffie-Hellman

Cryptography based on groupsElliptic curves

Elliptic curve cryptographyNew perspectives in ECC

PairingsTripartite Diffie-HellmanIdentity Based Encryption

Identity Based Non-Interactive Key Distribution

TrustedAuthority

A t-uple (G1, G3, e, P ), a hash function H : Σ∗ → G1

has a public IDQA = H(Alice)

KAB = e(SA, QB)

has a public IDQB = H(Bob)

KAB = e(QA, SB)

has a master secret s

gives SA = [s]QA toAlice over a privatechannel

gives SB = [s]QB toBob over a privatechannel

KAB = (QA, QB)s

Luca De Feo Elliptic Curve Cryptography

Page 96: Elliptic Curve Cryptography · 2019. 9. 12. · Cryptography based on groups Elliptic curves Elliptic curve cryptography New perspectives in ECC Discrete Logarithm Problem The Diffie-Hellman

Cryptography based on groupsElliptic curves

Elliptic curve cryptographyNew perspectives in ECC

PairingsTripartite Diffie-HellmanIdentity Based Encryption

Identity Based Non-Interactive Key Distribution

TrustedAuthority

A t-uple (G1, G3, e, P ), a hash function H : Σ∗ → G1

has a public IDQA = H(Alice)

KAB = e(SA, QB)

has a public IDQB = H(Bob)

KAB = e(QA, SB)

has a master secret s

gives SA = [s]QA toAlice over a privatechannel

gives SB = [s]QB toBob over a privatechannel

KAB = (QA, QB)s

Luca De Feo Elliptic Curve Cryptography

Page 97: Elliptic Curve Cryptography · 2019. 9. 12. · Cryptography based on groups Elliptic curves Elliptic curve cryptography New perspectives in ECC Discrete Logarithm Problem The Diffie-Hellman

Cryptography based on groupsElliptic curves

Elliptic curve cryptographyNew perspectives in ECC

PairingsTripartite Diffie-HellmanIdentity Based Encryption

Identity Based Non-Interactive Key Distribution

TrustedAuthority

A t-uple (G1, G3, e, P ), a hash function H : Σ∗ → G1

has a public IDQA = H(Alice)

KAB = e(SA, QB)

has a public IDQB = H(Bob)

KAB = e(QA, SB)

has a master secret s

gives SA = [s]QA toAlice over a privatechannel

gives SB = [s]QB toBob over a privatechannel

KAB = (QA, QB)s

Luca De Feo Elliptic Curve Cryptography

Page 98: Elliptic Curve Cryptography · 2019. 9. 12. · Cryptography based on groups Elliptic curves Elliptic curve cryptography New perspectives in ECC Discrete Logarithm Problem The Diffie-Hellman

Cryptography based on groupsElliptic curves

Elliptic curve cryptographyNew perspectives in ECC

PairingsTripartite Diffie-HellmanIdentity Based Encryption

Identity Based Encryption

TrustedAuthority

(G1, G3, e, P ), hash functions H1 : Σ∗ → G1 and H2 : G3 → {0, 1}n

has a public IDQA = H(Alice)

M =V ⊕H2(e(SA, U))

a message M

select a random t

U = [t]P

V =M ⊕H2(e(QA, Q0)t)

(U, V )←−−−−−−−

has a master secret s

has a public keyQ0 = [s]P

gives SA = [s]QA toAlice over a privatechannel

Luca De Feo Elliptic Curve Cryptography

Page 99: Elliptic Curve Cryptography · 2019. 9. 12. · Cryptography based on groups Elliptic curves Elliptic curve cryptography New perspectives in ECC Discrete Logarithm Problem The Diffie-Hellman

Cryptography based on groupsElliptic curves

Elliptic curve cryptographyNew perspectives in ECC

PairingsTripartite Diffie-HellmanIdentity Based Encryption

Identity Based Encryption

TrustedAuthority

(G1, G3, e, P ), hash functions H1 : Σ∗ → G1 and H2 : G3 → {0, 1}n

has a public IDQA = H(Alice)

M =V ⊕H2(e(SA, U))

a message M

select a random t

U = [t]P

V =M ⊕H2(e(QA, Q0)t)

(U, V )←−−−−−−−

has a master secret s

has a public keyQ0 = [s]P

gives SA = [s]QA toAlice over a privatechannel

Luca De Feo Elliptic Curve Cryptography

Page 100: Elliptic Curve Cryptography · 2019. 9. 12. · Cryptography based on groups Elliptic curves Elliptic curve cryptography New perspectives in ECC Discrete Logarithm Problem The Diffie-Hellman

Cryptography based on groupsElliptic curves

Elliptic curve cryptographyNew perspectives in ECC

PairingsTripartite Diffie-HellmanIdentity Based Encryption

Identity Based Encryption

TrustedAuthority

(G1, G3, e, P ), hash functions H1 : Σ∗ → G1 and H2 : G3 → {0, 1}n

has a public IDQA = H(Alice)

M =V ⊕H2(e(SA, U))

a message M

select a random t

U = [t]P

V =M ⊕H2(e(QA, Q0)t)

(U, V )←−−−−−−−

has a master secret s

has a public keyQ0 = [s]P

gives SA = [s]QA toAlice over a privatechannel

Luca De Feo Elliptic Curve Cryptography

Page 101: Elliptic Curve Cryptography · 2019. 9. 12. · Cryptography based on groups Elliptic curves Elliptic curve cryptography New perspectives in ECC Discrete Logarithm Problem The Diffie-Hellman

Cryptography based on groupsElliptic curves

Elliptic curve cryptographyNew perspectives in ECC

PairingsTripartite Diffie-HellmanIdentity Based Encryption

Identity Based Encryption

TrustedAuthority

(G1, G3, e, P ), hash functions H1 : Σ∗ → G1 and H2 : G3 → {0, 1}n

has a public IDQA = H(Alice)

M =V ⊕H2(e(SA, U))

a message M

select a random t

U = [t]P

V =M ⊕H2(e(QA, Q0)t)

(U, V )←−−−−−−−

has a master secret s

has a public keyQ0 = [s]P

gives SA = [s]QA toAlice over a privatechannel

Luca De Feo Elliptic Curve Cryptography

Page 102: Elliptic Curve Cryptography · 2019. 9. 12. · Cryptography based on groups Elliptic curves Elliptic curve cryptography New perspectives in ECC Discrete Logarithm Problem The Diffie-Hellman

Cryptography based on groupsElliptic curves

Elliptic curve cryptographyNew perspectives in ECC

PairingsTripartite Diffie-HellmanIdentity Based Encryption

Identity Based Encryption

TrustedAuthority

(G1, G3, e, P ), hash functions H1 : Σ∗ → G1 and H2 : G3 → {0, 1}n

has a public IDQA = H(Alice)

M =V ⊕H2(e(SA, U))

a message M

select a random t

U = [t]P

V =M ⊕H2(e(QA, Q0)t)

(U, V )←−−−−−−−

has a master secret s

has a public keyQ0 = [s]P

gives SA = [s]QA toAlice over a privatechannel

Luca De Feo Elliptic Curve Cryptography

Page 103: Elliptic Curve Cryptography · 2019. 9. 12. · Cryptography based on groups Elliptic curves Elliptic curve cryptography New perspectives in ECC Discrete Logarithm Problem The Diffie-Hellman

Cryptography based on groupsElliptic curves

Elliptic curve cryptographyNew perspectives in ECC

PairingsTripartite Diffie-HellmanIdentity Based Encryption

Identity Based Encryption

TrustedAuthority

(G1, G3, e, P ), hash functions H1 : Σ∗ → G1 and H2 : G3 → {0, 1}n

has a public IDQA = H(Alice)

M =V ⊕H2(e(SA, U))

a message M

select a random t

U = [t]P

V =M ⊕H2(e(QA, Q0)t)

(U, V )←−−−−−−−

has a master secret s

has a public keyQ0 = [s]P

gives SA = [s]QA toAlice over a privatechannel

Luca De Feo Elliptic Curve Cryptography

Page 104: Elliptic Curve Cryptography · 2019. 9. 12. · Cryptography based on groups Elliptic curves Elliptic curve cryptography New perspectives in ECC Discrete Logarithm Problem The Diffie-Hellman

Cryptography based on groupsElliptic curves

Elliptic curve cryptographyNew perspectives in ECC

PairingsTripartite Diffie-HellmanIdentity Based Encryption

Identity Based Encryption

TrustedAuthority

(G1, G3, e, P ), hash functions H1 : Σ∗ → G1 and H2 : G3 → {0, 1}n

has a public IDQA = H(Alice)

M =V ⊕H2(e(SA, U))

a message M

select a random t

U = [t]P

V =M ⊕H2(e(QA, Q0)t)

(U, V )←−−−−−−−

has a master secret s

has a public keyQ0 = [s]P

gives SA = [s]QA toAlice over a privatechannel

Luca De Feo Elliptic Curve Cryptography

Page 105: Elliptic Curve Cryptography · 2019. 9. 12. · Cryptography based on groups Elliptic curves Elliptic curve cryptography New perspectives in ECC Discrete Logarithm Problem The Diffie-Hellman

Cryptography based on groupsElliptic curves

Elliptic curve cryptographyNew perspectives in ECC

PairingsTripartite Diffie-HellmanIdentity Based Encryption

Identity Based Encryption

TrustedAuthority

(G1, G3, e, P ), hash functions H1 : Σ∗ → G1 and H2 : G3 → {0, 1}n

has a public IDQA = H(Alice)

M =V ⊕H2(e(SA, U))

a message M

select a random t

U = [t]P

V =M ⊕H2(e(QA, Q0)t)

(U, V )←−−−−−−−

has a master secret s

has a public keyQ0 = [s]P

gives SA = [s]QA toAlice over a privatechannel

Luca De Feo Elliptic Curve Cryptography

Page 106: Elliptic Curve Cryptography · 2019. 9. 12. · Cryptography based on groups Elliptic curves Elliptic curve cryptography New perspectives in ECC Discrete Logarithm Problem The Diffie-Hellman

Cryptography based on groupsElliptic curves

Elliptic curve cryptographyNew perspectives in ECC

PairingsTripartite Diffie-HellmanIdentity Based Encryption

Identity Based Encryption

TrustedAuthority

(G1, G3, e, P ), hash functions H1 : Σ∗ → G1 and H2 : G3 → {0, 1}n

has a public IDQA = H(Alice)

M =V ⊕H2(e(SA, U))

a message M

select a random t

U = [t]P

V =M ⊕H2(e(QA, Q0)t)

(U, V )←−−−−−−−

has a master secret s

has a public keyQ0 = [s]P

gives SA = [s]QA toAlice over a privatechannel

Luca De Feo Elliptic Curve Cryptography

Page 107: Elliptic Curve Cryptography · 2019. 9. 12. · Cryptography based on groups Elliptic curves Elliptic curve cryptography New perspectives in ECC Discrete Logarithm Problem The Diffie-Hellman

Cryptography based on groupsElliptic curves

Elliptic curve cryptographyNew perspectives in ECC

PairingsTripartite Diffie-HellmanIdentity Based Encryption

Identity Based Encryption

TrustedAuthority

(G1, G3, e, P ), hash functions H1 : Σ∗ → G1 and H2 : G3 → {0, 1}n

has a public IDQA = H(Alice)

M =V ⊕H2(e(SA, U))

a message M

select a random t

U = [t]P

V =M ⊕H2(e(QA, Q0)t)

(U, V )←−−−−−−−

has a master secret s

has a public keyQ0 = [s]P

gives SA = [s]QA toAlice over a privatechannel

Luca De Feo Elliptic Curve Cryptography

Page 108: Elliptic Curve Cryptography · 2019. 9. 12. · Cryptography based on groups Elliptic curves Elliptic curve cryptography New perspectives in ECC Discrete Logarithm Problem The Diffie-Hellman

Bibliography

Bibliography I

J.H. SilvermanThe Arithmetic of Elliptic CurvesGTM 106, Springer-Verlag, 1986

I. Blake, G. Seroussi & N. SmartElliptic Curves in CryptographyLMS 265, Cambridge University Press, 1999

(edited by) I. Blake, G. Seroussi & N. SmartAdvances in Elliptic Curve CryptographyLMS 317, Cambridge University Press, 2005

Luca De Feo Elliptic Curve Cryptography


Recommended