michael naehrig · 2012-07-20 · fix a suitable value for kand find primes r;pand a number nwith...

Post on 28-Jun-2020

0 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Pairings II

Michael Naehrig

Eindhoven Institute for the Protection of Systems and InformationTechnische Universiteit Eindhoven

michael@cryptojedi.org

ECC Summer School 2008, Eindhoven19 September 2008

Reminder

Let p > 3 be a prime, Fp the finite field with p elements and

E : Y 2 = X3 + AX +B

an elliptic curve over Fp.I Let n = #E(Fp) be the number of Fp-rational points.

We haven = p+ 1− t, |t| ≤ 2

√p,

where t is the trace of Frobenius.I Let r 6= p be a large prime dividing n = #E(Fp) and k

be the embedding degree of E w.r.t. r, i.e.

r | pk − 1, r - pi − 1, i < k ⇐⇒ r | Φk(p).

Reminder

I The set of r-torsion points E[r] is contained in E(Fpk).I There are r points of order dividing r in E(Fp) and the

group of r-th roots of unity µr is contained in F∗pk .

I We have the reduced Tate pairing

tr : E[r](Fp)× E[r](Fpk) → µr ⊂ F∗pk ,

(P,Q) 7→ fr,P (Q)pk−1

r ,

which can be computed using Miller’s algorithm, if kis suitably small.

Pairing-friendly curves

An elliptic curve is called pairing-friendly, if1. the prime r is larger than

√p,

2. the embedding degree k is small.

I A pairing transfers the DLP from E[r](Fp) to Fpk ,I for pairing-based protocols, both DLPs should be

infeasible to solve.I Good parameters lead to both DLPs being equally

hard.

Security requirements

Recent ECRYPT key length recommendations, 2008(www.keylength.com) tell us that we need the followingbitsizes and embedding degrees:

Symmetric r Fpk k80 160 1248 8112 224 2432 10128 256 3248 12

It is important to know which curves have smallembedding degrees, to avoid MOV-FR attacks or toimplement pairing-based protocols.

Supersingular Curves

I An elliptic curve is called supersingular, iff t ≡ 0(mod p). Otherwise it is called ordinary.

I Supersingular elliptic curves have an embeddingdegree k ≤ 6.

I For p > 3 it even holds:From

p | t and |t| ≤ 2√p

it follows t = 0 and thus n = p+ 1, so

n | p2 − 1.

Therefore k ≤ 2.I But k = 2 is too small.

Problem

Fix a suitable value for k and find primes r, p and anumber n with the following conditions:

I n = p+ 1− t, |t| ≤ 2√p,

I r | n,I r | pk − 1,I t2 − 4p = DV 2 < 0, D, V ∈ Z, D squarefree, |D| small

enough to compute the class polynomial.The last condition is the CM norm equation. Once wefound parameters we can construct the curve using CMmethods.

I r | pk − 1 can be replaced by r | Φk(p) or r | Φk(t− 1)which is better, since Φk has degree ϕ(k) < k.

The ρ-value

For efficiency reasons we would like to have r as large aspossible, r = n is optimal.

I To measure this property we define the ρ-value of Eas

ρ :=log(p)

log(r).

I We always have ρ ≥ 1 where ρ = 1 is the best we canachieve.

I A pairing-friendly curve has ρ < 2.

MNT curves

Miyaji, Nakabayashi and Takano (MNT, 2001) giveparametrisations of p and t as polynomials in Z[u] s.t.

n(u) | Φk(p(u)).

The method yields ordinary elliptic curves of prime order(r = n) with embedding degree k = 3, 4, 6.

k p(u) t(u)3 12u2 − 1 −1± 6u4 u2 + u+ 1 −u or u+ 16 4u2 + 1 1± 2u

MNT curvesLet’s compute an MNT curve. Take k = 6, i.e. weparameterise

p(u) = 4u2 + 1, t(u) = 2u+ 1.

I Then we have

n(u) = p(u) + 1− t(u) = 4u2 − 2u+ 1.

I We may now plug in integer values for u until we findu0 s.t. p(u0) and n(u0) are both prime.

I Example: u0 = 2 yields p(u0) = 17 and n(u0) = 13.I But we only have parameters, we do not have the

curve.

MNT curvesIn order to construct the curve via the CM method weneed to find solutions to the norm equation

t2 − 4p = DV 2,

and |D| needs to be small.I We compute

t(u)2−4p(u) = (2u+1)2−4(4u2 +1) = −12u2 +4u−3.

I Therefore the norm equation becomes

−12u2 + 4u− 3 = DV 2.

I For u0 = 2 we obtain DV 2 = −43. Assume |D| is toolarge (and we don’t know the class polynomial).

MNT curvesMaybe we first should find solutions to the norm equation.Let’s transform the equation:

I Start with−12u2 + 4u− 3 = DV 2.

I Multiply by -3 to get

36u2 − 12u+ 9 = −3DV 2.

I Complete the square:

(6u− 1)2 + 8 = −3DV 2.

I We need to solve (replace 6u− 1 by x, V by y)

x2 + 3Dy2 = −8.

MNT curvesHow can we solve the equation x2 + 3Dy2 = −8 ?

I Theorem: If d is a positive squarefree integer then theequation

x2 − dy2 = 1

has infinitely many solutions. There is a solution(x1, y1) such that every solution has the form±(xm, ym) where

xm + ym

√d = (x1 + y1

√d)m, m ∈ Z.

I So if d = −3D is positive and squarefree, we cancompute infinitely many solutions to our equation ifwe find a solution (x1, y1).

I Use continued fractions to find a single solution.

MNT curvesConsider the field Q(

√d) ⊆ C.

I The norm of α = x+ y√d ∈ Q(

√d) is defined to be

N(α) = αα = (x+ y√d)(x− y

√d) = x2 − dy2

so x2 − dy2 is the norm of the element x+ y√d.

I We are actually looking for an element of norm -8.I The norm is multiplicative:

N(αβ) = N(α)N(β).

I We need to find only one element α of norm -8, thenthe infinitely many elements βm = xm + ym

√d of norm

1 will help us to find infinitely many elements of norm-8:

N(αβm) = N(α)N(βm) = −8 · 1 = −8.

MNT curvesBack to the example: Choose D = −11, so d = 33.

I The equation becomes

x2 − 33y2 = −8.

I A solution is (5, 1). The corresponding element ofQ(√

33) is 5 +√

33.I A solution to

x2 − 33y2 = 1

is (23, 4) with corresponding element 23 + 4√

33.I The elements

(5 +√

33)(23 + 4√

33)m

all have norm -8, thus yield solutions to the originalnorm equation.

MNT curvesWe now can compute many solutions to the equationx2 − 33y2 = −8.

(5 +√

33)(23 + 4√

33)−5 = −76495073 + 13316083√

33

(5 +√

33)(23 + 4√

33)−4 = −1663723 + 289617√

33

(5 +√

33)(23 + 4√

33)−3 = −36185 + 6299√

33

(5 +√

33)(23 + 4√

33)−2 = −787 + 137√

33

(5 +√

33)(23 + 4√

33)−1 = −17 + 3√

33

(5 +√

33)(23 + 4√

33)0 = 5 +√

33

(5 +√

33)(23 + 4√

33)1 = 247 + 43√

33

(5 +√

33)(23 + 4√

33)2 = 11357 + 1977√

33

(5 +√

33)(23 + 4√

33)3 = 522175 + 90899√

33

(5 +√

33)(23 + 4√

33)4 = 24008693 + 4179377√

33

MNT curvesAnd compute back to find solutions for the originalequation −12u2 + 4u− 3 = DV 2. Remember x = 6u− 1.

αβi u V

−76495073 + 13316083√

33 12749179 13316083

−1663723 + 289617√

33 −2124863 289617

−36185 + 6299√

33 6031 6299

−787 + 137√

33 −131 137

−17 + 3√

33 3 3

5 +√

33 1 1

247 + 43√

33 −41 43

11357 + 1977√

33 1893 1977

522175 + 90899√

33 −87029 90899

24008693 + 4179377√

33 4001449 4179377

MNT curvesWe hope that some of the values for u give p(u) and n(u)prime.

I We are lucky. The value u = 3 gives

p(u) = 37, n(u) = 31, t(u) = 7.

I Construct the curve with the CM method.I The Hilbert class polynomial for D = −11 is

HD(X) = X + 32768.

I Its reduction mod p is

H(T ) = T + 23.

I The j-invariant of our curve is thus j(E) = −23 = 14.

MNT curves

I From j(E) = 14 we find the curve

E : y2 = x3 + 13x+ 11

over the field F37 with 37 elements.I The curve has 31 points and embedding degreek = 6.

I Every point on the curve is a generator, since thegroup order n = 31 is prime.The point (1, 5) for example lies on the curve.

The Cocks-Pinch approach

This method works for arbitrary k and uses thatr | Φk(t− 1), i.e. that t− 1 is a primitive k-th root of unity.

I First choose k, r and a CM discriminant D such thatD is a square modulo r and k | r − 1.

I Choose g ∈ Z a primitive k-th root of unity modulo r.I Let a ∈ Z s.t. a ≡ (g + 1)/2 mod r, then

r | (2a− 1)k − 1.

I Set b0 ≡ (a− 1)/√D mod r, then

r | (a− 1)2 −Db20.

The Cocks-Pinch approach

I Run through integer values for i until

p = a2 −D(b0 + ir)2

is prime, then r | p+ 1− 2a, since

p+ 1− 2a = a2 − 2a+ 1−D(b0 + ir)2

≡ (a− 1)2 −Db20 mod r

≡ 0 mod r.

I Since p is quadratic in a and b = b0 + ir such curvesalways have ρ ≈ 2.

The Brezing-Weng method

Brezing and Weng apply the Cocks-Pinch approach, butthey parametrize r, t, p as polynomials.

I Choose k and D and choose an irreduciblepolynomial r(x) which generates a number field Kcontaining

√D and a primitive k-th root of unity.

I In this setting do the Cocks-Pinch construction.I The ρ-value of curves constructed with this method

depends on the degrees of r, t, p.I One can often choose the degrees such that theρ-value is less than 2.

Generalisation of the MNT approachWe need to find parametrisations for p and n such that

n(u) | Φk(p(u)).

A result by Galbraith, McKee and Valença (2004) helpswhen p is parametrised as a quadratic polynomial.

I Lemma: Let p(u) ∈ Q[u] be a quadratic polynomial, ζka primitive k-th root of unity in C. Then

Φk(p(u)) = n1(u)n2(u)

for irreducible polynomials n1(u), n2(u) ∈ Q[u] ofdegree ϕ(k), if and only if the equation

p(z) = ζk

has a solution in Q(ζk).

Larger embedding degree

The MNT results can be obtained by applying this lemma.But we get more:

I For k = 12 we get the following

Φ12(6u2) = n(u)n(−u),

where n(u) = 36u4 + 36u3 + 18u2 + 6u+ 1.I This does not help, since 6u2 can never be a prime.I But since n = p+ 1− t we use p ≡ t− 1 (mod n), i.e.

n | Φk(p) ⇐⇒ n | Φk(t− 1).

We might as well parametrise t(u)− 1 = 6u2.

BN curves

BN curves (Barreto, N.) have embedding degree k = 12.Choose

n(u) = 36u4 + 36u3 + 18u2 + 6u+ 1,

p(u) = 36u4 + 36u3 + 24u2 + 6u+ 1.

We then have t(u) = 6u2 + 1,

n(u) | Φ12(p(u))

andt(u)2 − 4p(u) = −3(6u2 + 4u+ 1)2,

i. e. the conditions are satisfied in Z[u] (as polynomials).

BN curvesI Since the norm equation is of the required form withD = −3 already as polynomials, there is no need tosolve an equation as in the MNT case.

I Only try different values for u until p(u) and n(u) areprime.

I Since D = −3 always, there is no need to use the CMmethod, since such curves always have j-invariantj = 0 and are of the form

y2 = x3 + b.

I We only need to try different values for b until thecurve has the right order.

I It is very easy to find BN curves of a certain bitsize.I And they have many advantages for efficient

implementation of pairings.

A BN curve with 256 bitsThe curve

E : y2 = x3 + 3

over Fp with

p = 115792089236777279154921612155485810787

751121520685114240643525203619331750863

has

n = 115792089236777279154921612155485810787

410839153764967643444263417404280302329

points and embedding degree k = 12. The group E(Fp) isgenerated by (1, 2).(u = −7530851732707558283,t = 340282366920146597199261786215051448535)

Freeman curves

Freeman curves have embedding degree k = 10. Choose

n(u) = 25u4 + 25u3 + 15u2 + 5u+ 1,

p(u) = 25u4 + 25u3 + 25u2 + 10u+ 3.

We then have t(u) = 10u2 + 5u+ 3,

n(u) | Φ10(p(u))

andt(u)2 − 4p(u) = −(15u2 + 10u+ 3).

To solve the norm equation we also need to solve a Pellequation as in the classical MNT case.

Pairing-friendly elliptic curvesThere are methods for constructing pairing-friendly ellipticcurves with a prime order group of rational points in thefollowing cases:

k ∈ {3, 4, 6}: Miyaji, Nakabayashi, Takano (2001),k = 10: Freeman (2006),k = 12: Barreto, N. (2005).

For all other embedding degrees there are methods toconstruct pairing-friendly elliptic curves, but the groups ofrational points are no longer of prime order.

For an overview see the ”Taxonomy of pairing-friendlyelliptic curves” (Freeman, Scott, Teske, 2006).http://eprint.iacr.org/2006/372

top related