Reductions of Problems related to Discrete Logarithms · PDF fileI Use DH-oracle and square...

38
The Problems Elliptic Curves Reductions Pairings and inversion Reductions of Problems related to Discrete Logarithms Frederik Vercauteren ESAT/COSIC - K.U. Leuven Frederik Vercauteren ESAT/COSIC - K.U. Leuven Reductions of Problems related to Discrete Logarithms

Transcript of Reductions of Problems related to Discrete Logarithms · PDF fileI Use DH-oracle and square...

The ProblemsElliptic Curves

ReductionsPairings and inversion

Reductions of Problems related to DiscreteLogarithms

Frederik VercauterenESAT/COSIC - K.U. Leuven

Frederik Vercauteren ESAT/COSIC - K.U. Leuven Reductions of Problems related to Discrete Logarithms

The ProblemsElliptic Curves

ReductionsPairings and inversion

The Problems

Elliptic Curves

Reductions

Pairings and inversion

Frederik Vercauteren ESAT/COSIC - K.U. Leuven Reductions of Problems related to Discrete Logarithms

The ProblemsElliptic Curves

ReductionsPairings and inversion

Outline

The Problems

Elliptic Curves

Reductions

Pairings and inversion

Frederik Vercauteren ESAT/COSIC - K.U. Leuven Reductions of Problems related to Discrete Logarithms

The ProblemsElliptic Curves

ReductionsPairings and inversion

DLP, CDH & DDH

I Let (G, ·) be a finite cyclic group G = 〈g〉 of order |G|I Discrete Logarithm Problem (DLP) :

Given h ∈ G find x with h = gx (DLP(g,h) → x)

I Computational Diffie-Hellman Problem (CDH) :Given a = gx and b = gy find c = gxy (CDH(g,a,b) → c).

I Decisional Diffie-Hellman Problem (DDH) :Given a = gx , b = gy and c = gz , determine if

gxy = gz or equivalently xy ≡ z mod |G|

(DDH(g,a,b, c) → true/false)

Frederik Vercauteren ESAT/COSIC - K.U. Leuven Reductions of Problems related to Discrete Logarithms

The ProblemsElliptic Curves

ReductionsPairings and inversion

DLP & CRT

I Mostly called Pohlig-Hellman algorithm . . .I Let |G| =

∏ri=0 pei

i , then can compute DLP using CRT byprojection onto subgroups of order pi

I If h = gx , the can compute xi,0 ≡ x mod pi by solving

h|G|/pi =(

g|G|/pi)xi,0

I Write x ≡∑ei

j=0 xi,jpji mod pei

i , then can compute xi,k via

(h · g−(xi,0+···+xi,k−1pk−1

i ))|G|/pk+1

i=

(g|G|/pi

)xi,k

Frederik Vercauteren ESAT/COSIC - K.U. Leuven Reductions of Problems related to Discrete Logarithms

The ProblemsElliptic Curves

ReductionsPairings and inversion

DLP & CRT

I DLP in subgroups of order pi via exhaustive searchI Complexity then is in group operations

O(∑

ei(log |G|+ pi))

I If G is B-smooth, i.e. all pi ≤ B then

O(log |G|2 +B

log Blog |G|)

I If |G| is smooth, then DLP is easy

Frederik Vercauteren ESAT/COSIC - K.U. Leuven Reductions of Problems related to Discrete Logarithms

The ProblemsElliptic Curves

ReductionsPairings and inversion

Reductions

I Let A and B be two computational problems. Then A issaid to polytime reduce to B, written A ≤P B if

I There is an algorithm which solves A using an algorithmwhich solves B.

I This algorithm runs in polynomial time if the algorithm for Bdoes.

I Assume we have an oracle (or efficient algorithm) to solveproblem B.

I We then use this oracle to give an efficient algorithm forproblem A.

Frederik Vercauteren ESAT/COSIC - K.U. Leuven Reductions of Problems related to Discrete Logarithms

The ProblemsElliptic Curves

ReductionsPairings and inversion

Trivial Reduction I: CDH ≤P DLP

I Given gx and gy we wish to find gxy .I First compute y = DLP(g,gy ) using the oracle.I Then compute (gx)y = gxy .I So CDH is no harder than DLP, i.e. CDH ≤P DLP.

Frederik Vercauteren ESAT/COSIC - K.U. Leuven Reductions of Problems related to Discrete Logarithms

The ProblemsElliptic Curves

ReductionsPairings and inversion

Trivial Reduction II: DDH ≤P CDH

I Given elements gx , gy and gz , determine if gz = gxy .I Using the oracle to solve CDH, compute

gxy = CDH(g,gx ,gy ).

I Then check whether gxy = gz .I So DDH is no harder than CDH, i.e. DDH ≤P CDH.

Frederik Vercauteren ESAT/COSIC - K.U. Leuven Reductions of Problems related to Discrete Logarithms

The ProblemsElliptic Curves

ReductionsPairings and inversion

Trivial Reduction III: I-DHP ≤P CDH

I-DHP: given g,gx compute gx−1, where x−1 is computed

modulo |G|.I I-DHP ≤P CDH with log2 n DH-calls:I Recall: x−1 ≡ xϕ(|G|)−1 mod |G|I Use DH-oracle and square and multiplyI CDH(g,gx ,gx) = gx2

and CDH(g,gxs,gx t

) = gxs+t

Alternatively:I I-DHP ≤P CDH with one DH call:I Let h = gx , then g = hx−1

, so

DHP(h,g,g) = hx−1·x−1= gx−1

Frederik Vercauteren ESAT/COSIC - K.U. Leuven Reductions of Problems related to Discrete Logarithms

The ProblemsElliptic Curves

ReductionsPairings and inversion

Reductions: DLP ≤P CDH

I Assume first that |G| = q a prime.I Implicit representations (i.e. computing in exponent):

Explicit Implicitx gx

y gy

x + y mod q gx · gy

x · y mod q CDH(g,gx ,gy )

I CDH-oracle enables us to compute implicitly over Fq,+, ·or an algebraic group H defined over Fq.

Frederik Vercauteren ESAT/COSIC - K.U. Leuven Reductions of Problems related to Discrete Logarithms

The ProblemsElliptic Curves

ReductionsPairings and inversion

Crazy idea I: DLP ≤P CDH by den Boer

I Assume that q − 1 is smooth, so DLP in F∗q is easy

I Since x is determined modulo q, we can write

x ≡ αs mod q

for α a generator modulo qI Goal: compute s instead of xI Using Pohlig-Hellman + exhaustive search in the exponentI Limitation: q − 1 smooth

Frederik Vercauteren ESAT/COSIC - K.U. Leuven Reductions of Problems related to Discrete Logarithms

The ProblemsElliptic Curves

ReductionsPairings and inversion

Crazy idea II: DLP ≤P CDH by Maurer-Wolf

I den Boer: only one choice F∗q for each q

I Maurer-Wolf: DH-oracle combined with other auxiliarygroups H over Fq

I Works as long as x or x + e for some known e can be usedas “coordinate” of element in H (strongly algebraic group)

I Embed x in element β of HI Compute log s of β wrt known generator α ∈ HI Recover β and thus x by computing αs

Frederik Vercauteren ESAT/COSIC - K.U. Leuven Reductions of Problems related to Discrete Logarithms

The ProblemsElliptic Curves

ReductionsPairings and inversion

Outline

The Problems

Elliptic Curves

Reductions

Pairings and inversion

Frederik Vercauteren ESAT/COSIC - K.U. Leuven Reductions of Problems related to Discrete Logarithms

The ProblemsElliptic Curves

ReductionsPairings and inversion

Elliptic Curves

I Let Fq,+, · be a finite field with q > 3 a large prime.I Elliptic curve E over field Fq is defined by

y2 = x3 + ax + b a,b ∈ Fq

I The set of Fq-rational points E(Fq) is defined as

E(Fq) = {(x , y) ∈ Fq × Fq | y2 = x3 + ax + b} ∪ {O}

I O is called point at infinity

There exists an addition law on E and the set E(Fq) is a group

Frederik Vercauteren ESAT/COSIC - K.U. Leuven Reductions of Problems related to Discrete Logarithms

The ProblemsElliptic Curves

ReductionsPairings and inversion

Addition Law on Elliptic Curves

−6 −4 −2 0 2 4 6

−4

−2

0

2

4

P ⊕ Q

QP

R

L′

L

−6 −4 −2 0 2 4 6

−4

−2

0

2

4

2P

P

L′

L

R

Adding two points Doubling a pointy2 = x3 − 7x + 6

Frederik Vercauteren ESAT/COSIC - K.U. Leuven Reductions of Problems related to Discrete Logarithms

The ProblemsElliptic Curves

ReductionsPairings and inversion

Addition Law on Elliptic CurvesBy definition: three points on a line sum to zero!

Let P1 ⊕ P2 = P3, with Pi = (xi , yi) ∈ EI If x1 = x2 and y1 + y2 = 0, then P1 ⊕ P2 = O,I Else

x1 6= x2

{λ = (y2 − y1)/(x2 − x1)ν = (y1x2 − y2x1)/(x2 − x1)

x1 = x2

{λ = (3x2

1 + a)/2y1

ν = (−x31 + ax1 + 2b)/2y1

The point P3 = P1 ⊕ P2 is given by

x3 = λ2 − x1 − x2

y3 = −λx3 − ν

Frederik Vercauteren ESAT/COSIC - K.U. Leuven Reductions of Problems related to Discrete Logarithms

The ProblemsElliptic Curves

ReductionsPairings and inversion

Elliptic Curves over Finite Fields

�������������� ������������������������������������ ����������������

���

���

���

���

���

��

���

���

��

���

���

���

���

The elliptic curve y2 = x3 + x + 3 mod23

Frederik Vercauteren ESAT/COSIC - K.U. Leuven Reductions of Problems related to Discrete Logarithms

The ProblemsElliptic Curves

ReductionsPairings and inversion

Number of Points on Elliptic Curve

I With probability 1/2 we have x3 + ax + b is square in Fq, ·and then 2 solutions.

I Expect to find roughly p solutions . . .I Theorem (Hasse):

#E(Fq) = q + 1− t with |t | ≤ 2√

p .

I Ruck: for every n ∈ [q + 1− 2√

q,q + 1 + 2√

q] existscyclic elliptic curve over Fq of order n

Frederik Vercauteren ESAT/COSIC - K.U. Leuven Reductions of Problems related to Discrete Logarithms

The ProblemsElliptic Curves

ReductionsPairings and inversion

Outline

The Problems

Elliptic Curves

Reductions

Pairings and inversion

Frederik Vercauteren ESAT/COSIC - K.U. Leuven Reductions of Problems related to Discrete Logarithms

The ProblemsElliptic Curves

ReductionsPairings and inversion

Crazy idea II: DLP ≤P CDH by Maurer-Wolf

I Auxiliary group = elliptic curveI Find E/Fq with |E(Fq)| smooth and E(Fq) cyclicI Let E(Fq) = 〈P〉 with P = (u, v)

I By calling DH-oracle, find e such that

R = (x + e)3 + a(x + e) + b

is square in F∗q

I Can be tested by computing R(q−1)/2 in exponentI Construct point Q = (x + e, y) in implicit representationI Compute dlog s of Q wrt P in implicit representationI Recover Q by computing [s]P and thus x + e = x(Q)

Frederik Vercauteren ESAT/COSIC - K.U. Leuven Reductions of Problems related to Discrete Logarithms

The ProblemsElliptic Curves

ReductionsPairings and inversion

Reductions: DLP ≤P CDH by Maurer-Wolf

I Let G be finite cyclic group with |G| = qI Given elliptic curve E(Fq) with B-smooth |E(Fq)|, i.e. all

prime factors pi | |E(Fq)| are pi < B.I Given a DH oracle for G, then can compute DLP in G using

I O( (log q)2

log B ) calls to the DH oracle for G

I O( Blog B (log q)2) field operations in Fq

Frederik Vercauteren ESAT/COSIC - K.U. Leuven Reductions of Problems related to Discrete Logarithms

The ProblemsElliptic Curves

ReductionsPairings and inversion

Reductions: DLP ≤P CDH by Maurer-Wolf

I To obtain polynomial equivalence, need curve with verysmooth order

I Let ν(q) be minimum of largest prime factor of all integersn in the interval

[q + 1− 2√

q,q + 1 + 2√

q]

I Ruck: exists elliptic curve E/Fq with |E(Fq)| ν(q)-smoothI Not much is known about smoothness in short intervalsI However: for every u, number of n1/u smooth integers < n

nu(1+o(u))u

Frederik Vercauteren ESAT/COSIC - K.U. Leuven Reductions of Problems related to Discrete Logarithms

The ProblemsElliptic Curves

ReductionsPairings and inversion

Reductions: DLP ≤P CDH by Maurer-Wolf

I Smoothness assumption: ν(q) is log(q)O(1)

I Conclusion: for all groups G of prime order q, there existsan elliptic curve E/Fq such that DLP ≤P CDH

I Practice: not really need polynomial time equivalence,weaker result is already sufficient

I Idea: DLP well studied problem, so complexity wellunderstood

I Example: DLP in E/Fp prime order q requires O(√

q)

Frederik Vercauteren ESAT/COSIC - K.U. Leuven Reductions of Problems related to Discrete Logarithms

The ProblemsElliptic Curves

ReductionsPairings and inversion

Hardness of EC-CDH

I Maurer-Wolf implies CDLP ≤ NDH · CCDH + NMuls, thus

CCDH ≥ CDLP − NMuls

NDH

I Given auxiliary curve E ′/Fq with |E ′(Fq)| = p1p2p3 andpi ' q1/3, then best algorithm to solve CDH takes

O(

√q

(log q)2 )

Frederik Vercauteren ESAT/COSIC - K.U. Leuven Reductions of Problems related to Discrete Logarithms

The ProblemsElliptic Curves

ReductionsPairings and inversion

Outline

The Problems

Elliptic Curves

Reductions

Pairings and inversion

Frederik Vercauteren ESAT/COSIC - K.U. Leuven Reductions of Problems related to Discrete Logarithms

The ProblemsElliptic Curves

ReductionsPairings and inversion

Reductions: CDH ≤P DDH?

I Computational Diffie-Hellman Problem (CDH) :Given a = gx and b = gy find c = gxy (CDH(g,a,b) → c).

I Decisional Diffie-Hellman Problem (DDH) :Given a = gx , b = gy and c = gz , determine if

gxy = gz or equivalently xy ≡ z mod |G|

(DDH(g,a,b, c) → true/false)I Already shown that DDH ≤P CDHI Can we prove that CDH ≤P DDH?

Frederik Vercauteren ESAT/COSIC - K.U. Leuven Reductions of Problems related to Discrete Logarithms

The ProblemsElliptic Curves

ReductionsPairings and inversion

Reductions: CDH ≤P DDH?

I No, since exist groups where DDH is easy, but not CDHI Take E/Fq supersingular elliptic curve and r | |E(Fq)|, then

exists bilinear map (aka pairing)

e : E(Fq)[r ]× E(Fq)[r ] → µr : (P,Q) 7→ e(P,Q)

I Can prove that µr ⊂ Fq6 and map can be computed inpolynomial time

I To solve DDH in E(Fq)[r ] given (P, xP, yP, zP) simply

e(P, zP) = e(xP, yP)

Frederik Vercauteren ESAT/COSIC - K.U. Leuven Reductions of Problems related to Discrete Logarithms

The ProblemsElliptic Curves

ReductionsPairings and inversion

Pairing Inversion

I Suppose need to solve CDH in E(Fq)[r ], i.e. given xP, yPcompute xyP

I Using pairing, compute e(P,P)xy = solution to CDH but inwrong group!

I If efficiently computable isomorphism φ : µr → E(Fq)[r ]exists, with φ(e(P,P)) = P, then φ(e(xP, yP)) = xyP

I Inverse of isomorphisms e(·,P) or e(P, ·)I How hard is pairing inversion?

Frederik Vercauteren ESAT/COSIC - K.U. Leuven Reductions of Problems related to Discrete Logarithms

The ProblemsElliptic Curves

ReductionsPairings and inversion

Pairing Inversion

I Satoh: hardness result for polynomial expressionsI Let E be an ordinary elliptic curve over Fp, with r |E(Fp)

I Given any isomorphism φ : µr → E(Fp)[r ], the polynomialP ∈ Fp[z] with

P(γ) = x(φ(γ)) for γ ∈ µr \ {1}

satisfies:I deg P = (r − 1)/5 (always)I for 58% of pairs (E , r), none of the coefficients of P

vanishes

Frederik Vercauteren ESAT/COSIC - K.U. Leuven Reductions of Problems related to Discrete Logarithms

The ProblemsElliptic Curves

ReductionsPairings and inversion

Pairing Inversion

I Pairings can have extremely simple form.I Let E : y2 = x3 + 4 over Fp with p = 41761713112311845269, then

t = −1, r = 715827883, k = 31 and D = −3.I Let y − λ(Q)x − ν(Q) with λ = 3x2

Q/(2yQ) andν = (−x3

Q + 8)/(2yQ) be the tangent at Q.I The function

(Q,P) 7→(yP − λ(Q)xP − ν(Q)

)(pk−1)/r

defines a non-degenerate pairing on G2 ×G1.I Pairing inversion = inverting exponentiation (pk − 1)/r

Frederik Vercauteren ESAT/COSIC - K.U. Leuven Reductions of Problems related to Discrete Logarithms

The ProblemsElliptic Curves

ReductionsPairings and inversion

Hidden Root Problem

I Let Fq be a finite field and x ∈ Fq secretI Fix n a positive integer with n|(q − 1)

I Oracle: input (a,b) ∈ F2q returns

ξa,b = (ax + b)n

I Goal: recover x by querying oracleI Let s = (q − 1)/n, then for each query obtain log2 s bits

informationI After roughly logs q queries, unique solution xI Example: Legendre symbol n = (q − 1)/2 and s = 2

Frederik Vercauteren ESAT/COSIC - K.U. Leuven Reductions of Problems related to Discrete Logarithms

The ProblemsElliptic Curves

ReductionsPairings and inversion

Hidden Root Problem over Extension Fields

I Let q = pk for prime some prime p and k > 1I Fix representation Fpk = Fp[θ]/(f (θ)) where f ∈ Fp[x ] is an

irreducible polynomial of degree kI Consider the map

ψ : Fpk → (Fp)k : a =k−1∑i=0

aiθi 7→ [a0, . . . ,ak−1]

I Since p-th powering linear operation, can easily computematrix F such that ψ(ap) = Fψ(a)t

Frederik Vercauteren ESAT/COSIC - K.U. Leuven Reductions of Problems related to Discrete Logarithms

The ProblemsElliptic Curves

ReductionsPairings and inversion

Hidden Root Problem over Extension Fields

I Write exponent n as n =∑k−1

i=0 cipi −∑k−1

i=0 dipi whereci ,di ∈ N≥0.

I Each equation ξa,b = (ax + b)n then leads to

k−1∏i=0

(apixpi

+ bpi)ci = ξa,b

k−1∏i=0

(apixpi

+ bpi)di .

I System of k non-linear equations in k unknowns of degree

D = max{k−1∑i=0

ci ,

k−1∑i=0

di}

Frederik Vercauteren ESAT/COSIC - K.U. Leuven Reductions of Problems related to Discrete Logarithms

The ProblemsElliptic Curves

ReductionsPairings and inversion

Hidden Root Problem over Extension Fields

I Can be solved in time (D + k

D

with ω ≤ 3 time for matrix multiplication exponent.I For tiny D this is doable in practiceI Very few n have tiny DI Crucial observation: no need to work with n itself, can also

use a multiple of n (but not of pk − 1)

Frederik Vercauteren ESAT/COSIC - K.U. Leuven Reductions of Problems related to Discrete Logarithms

The ProblemsElliptic Curves

ReductionsPairings and inversion

Hidden Root Problem over Extension Fields

I Howto automagically find best multiple of n?I Consider lattice L ⊂ Zk spanned by the rows

L :=

n 0 0 · · · 0−p 1 0 · · · 0−p2 0 1 · · · 0

......

. . .−pk−1 0 . . . 0 1

.

I V ∈ L corresponds to multiple < V , [1,p, · · · ,pk−1] >

I Shortest vector in L gives best possible multiple

Frederik Vercauteren ESAT/COSIC - K.U. Leuven Reductions of Problems related to Discrete Logarithms

The ProblemsElliptic Curves

ReductionsPairings and inversion

Hidden Root Problem over Extension Fields

I Algorithm works well for all divisors of (pk − 1)/Φk (p)

I Φk is k -th cyclotomic polynomialI Unfortunately, does not include exponent appearing in

extremely simple pairingI Possible to define pairing of the form

e : G2 ×G1 → µr : (Q,P) 7→ fS,Q(P)(pk−1)/Φk (p)

but then function fS,Q too complicated (roughly degree r )

Frederik Vercauteren ESAT/COSIC - K.U. Leuven Reductions of Problems related to Discrete Logarithms

The ProblemsElliptic Curves

ReductionsPairings and inversion

Conclusions

I Maurer-Wolf: CDH ≡P DLP when given good auxiliaryelliptic curves

I Practice: obtain bounds on hardness of CDH using easy tofind curves

I DDH <P CDH in groups with bilinear pairingI Pairing inversion would give easy CDH and thus DLPI So far: only negative results . . .

Frederik Vercauteren ESAT/COSIC - K.U. Leuven Reductions of Problems related to Discrete Logarithms