Christophe Petit - PKC2016 - Prime ECDLP 1
Algebraic approaches for the Elliptic Curve Discrete Logarithm Problem
- ver Prime Fields
Algebraic approaches for the Elliptic Curve Discrete Logarithm - - PowerPoint PPT Presentation
Algebraic approaches for the Elliptic Curve Discrete Logarithm Problem over Prime Fields Christophe Petit, Michiel Kosters, Ange Messeng University of Oxford, University of California Irvine, University of Passau Christophe Petit - PKC2016 -
Christophe Petit - PKC2016 - Prime ECDLP 1
Christophe Petit - PKC2016 - Prime ECDLP 2
◮ Elliptic Curve Discrete Logarithm Problem (ECDLP)
◮ In practice K is a prime field, a binary field with prime
Christophe Petit - PKC2016 - Prime ECDLP 2
◮ Elliptic Curve Discrete Logarithm Problem (ECDLP)
◮ In practice K is a prime field, a binary field with prime
◮ Elliptic Curve Cryptography secure ⇒ ECDLP hard
Christophe Petit - PKC2016 - Prime ECDLP 3
◮ Can apply generic attacks
Christophe Petit - PKC2016 - Prime ECDLP 3
◮ Can apply generic attacks ◮ For exceptional parameters, can reduce it to another
◮ Anomalous attack ◮ Reduction to finite field DLP using pairings ◮ Reduction to a hyperelliptic curve DLP
Christophe Petit - PKC2016 - Prime ECDLP 3
◮ Can apply generic attacks ◮ For exceptional parameters, can reduce it to another
◮ Anomalous attack ◮ Reduction to finite field DLP using pairings ◮ Reduction to a hyperelliptic curve DLP ◮ Index calculus approaches being developed since 2004,
Christophe Petit - PKC2016 - Prime ECDLP 3
◮ Can apply generic attacks ◮ For exceptional parameters, can reduce it to another
◮ Anomalous attack ◮ Reduction to finite field DLP using pairings ◮ Reduction to a hyperelliptic curve DLP ◮ Index calculus approaches being developed since 2004,
◮ Our goal : extend previous index calculus algorithms
Christophe Petit - PKC2016 - Prime ECDLP 4
Christophe Petit - PKC2016 - Prime ECDLP 5
Christophe Petit - PKC2016 - Prime ECDLP 6
Christophe Petit - PKC2016 - Prime ECDLP 6
Christophe Petit - PKC2016 - Prime ECDLP 6
Christophe Petit - PKC2016 - Prime ECDLP 7
◮ Semaev polynomials relate the x-coordinates of points
◮ Relation search ◮ Compute (X, Y ) := aP + bQ for random a, b ◮ Search for xi ∈ V with Sm+1(x1, . . . , xm, X) = 0 ◮ For any such solution, find corresponding yi values
Christophe Petit - PKC2016 - Prime ECDLP 8
◮ Semaev ◮ K = Fp and V contains all “small” elements ◮ No algorithm to solve Sm+1
Christophe Petit - PKC2016 - Prime ECDLP 8
◮ Semaev ◮ K = Fp and V contains all “small” elements ◮ No algorithm to solve Sm+1 ◮ Gaudry-Diem ◮ K = Fqn and V = Fq ◮ Reduction to polynomial system over Fq ◮ Generic bounds give Lqn(2/3) complexity if q = Lqn(2/3)
Christophe Petit - PKC2016 - Prime ECDLP 8
◮ Semaev ◮ K = Fp and V contains all “small” elements ◮ No algorithm to solve Sm+1 ◮ Gaudry-Diem ◮ K = Fqn and V = Fq ◮ Reduction to polynomial system over Fq ◮ Generic bounds give Lqn(2/3) complexity if q = Lqn(2/3) ◮ Diem, FPPR, P-Quisquater ◮ K = F2n and V a vector space of K over F2 ◮ Reduction to polynomial system over F2 ◮ Experiments suggest system “somewhat easy”
Christophe Petit - PKC2016 - Prime ECDLP 9
◮ For each relation solve a generalized root-finding problem
Christophe Petit - PKC2016 - Prime ECDLP 9
◮ For each relation solve a generalized root-finding problem
◮ Solved by Weil Descent : reduction to polynomial system ◮ Fix a basis for V over Fq ◮ Introduce variables xij ∈ Fq with xi =
j xijvj
◮ See single equation f
j xmjvj
Christophe Petit - PKC2016 - Prime ECDLP 10
◮ Fields with q = Lqn(2/3) are not used in practice
Christophe Petit - PKC2016 - Prime ECDLP 10
◮ Fields with q = Lqn(2/3) are not used in practice ◮ In binary case asymptotic complexity is not clear,
Christophe Petit - PKC2016 - Prime ECDLP 10
◮ Fields with q = Lqn(2/3) are not used in practice ◮ In binary case asymptotic complexity is not clear,
◮ Not clear how to extend to prime fields : no subspace
Christophe Petit - PKC2016 - Prime ECDLP 11
Christophe Petit - PKC2016 - Prime ECDLP 12
◮ Find low degree rational maps Lj such that
◮ Define V = {x ∈ Fp | L(x) = 0} ◮ Define F = {(x, y) ∈ E(K) | x ∈ V }
Christophe Petit - PKC2016 - Prime ECDLP 12
◮ Find low degree rational maps Lj such that
◮ Define V = {x ∈ Fp | L(x) = 0} ◮ Define F = {(x, y) ∈ E(K) | x ∈ V } ◮ Relation search : solve the polynomial system
Christophe Petit - PKC2016 - Prime ECDLP 13
◮ One can write similar systems in binary cases, and
◮ Precomputation of the maps Lj can a priori be used for
Christophe Petit - PKC2016 - Prime ECDLP 13
◮ One can write similar systems in binary cases, and
◮ Precomputation of the maps Lj can a priori be used for
◮ Remaining of the talk : ◮ How to compute the maps Lj ? ◮ How to solve the system ?
Christophe Petit - PKC2016 - Prime ECDLP 14
◮ Suppose p − 1 = S · N′ with S ≈ p1/m smooth ◮ We want low degree rational maps Lj such that
Christophe Petit - PKC2016 - Prime ECDLP 14
◮ Suppose p − 1 = S · N′ with S ≈ p1/m smooth ◮ We want low degree rational maps Lj such that
◮ Take L(X) = X S − 1 and V subgroup of order S in F∗
p
◮ If S = n′
j=1 qj take Lj(X) = X qj and Ln′(X) = X qn′ − 1
Christophe Petit - PKC2016 - Prime ECDLP 14
◮ Suppose p − 1 = S · N′ with S ≈ p1/m smooth ◮ We want low degree rational maps Lj such that
◮ Take L(X) = X S − 1 and V subgroup of order S in F∗
p
◮ If S = n′
j=1 qj take Lj(X) = X qj and Ln′(X) = X qn′ − 1
◮ Remark : NIST P-224 curve satisfies
Christophe Petit - PKC2016 - Prime ECDLP 15
◮ Find an auxiliary curve E ′ with #E ′(Fp) = S · N′
j=1 qj ≈ p1/m smooth
◮ Let G be a subgroup of E ′(Fp) with order S
Christophe Petit - PKC2016 - Prime ECDLP 15
◮ Find an auxiliary curve E ′ with #E ′(Fp) = S · N′
j=1 qj ≈ p1/m smooth
◮ Let G be a subgroup of E ′(Fp) with order S ◮ Compute isogenies ϕj such that ϕ = ϕn′ ◦ . . . ◦ ϕ1
Christophe Petit - PKC2016 - Prime ECDLP 15
◮ Find an auxiliary curve E ′ with #E ′(Fp) = S · N′
j=1 qj ≈ p1/m smooth
◮ Let G be a subgroup of E ′(Fp) with order S ◮ Compute isogenies ϕj such that ϕ = ϕn′ ◦ . . . ◦ ϕ1
◮ Take Lj the x-coordinate part of ϕj, except for Ln′ taken
Christophe Petit - PKC2016 - Prime ECDLP 16
◮ Method 1 : pick random curves ◮ Method 2 : use complex multiplication
Christophe Petit - PKC2016 - Prime ECDLP 16
◮ Method 1 : pick random curves ◮ Method 2 : use complex multiplication ◮ Method 1 needs at most ≈ |F| trials on average ◮ Method 2 more efficient when you can chose p yourself
Christophe Petit - PKC2016 - Prime ECDLP 17
◮ Relation search : solve the polynomial system
Christophe Petit - PKC2016 - Prime ECDLP 17
◮ Relation search : solve the polynomial system
◮ Low degree equations, block triangular structure ◮ mn′ variables and mn′ + 1 equations ◮ Seems reasonable to expect dedicated algorithms, but
Christophe Petit - PKC2016 - Prime ECDLP 18
◮ Studied comparable size systems in binary and prime cases ◮ Measured average values of degree of regularity ◮ Compared with semi-generic systems
log p
5 10 15 20
degree of regularity
2 4 6 8 10 12 14
binary system binary system p-1 case isogeny kernels semi-generic systems
Christophe Petit - PKC2016 - Prime ECDLP 19
◮ Algorithm only practical for small parameters ◮ Generic bounds for solving polynomial systems suggest
Christophe Petit - PKC2016 - Prime ECDLP 19
◮ Algorithm only practical for small parameters ◮ Generic bounds for solving polynomial systems suggest
◮ Experiments using Groebner basis suggest systems easier
◮ Sparse, block-triangular structure, and resemblance to the
Christophe Petit - PKC2016 - Prime ECDLP 19
◮ Algorithm only practical for small parameters ◮ Generic bounds for solving polynomial systems suggest
◮ Experiments using Groebner basis suggest systems easier
◮ Sparse, block-triangular structure, and resemblance to the
◮ Open problem !
Christophe Petit - PKC2016 - Prime ECDLP 20
◮ Suggested an approach to generalize previous ECDLP
◮ Like previous ones, algorithm only practical for very small
◮ Open problems : asymptotic complexity, dedicated