Deterministic elliptic curve primality proving for special sequences - - PowerPoint PPT Presentation

deterministic elliptic curve primality proving for
SMART_READER_LITE
LIVE PREVIEW

Deterministic elliptic curve primality proving for special sequences - - PowerPoint PPT Presentation

Deterministic elliptic curve primality proving for special sequences Alice Silverberg UC Irvine GEOCRYPT 2013 Deterministic Primality Proving In joint work with Alex Abatzoglou, Drew Sutherland, and Angela Wong, we give necessary and


slide-1
SLIDE 1

Deterministic elliptic curve primality proving for special sequences

Alice Silverberg UC Irvine GEOCRYPT 2013

slide-2
SLIDE 2

Deterministic Primality Proving

In joint work with Alex Abatzoglou, Drew Sutherland, and Angela Wong, we give necessary and sufficient conditions for the primality of integers in sequences of a special form, using the OK-module structure of the reductions of an elliptic curve with CM by OK. We use this to give deterministic algorithms that very quickly prove the primality or compositeness of the integers in certain sequences, and we implement the algorithms.

slide-3
SLIDE 3

Some History of Primality Proving

  • M. Agrawal, N. Kayal, & N. Saxena (2002) showed that

the primality or compositeness of any integer can be determined in deterministic polynomial time. With improvements of H. W. Lenstra and C. Pomerance, the time to test an integer N is ˜ O(log6 N).

slide-4
SLIDE 4

Some History of Primality Proving

Faster algorithms have long been known for numbers in special sequences, such as: Fermat numbers Fk = 22k + 1 using Pépin’s criterion (1877) Mersenne numbers Mp = 2p − 1 using the Lucas-Lehmer test (1930) These algorithms are deterministic and run in time ˜ O(log2 N).

slide-5
SLIDE 5

Pépin test for Fermat numbers

Theorem (Pépin, 1877) Let Fk = 22k + 1. The following are equivalent: Fk is prime. 3 has order 22k in (Z/FkZ)×. 3(Fk−1)/2 ≡ −1 (mod Fk). Our results can be viewed as elliptic curve analogues of this result.

slide-6
SLIDE 6

Using elliptic curves to get faster algorithms

In the mid-1980’s elliptic curves started to be used to give faster algorithms: Deterministic algorithm to compute square roots modulo primes (R. Schoof, 1985) Integer Factorization (H. W. Lenstra, Jr., 1987) Primality Testing (S. Goldwasser & J. Kilian, 1986)

slide-7
SLIDE 7

Some History of Primality Testing

  • W. Bosma (1985) and D. V. Chudnovsky & G. V.

Chudnovsky (1986) gave probabilistic primality tests for numbers in certain sequences, using elliptic curve analogues of classical “N − 1” tests, where the group (Z/NZ)× is replaced by CM elliptic curves.

slide-8
SLIDE 8

Some History of Primality Testing

  • W. Bosma (1985) and D. V. Chudnovsky & G. V.

Chudnovsky (1986) gave probabilistic primality tests for numbers in certain sequences, using elliptic curve analogues of classical “N − 1” tests, where the group (Z/NZ)× is replaced by CM elliptic curves.

  • S. Goldwasser & J. Kilian (1986) gave the first

general purpose elliptic curve primality proving algorithm, using randomly generated elliptic curves. It runs in expected polynomial time.

slide-9
SLIDE 9

Some History of Primality Testing

Pomerance (1987) showed that for every prime p there exists a certificate of primality that can be checked in time ˜ O(log2 p) (but it might take exponential time to find the certificate).

slide-10
SLIDE 10

Some History of Primality Testing

Pomerance (1987) showed that for every prime p there exists a certificate of primality that can be checked in time ˜ O(log2 p) (but it might take exponential time to find the certificate).

  • D. Gordon (1989) proposed a general purpose

compositeness test using supersingular reductions of CM elliptic curves over Q.

slide-11
SLIDE 11

Some History of Primality Testing

Pomerance (1987) showed that for every prime p there exists a certificate of primality that can be checked in time ˜ O(log2 p) (but it might take exponential time to find the certificate).

  • D. Gordon (1989) proposed a general purpose

compositeness test using supersingular reductions of CM elliptic curves over Q.

  • A. O. L. Atkin & F

. Morain (1993) developed an improved version of the Goldwasser-Kilian algorithm that uses the “CM method” to construct elliptic curves with complex multiplication, rather than generating elliptic curves at random. It’s faster in practice, but runs in “heuristic polynomial time”.

slide-12
SLIDE 12

Some History of Primality Testing

  • B. Gross (2005) gave a primality test for Mersenne

numbers using an elliptic curve with CM by Q(i) and supersingular reduction mod every Mersenne prime.

slide-13
SLIDE 13

Some History of Primality Testing

  • B. Gross (2005) gave a primality test for Mersenne

numbers using an elliptic curve with CM by Q(i) and supersingular reduction mod every Mersenne prime.

  • R. Denomme & G. Savin (2008) and A. Gurevich and
  • B. Kunyavski˘

ı (2009, 2012) extended Gross to get primality tests for certain special sequences, including Fermat numbers, using supersingular reductions of elliptic curves with CM by Q(i) or Q( √ −3).

slide-14
SLIDE 14

Gross, Denomme & Savin, Gurevich & Kunyavski˘ ı

These results fit into the general framework laid out by Chudnovsky & Chudnovsky. They use the OK-module structure of E(OK/(π)), where E is an elliptic curve over Q with CM by OK, and NK/Q(π) is tested for primality. However, as Pomerance pointed out, the numbers they consider can all be dealt with using classical N − 1 or N + 1 primality tests that are more efficient and do not involve elliptic curves.

slide-15
SLIDE 15

Abatzoglou, Silverberg, Sutherland, & Wong

Jointly with Alex Abatzoglou, Drew Sutherland, and Angela Wong, we give necessary and sufficient conditions for the primality of integers N in special

  • sequences. We give a general framework, using arbitrary

CM elliptic curves. We implement our results using elliptic curves with CM by Q( √ −7) and Q( √ −15), and obtain deterministic primality and compositeness tests that run in time ˜ O(log2 N).

slide-16
SLIDE 16

Relation to prior work

Our work is in the Chudnovsky-Chudnovsky framework, and is an extension of the techniques used by Gross and Denomme-Savin. However, the integers considered by them can be proved prime using more efficient classical p ± 1 methods. We consider sequences for which that is not the case.

slide-17
SLIDE 17

Large Primes

We obtain primes of size more than a million bits. One of them is the largest proven prime p for which no significant partial factorization of p − 1 or p + 1 is known.

slide-18
SLIDE 18

Q( √ −7) example

Let K = Q( √ −7), α = 1 + √ −7 2 ∈ OK, jk = 1 + 2αk ∈ OK, Jk = NK/Q(jk) = 1 + 2(αk + αk) + 2k+2 ∈ N.

slide-19
SLIDE 19

Q( √ −7) example

Let K = Q( √ −7), α = 1 + √ −7 2 ∈ OK, jk = 1 + 2αk ∈ OK, Jk = NK/Q(jk) = 1 + 2(αk + αk) + 2k+2 ∈ N. We have J1 = J2 = 11, J3 = 23, J4 = 67, Jk+4 = 4Jk+3 − 7Jk+2 + 8Jk+1 − 4Jk. We give primality/compositeness tests for Jk.

slide-20
SLIDE 20

Q( √ −7) example

Remark Jk is divisible by 3 if and only if k ≡ 0 (mod 8). Jk is divisible by 5 if and only if k ≡ 6 (mod 24). Consider the family of quadratic twists: Ea : y 2 = x3 − 35a2x − 98a3. If a ∈ Q×, then Ea is an elliptic curve with complex multiplication by Q( √ −7).

slide-21
SLIDE 21

Q( √ −7) example

Suppose k ≥ 6, k ≡ 0 (mod 8), and k ≡ 6 (mod 24). Choose twisting factor a and Pa ∈ Ea(Q) as follows. k a Pa k ≡ 0 or 2 (mod 3) −1 (1, 8) k ≡ 4, 7, 13, 22 (mod 24) −5 (15, 50) k ≡ 10 (mod 24) −6 (21, 63) k ≡ 1, 19, 49, 67 (mod 72) −17 (81, 440) k ≡ 25, 43 (mod 72) −111 (−633, 12384) Then Pa generates Ea(Q)/torsion.

slide-22
SLIDE 22

Q( √ −7) Primality Test

Theorem The following are equivalent: Jk is prime. Pa mod Jk has order 2k+1. 2kPa ≡

  • (−7+√−7)a

2

, 0

  • mod jk.
slide-23
SLIDE 23

Q( √ −7) Primality Test

Theorem The following are equivalent: Jk is prime. Pa mod Jk has order 2k+1. 2kPa ≡

  • (−7+√−7)a

2

, 0

  • mod jk.

Recall Pépin: Theorem (Pépin, 1877) Let Fk = 22k + 1. The following are equivalent: Fk is prime. 3 has order 22k in (Z/FkZ)×. 3(Fk−1)/2 ≡ −1 (mod Fk).

slide-24
SLIDE 24

Strongly nonzero

What we really mean by “Pa mod Jk has order 2k+1” is: 2k+1Pa = O mod Jk and 2kPa is strongly nonzero mod Jk, where Definition Suppose E is an elliptic curve over a number field M and π ∈ OM. We say that P ∈ E(M) is strongly nonzero mod π if one can express P = (x : y : z) ∈ E(OM) in such a way that (z, π) = OM. Remarks

1

P is strongly nonzero mod π if and only if P = O mod β for every prime β | π in OM.

2

In particular, if π is prime, then P is strongly nonzero mod π if and only if P = O mod π.

slide-25
SLIDE 25

Q( √ −7) Primality Test

Our choices of twisting factor imply that when Jk is prime: Ea(OK/(jk)) ∼ = OK/(2αk) ∼ = OK/(α) × OK/(αk+1) ∼ = Z/2Z × Z/2k+1Z. We first show that Jk being prime is equivalent to: 2αkPa ≡ 0 mod jk and 2αk−1Pa is strongly nonzero mod jk.

slide-26
SLIDE 26

Large Primes

We converted the primality test to an efficient algorithm. We then implemented the algorithm for all k ≤ 1.2 million, and found 79 primes. The largest, J1,111,930, has 334,725 decimal digits.

slide-27
SLIDE 27

A general framework

Suppose: K is an imag. quad. field with Hilbert class field H, pk = p(k1,...,kt) ∈ OH such that πk := NH/K(pk) = 1 + γαk1

1 · · · αkt t

with α1, . . . , αt, γ ∈ OK, Fk := NH/Q(pk) = NK/Q(πk), E is an elliptic curve over H with CM by OK, P ∈ E(H) has infinite order.

slide-28
SLIDE 28

A general framework

Theorem Suppose S ⊂ Nt is such that whenever k ∈ S and pk is prime, then the Frobenius endomorphism of E mod pk is πk, and P mod pk ∈ λE(OH/(pk)) for all prime ideals λ | αi. If k ∈ S and k ≫γ 0, then TFAE: pk is prime, (πk − 1)P = 0 mod pk and for every prime ideal λ | αi there is a point in

(πk−1) λ

P that is strongly nonzero mod pk.

slide-29
SLIDE 29

Sufficient condition for primality

Well known results say that if P mod N has sufficiently large order (in terms of N), then N is prime.

slide-30
SLIDE 30

Necessary condition for primality

If the Frobenius endomorphism of E mod pk is πk, then E(OH/(pk)) ∼ = OK/(πk − 1) = OK/(γαk1

1 · · · αks s )

so (πk − 1)P = 0 mod pk as desired. If P mod pk ∈ λE(OH/(pk)) for all λ | αi, then (πk − 1) λ P = 0 mod pk as desired.

slide-31
SLIDE 31

Finding good k

In our algorithms, the work is in finding a large nice set S such that whenever k ∈ S and pk is prime, then: the Frobenius endomorphism of E modulo pk is πk, and P mod pk ∈ λE(OH/(pk)) for all prime ideals λ | αi.

slide-32
SLIDE 32

Finding good k

For any given k, one could check whether P mod pk ∈ λE(OH/(pk)). But the goal is to determine the “good" k in advance. This is what allows us to obtain efficient deterministic primality tests. However, finding a nice description of the k for which P mod pk ∈ λE(OH/(pk)) is constrained by:

slide-33
SLIDE 33

Constraint

Suppose: ˆ f : E → E′ := E/E[¯ λ] is the natural isogeny, f : E′ → E is the dual isogeny, p is a prime ideal of OH. Theorem The following are equivalent: P mod p ∈ λE(OH/p), p splits completely in F := H(E[λ]) and p does not split completely in L := F(f −1(P)).

slide-34
SLIDE 34

Constraint

When L/H is an abelian extension, class field theory tells us that the splitting behavior in L and F of a prime of OH is determined by congruence conditions. If L/H is not abelian, we do not know a good way to characterize the prime ideals of OH that split completely in F but not in L. So we insist that L/H be abelian. We insist that L = F, since p splits completely in F but not L.

slide-35
SLIDE 35

Constraint

Proposition If L/H is abelian, L = F, and E is defined over Q(j(E)), then either

1

2 splits in K and λ is a prime above 2,

2

λ is the prime above p = 2 or 3, and p ramifies in K,

  • r

3

K = Q( √ −3) and λ = (2). In the latter two cases, classical p ± 1 primality tests apply.

slide-36
SLIDE 36

Constraint when K has class number one

If E is defined over Q and one wants a simple description

  • f congruence classes for the “good” k, one is restricted

to K = Q(i) with αi = 1 + i, or K = Q( √ −2) with αi = √ −2, or K = Q( √ −3) with αi = 2 or √ −3, or K = Q( √ −7) with αi = (1 ± √ −7)/2.

slide-37
SLIDE 37

Constraint when K has class number one or two

If we only care about cases where classical p ± 1 tests do not apply, that restricts us to: For class number one: K = Q( √ −7), αi = (1 ± √ −7)/2. For class number two: K = Q( √ −15), αi = (1 ± √ −15)/2.

slide-38
SLIDE 38

Example with K = Q( √ −15)

Let K = Q( √ −15), which has class number 2 and Hilbert class field H = K( √ 5). Let β := √ 5 + √ −3 2 , α := 1 + √ −15 2 , pk := 1 + 2βk ∈ OH, πk := NH/K(pk) = 1 − 4αk. We test the primality of Fk = NH/Q(pk) = NK/Q(πk) = 1 − 4

  • αk + ¯

αk − 4k+2.

slide-39
SLIDE 39

Example with K = Q( √ −15)

E : y 2 = x3 + Ax + B A = 3234(−16195646845 + 7242913457 √ 5), B = 38416(5395199151946361 − 2412806411180256 √ 5) Then E has CM by OK. P = (0, 196(−51938421 + 23227568 √ 5)) ∈ E(H).

slide-40
SLIDE 40

Example with K = Q( √ −15)

S := {k ∈ N : k ≡ 9, 19, 39, 45, 59, 63, 67, 85, 105, 123, 129, 133, 159, 169, 173, 181, 183, 221, 223, 225, 229 (mod 240)}. Theorem If k ∈ S, then the following are equivalent: Fk is prime. P mod pk has order 22k+2. 22k+1P ≡ (2643963 √ 5 − 5912081, 0) mod pk.

slide-41
SLIDE 41

Example with K = Q( √ −15)

What we mean by “P mod pk has order 22k+2” is: 22k+2P ≡ 0 mod pk & 22k+1P is strongly nonzero mod pk. In fact, we show that Fk being prime is equivalent to: 4αkP ≡ 0 mod pk and 8αk−1P is strongly nonzero mod pk. Under our conditions, if pk is prime then E(OH/(pk)) ∼ = OK/(4αk) ∼ = OK/(λ

2) × OK/(λ2k+2)

∼ = Z/4Z × Z/4k+1Z.

slide-42
SLIDE 42

Example with K = Q( √ −15)

Here, (2) = λλ where λ = (2, α). Now F := H(E[λ]) = H and L := F(f −1(P)) has degree 2

  • ver H, so L/H is abelian.

Since L/H is abelian and pk ∈ OH is explicit, we can compute L, and use it to determine congruence conditions on k such that the Frobenius of E mod pk is πk and P mod pk ∈ λE(OH/(pk)) (whenever pk is prime).

slide-43
SLIDE 43

Large Primes

So far, we have implemented this for all k ≤ 850,000. In that range there are exactly 9 prime Fk’s, namely when k = 9, 123, 3585, 16253, 17145, 79023, 100619, 501823, and 696123. The prime F696123 has 419,110 decimal digits. It is the largest proven prime p for which no significant partial factorization of p − 1 or p + 1 is known. We plan to check all k ≤ 106.

slide-44
SLIDE 44

Deterministic elliptic curve primality proving for special sequences

Alice Silverberg UC Irvine GEOCRYPT 2013