Hendrik
Hubrechts
Motivation:
cryptography
Motivation: cryptography
Elliptic curves and
point counting
A new
Rigid cohomology and Kedlaya’s algorithm quasi-quadratic
algorithm
Hendrik
Hubrechts
Motivation:
cryptography
Motivation: cryptography
Elliptic curves and
point counting
A new
Rigid cohomology and Kedlaya’s algorithm quasi-quadratic
algorithm
Hendrik
Hubrechts
Motivation:
cryptography
Motivation: cryptography
Elliptic curves and
point counting
A new
Rigid cohomology and Kedlaya’s algorithm quasi-quadratic
algorithm
Hendrik
Hubrechts
Motivation:
cryptography
Motivation: cryptography
Elliptic curves and
point counting
A new
Rigid cohomology and Kedlaya’s algorithm quasi-quadratic
algorithm
Hendrik
Hubrechts
I Cryptography: studies methods for secure
communication Motivation:
cryptography
I Public Key Cryptography: secure communication over Elliptic curves and
point counting
an unsecure channel
Rigid cohomology
Idea: use public information to encode, and Kedlaya’s
algorithm
private information to decode A new
quasi-quadratic
I Basic component: “(trapdoor) one way function” algorithm
Hendrik
1. Product/factorization: p, q large primes, compute Hubrechts
n := p · q Motivation:
cryptography
Protocol: RSA, well-known and widely used
Elliptic curves and
cryptosystem point counting
Z
ϕ: → G : x 7→ g x
(#G )Z
A new
I Elliptic curves (EC’s), Jacobians of low genus quasi-quadratic
hyperelliptic curves over Fq : in general exponential time algorithm
in log(#G ).
(q = p n with p and n moderate: subexponential time
algorithm (C. Diem))
I If #G is smooth: subexponential time, viz. polynomial
time in log(#G ) × the largest prime factor of #G
For this reason we need point counting algorithms!
Quasi-quadratic
Elliptic curves and zeta functions elliptic curve point
counting using
rigid cohomology
I An EC Ē /Fpn is a smooth genus 1 curve over Fpn . It Hendrik
Hubrechts
has an affine Weierstrass equation
Motivation:
Y 2 + ā1 XY + ā3 Y = X 3 + ā2 X 2 + ā4 X + ā6 , cryptography
A new
quasi-quadratic
I Define Nk := #Ē /F(pn )k and the Weil zeta function of algorithm
Ē
∞
!
X Nk k p n T 2 − tT + 1
Z Ē /Fpn ; T := exp T = ,
k (1 − T )(1 − p n T )
k=1
√
where t ∈ Z, |t| ≤ 2 p n (Hasse-Weil bound)
I N1 = p n + 1 − t is what we want to compute
Quasi-quadratic
A bound on t, the trace of Frobenius elliptic curve point
counting using
rigid cohomology
Hendrik
Hubrechts
I We say that Ē is supersingular if t ≡ 0 mod p, equivalently
N1 ≡ 1 mod p Motivation:
cryptography
I Such curves are rare, special and to avoid in cryptography
Elliptic curves and
We always assume that Ē is not supersingular (which is easy to point counting
√ A new
I Goal: compute t, as |t| < 2 p n it suffices to compute quasi-quadratic
algorithm
√
t mod p N with p N ≥ 4 p n ⇒ N := dn/2+logp 4e
Hendrik
Hubrechts
A new
quasi-quadratic
Given a curve f¯(X , Y ) = 0, the de Rham cohomology of algorithm
n
Fpn [X , Y ]/f¯(X , Y ) does not work, e.g. all X p −1 dX are
non-exact.
Quasi-quadratic
p-Adic numbers and rigid lifts elliptic curve point
counting using
rigid cohomology
X Hendrik
X Hubrechts
ai p i J ∈ Z, ai ∈ {0, 1, . . . , p − 1} , Zp :
Qp =
Motivation:
i≥J i≥0 cryptography
E : Y 2 + a1 XY + a3 Y = X 3 + a2 X 2 + a4 X + a6 ,
i.e. all power series converging on a disk strictly bigger Rigid cohomology
and Kedlaya’s
than the unit disk algorithm
Zpn hX , Y i†
A† :=
f (X , Y )
1 Ω1 (A† )
HMW (Ē /Fpn ) := ⊗ Qpn
dA†
Quasi-quadratic
Point counting using the Frobenius operator elliptic curve point
counting using
rigid cohomology
Rigid cohomology
I Resulting dagger ring: and Kedlaya’s
algorithm
D p p E†
A† = Zpn X , Q, 1/ Q A new
quasi-quadratic
algorithm
I On A† a p n th power Frobenius morphism Fpn exists,
1
HMW (E 0 ) is a Qpn -vector space of dimension 5
Let Fpn be a matrix of Fpn , then
A new
quasi-quadratic
algorithm
I With the hyperelliptic
√ √involution
ı : X 7→ X , Q 7→ − Q we have
1
HMW (E 0 ) ∼ +
= HMW −
(E 0 ) ⊕ HMW (E 0 ),
Hendrik
−
I We end up with HMW (E 0 ), a 2-dimensional Qpn -vector Hubrechts
of x 7→ x p )
Motivation:
1. Computing Fp : computing Fp (b) for b in the basis is cryptography
very expensive ⇒ Õ(n3 ) time and O(n3 ) space Elliptic curves and
point counting
2. Computing F from Fp : computing
pn σk on Qpn is Rigid cohomology
expensive ⇒ Õ(n3 ) time and Kedlaya’s
algorithm
A new
quasi-quadratic
algorithm
We can compute Fp (γ) in time Õ(n2 ) and space O(n2 ). Rigid cohomology
and Kedlaya’s
algorithm
We will immediately explain how this works A new
quasi-quadratic
Lemma algorithm
Motivation:
Concretely: ĒΓ : Y 2 = Q̄Γ (X ), rigid lift EΓ : Y 2 = QΓ (X ), cryptography
* −1 +†
†
p p ∂
T := Qp X , QΓ , 1/ QΓ , Γ, ResX QΓ , QΓ ,
∂X
− Ω1 (T † )
HMW (EΓ0 ) ⊂ ,
dT †
which is an S † -module of rank 2
Quasi-quadratic
The connection and differential equation elliptic curve point
counting using
rigid cohomology
∂
Fp (Γ) + Fp (Γ) · G (Γ) = G (Γp ) · Fp (Γ)d(Γp )
∂Γ
Hendrik
Hubrechts
A new
quasi-quadratic
algorithm
I p = 2: we can compute (efficiently) a matrix of basis
transformation such that the transformed Fp (γ) is
integral
Quasi-quadratic
The slow steps in Kedlaya’s algorithm (again) elliptic curve point
counting using
rigid cohomology
Motivation:
1. Computing Fp : computing Fp (b) for b in the basis is cryptography
very expensive ⇒ Õ(n3 ) time and O(n3 ) space Elliptic curves and
point counting
2. Computing F from Fp : computing
pn σk on Qpn is Rigid cohomology
expensive ⇒ Õ(n3 ) time and Kedlaya’s
algorithm
A new
quasi-quadratic
algorithm
Hendrik
Motivation:
cryptography
and hence that Fpn (γ) has p-adic eigenvalues
Elliptic curves and
point counting
pn
λ and , with λ ∈ Z×
p
Rigid cohomology
λ and Kedlaya’s
algorithm
A new
quasi-quadratic
algorithm
As we work mod p N with N ≤ n, we have
pn
t = Tr (Fpn (γ)) = λ + ≡ λ mod p N ,
λ
so we have to compute
t ≡ λ mod p N
From the pth to the p n th power Frobenius Quasi-quadratic
elliptic curve point
counting using
Recall: we need λ, the p-adic unit eigenvalue of Fpn (γ) rigid cohomology
Rigid cohomology
σ µ ∗ −1 x ∗ and Kedlaya’s
Fp (γ) = C · ·C , with C = algorithm
0 ∗ y ∗ A new
quasi-quadratic
I This gives for the big Frobenius Fpn (γ) = algorithm
σn−1 σ
[σ n ] µ ∗ µ ∗ µ ∗
C · ··· · · C −1
0 ∗ 0 ∗ 0 ∗
hence also
n−1
λ = µσ · · · µσ · µ = NQpn /Qp (µ)
I By known fast generalized Newton lifting methods, (?) can be
solved in time Õ(n2 )
Quasi-quadratic
Computing the norm elliptic curve point
counting using
rigid cohomology
Hendrik
We want to compute t ≡ NQpn /Qp (µ) mod p N Hubrechts
Motivation:
I (Idea of Harley) recall Qpn ∼
= Qp [x]/ϕ(x), then with cryptography
Y Rigid cohomology
and Kedlaya’s
Resx (ϕ(x), µ(x)) = µ(α) = algorithm
α root of ϕ A new
quasi-quadratic
Y algorithm
µ(τ (x)) = NQpn /Qp (µ(x))
τ ∈Gal(Qpn /Qp )
Motivation:
Let N := dlogp 4 + n/2e cryptography
Rigid cohomology
2. Compute Fp (γ) by solving the differential equation and Kedlaya’s
algorithm
3. Compute a unit semi-eigenvalue µ of Fp (γ)
√ A new
4. Compute t ≡ NQpn /Qp (µ) mod p N s.t. |t| < 2 p n quasi-quadratic
algorithm
5. Output p n + 1 − t
Theorem
We can compute the number of points on an elliptic curve Ē
over Fpn in time Õ(n2 ) and space O(n2 ).
Hendrik
We do not use Moenck’s algorithm for the norm computation, but Hubrechts
For a random elliptic curve over Fpn , time in seconds Rigid cohomology
and Kedlaya’s
(AMD Athlon 64 3000+): algorithm
A new
quasi-quadratic
algorithm
p\n 50 100 250 500 1000 2000
3 .18 .50 2.55 10.05 46 229
5 .58 1.38 6.48 27.08 117 610
7 2.16 5.51 34.13 156.21 800 4454
Quasi-quadratic
Implementation results elliptic curve point
counting using
rigid cohomology
Motivation:
cryptography
Rigid cohomology
and Kedlaya’s
algorithm
A new
quasi-quadratic
algorithm