Arithmetic in Picard Groups and Application to Pairings 2

Transcription

Arithmetic in Picard Groups and Application to Pairings 2
Arithmetic in Picard Groups and
Application to Pairings 2
GTEM Workshop on Pairings, IEM Essen
5. Mai 2009
Florian Heß
Technische Universität Berlin
Florian Heß
1
Essen
5. Mai 2009
Motivation
This talk is about fast arithmetic in divisor class groups of algebraic
curves over finite fields for large genus.
What you do not get from this talk:
• Fast arithmetic for low genus curves optimised for use in a
cryptographic system.
Some reasons why to consider this problem:
• General interest
• Useful for index calculus attacks, pairings.
Florian Heß
2– iii
Essen
5. Mai 2009
Previous work
There is a long history of previous work on the theory and on
algorithms for the
• Riemann-Roch problem
• arithmetic in class groups
• algebraic geometric codes
• integration of algebraic functions
• parametrisation of algebraic curves
• ...
Can roughly be divided into
• arithmetic methods (integral closures, ideals, ...)
• geometric methods (Brill-Noether method of adjoints, ...)
Florian Heß
3
Essen
5. Mai 2009
Previous work
Theory:
• Brill and Noether (1874, 1884),
• Dedekind and Weber (1882), F. K. Schmidt (1931).
Geometric and arithmetic algorithms for divisor
class groups for g → ∞:
hyperell. divclgrp
O(g2)
RR problem + divclgrp for
general plane curves
O(n6h(D)6)
1994
Volcheck
divclgrp for g. p. curves O(max{n, g}7)
1998 Galbraith, Paulus, divclgrp for superell. curves
O(n4g4)
Smart
1999
Arita
divclgrp for Ca,b curves
O(g3)
1987
1993
Florian Heß
Cantor
Huang, Ierardi
4– iv
Essen
5. Mai 2009
Previous work
Geometric and arithmetic algorithms for divisor
class groups for g → ∞ (ctd):
RR problem and divclgrp
O(g2)
for general curves
for fixed n
2001 Khuri-Makdisi divclgrp for general curves O∼(g3)
2004
with precomputation
1999
Hess
This and next slide n = min{[F : k(x)] | x ∈ F separating }.
Florian Heß
5
Essen
5. Mai 2009
Discussion
KM result:
• Links complexity of divclgrp to complexity of linear algebra
over k in dimension O∼(g).
• Probably optimal in the general case (n ' g/2).
• Fast linear algebra O∼(gω) with ω = 2.376.
H result:
• Links complexity of divclgrp to complexity of polynomial arithmetic
over k in degree O(g).
• Probably optimal under the assumption n = O(1).
• Fast polynomial arithmetic O∼(g).
This talk: Combine both running time characteristics
towards O∼(gnω−1) with n = O(g).
Florian Heß
6– iv
Essen
5. Mai 2009
Divisor and ideal class groups
Let
• x ∈ F be separating with (x)∞ = nP and deg(P) = 1,
• R = Cl(k[x], F).
• n = O(g).
Then
• R is a Dedekind domain.
• Ideals I 6= {0} of R are free k[x]-modules of rank n and form a
multiplicative monoid with cancellation law.
• Pic(R) = ( group of fractional ideals )/( group of principal ideals ).
• Pic(R) ∼
= Pic0(F).
Florian Heß
7– iii
Essen
5. Mai 2009
Arithmetic in the ideal class group
Represent ideal classes [I] by integral ideals I of small degree“.
”
Basic ideal operations for integral ideals I, J:
• Simple multiplication: Compute zI for z ∈ J.
• Integral division: Compute I/J for J | I.
Degree reduction:
• Rz/I has small degree if z ∈ I has degree close to that of I.
• Do not neccessarily get unique reduction ... but yields bounded
representation for I −1 and I.
When writing z ∈ I we always mean to pick z of degree
close to that of I.
Florian Heß
8– iv
Essen
5. Mai 2009
Arithmetic in the ideal class group
Arithmetic operations for [I], [J] ∈ Pic(R):
• Division: [I][J]−1 = [(zI)/J] for z ∈ J.
• Inversion: Use division with [I] = [R].
• Multiplication: Use division and inversion.
Equality test for [I], [J] ∈ Pic(R):
• Let [K] = [I][J]−1.
• Then [I] = [J] iff K = Rz for some z ∈ K of smallest degree.
Use linear algebra over k[x]!
Florian Heß
9– iv
Essen
5. Mai 2009
Bases, matrices and degree function
Integral basis ω1, . . . , ωn ∈ R of R:
• ∀z ∈ R : ∃ unique λi ∈ k[x] such that z = ∑i λiωi.
• Multiplication table λi, j,ν ∈ k[x]: ωiω j = ∑ν λi, j,νων.
Ideal basis αi ∈ I of ideal I:
• ∀z ∈ I : ∃ unique λi ∈ k[x] such that z = ∑i λiαi.
• Basis matrix MI ∈ k[x]n×n: (α1, . . . , αn) = (ω1, . . . , ωn)MI .
Principal ideal I:
• I = Rz for some z ∈ I.
• Representation matrix Mz ∈ k[x]n×n: (zω1, . . . , zωn) = (ω1, . . . , ωn)Mz.
Degree function:
• deg∗(z) = −vP(z) for z ∈ R, deg∗(I) = deg(det(MI )).
• Have deg∗(z) = deg∗(Rz), deg∗(x) = n.
Florian Heß
10– v
Essen
5. Mai 2009
Bounded representations
Fix ω1, . . . , ωn with successively smallest deg∗-values and let d = g/n.
Theorem:
1. There is a basis αi of I with deg∗(αi) ≤ deg∗(I) + 2g for all i.
There is α j with deg∗(α j ) ≤ deg∗(I) + g.
2. Elements of Pic(R) can be represented by I with deg∗(I) ≤ g.
3. deg(λi, j,ν)) ≤ 4d.
4. deg∗(∑i λiωi) ≤ w ⇒ deg(λi) ≤ w/n for all i.
5. deg∗(I) ≤ w ⇒ there is a basis matrix MI with deg(MI ) ≤ w/n.
Represent elements of Pic(R) by integral ideals of degree ≤ g with
n × n basis matrices of degree ≤ 3d.
Florian Heß
11– viii
Essen
5. Mai 2009
Linear algebra over polynomial rings
References: Storjohann, Villard, ...
Matrix multiplication in dimension n and degree d:
• Time O(d 2n3).
Degree reduction (function field LLL, weak Popov form):
• Let M = (v1, . . . , vm) ∈ k[x]n×m, r be the rank of M,
d = deg(M) = maxi deg(vi) the maximum polynomial degree in M.
• M is reduced iff deg(∑i λivi) = maxi deg(λivi) for all λi ∈ k[x].
• M can be transformed into reduced matrix by unimodular column
operations in time O(d 2nmr).
Kernel of M:
• Assume M has a basis matrix K for the k[x]-column kernel with
deg(K) ≤ d and that m ≥ n.
• Then such a K can be computed in time O(d 2m3).
Florian Heß
12– iv
Essen
5. Mai 2009
Simple multiplication
Compute zI for z ∈ R with deg∗(z) = O(g) and I integral
ideal with deg∗(I) = O(g).
Algorithm:
• Compute representation matrix Mz of z wrt ωi.
If z = ∑i µiωi then zω j = ∑ν(∑i µiλi, j,ν)ων.
• Multiply Mz and basis matrix of I to obtain a basis matrix of zI.
Note deg∗(zI) = deg∗(z) + deg∗(I).
Each step requires time O(d 2n3).
Florian Heß
13– iii
Essen
5. Mai 2009
Integral division
Let I, J with I | J and deg∗(J) = O(g). Compute JI −1 = {z ∈ R | zI ⊆ J}.
• Let I = ∑hj=1 Rβ j and MJ be the basis matrix of J.
• For z = ∑i λiωi and λ = (λ1, . . . , λn)t ∈ k[x]n:
 

 λ
Mβ1 MJ
 v1 
−1
n  .
.
  .  = 0.
..
.
z ∈ JI ⇔ ∃vi ∈ k[x] :
 . 
MJ
Mβh
vh
Algorithm:
• Compute basis of kernel of big matrix, has rank n and degree O(d).
• Top n × n matrix yields basis matrix of JI −1.
Required time O(d 2(hn)3).
Florian Heß
14– v
Essen
5. Mai 2009
Ideal basis reduction
Ideal basis reduction for I with deg∗(I) = O(g):
• Let di = ⌈deg∗(ωi)/n⌉. Then di = O(d).
• Let MI be a basis matrix of I with deg(MI ) = O(d).
Algorithm:
• Multiply the i-th row of MI by xdi for all i
• Apply the reduction algorithm.
• Divide the i-th row of the result by xdi for all i.
• Denote the result by MI .
The basis elements αi then satisfy deg∗(αi) ≤ deg∗(I) + 2g
and there is α j with deg∗(α j ) ≤ deg∗(I) + g.
Required time O(d 2n3).
Florian Heß
15– iv
Essen
5. Mai 2009
Degree reduction
Degree reduction I with deg∗(I) = O(g):
• Let MI be a basis matrix of I with deg(MI ) = O(d).
Algorithm:
• Apply ideal basis reduction to I, yields new basis matrix Mi.
• Let z = α j with deg∗(α j ) ≤ deg∗(I) + g.
• Apply simple multiplication and integral division to obtain Rz/I.
The ideal Rz/I satisfies deg∗(Rz/I) ≤ g. Apply procedure twice to
reduce I.
Required time O(d 2n3).
Florian Heß
16– iv
Essen
5. Mai 2009
Principal ideal test
Principal ideal test for I with deg∗(I) = O(g):
• deg∗(z) ≥ deg∗(I) for all z ∈ I,
• I = Rz iff z ∈ I and deg∗(z) = deg∗(I).
• Let αi be a reduced ideal basis.
• The ideal basis reduction also yields integers e1 ≤ · · · ≤ en with
L (I, r) = {z ∈ I | deg∗(z) ≤ rn} = {∑i λiαi | deg(λi) ≤ −ei + r} for all r ∈ Z.
• If z ∈ R such that deg∗(zI) = rn, then zI principal iff L (zI, r) 6= 0.
Algorithm:
• Compute z ∈ R such that deg∗(zI) = rn and deg∗(z) = O(g).
(Precomputation for all possible degrees of I).
• Using ideal basis reduction on zI check L (zI, r) 6= 0.
Required time O(d 2n3).
Florian Heß
17– iv
Essen
5. Mai 2009
Ideal generating sets
Time for integral division is O(d 2(hn)3).
Let I be an ideal with deg∗(I) = O(g) and reduced basis αi.
Let h = max{logq(g), 2}.
Proposition (KM):
• A random choice of h elements β j of ∑ni=1 kαi is a generating
system for I with probability ≥ 1/2.
Algorithm for integral division:
• Choose h random such β j (for n = O(1) we can take the αi).
• Compute reduced basis of J/ ∑ j Rβ j .
• If deg∗(J/ ∑ j Rβ j ) 6= deg∗(J) − deg∗(I) then repeat.
Required expected time O∼(d 2n3).
Florian Heß
18– iii
Essen
5. Mai 2009
Multiplication table speed up
Time for representation matrix computation O(d 2n3).
Use FFT inspired/based technique:
• Work in R/RxO(d), can lift elements of small degree back to R.
• Assume there is y ∈ R such that gcd((R : k[x, y]), x) = 1.
• Then R/xd ∼
= k[x, y]/xd , are free k[x]/xd -modules.
• Isomorphism evaluated by multiplication of unimodular n × n
matrix of degree ≤ d.
• Multiplication in k[x, y]/xd in time O(d 2n2) or O∼(dn).
Florian Heß
19– ii
Essen
5. Mai 2009
Pairing computation
Need to evaluate the functions z ∈ R occuring in simple multiplication
and principal ideal test:
• Compute norm of z in R/J over k.
• If zero then choose different equivalent J.
• No inversions necessary.
• Maybe can use J for FFT inspired technique simultaneously
(counted before as precomputation).
• O(log2(r)) evaluations in total.
Runtime not evaluated yet ...
Florian Heß
20
Essen
5. Mai 2009
Conclusion
The overall running time for arithmetic in Pic0(F) is
O∼(d 2n3) = O∼(g2n)
where dn = g.
• For d = O(1) we obtain O∼(g3) (KM).
• For n = O(1) we obtain O(g2) (H).
• For Ca,b curves we obtain O∼(g5/2).
The running time linkable to linear algebra over polynomial rings
with nd = g, should result in O∼(dnω) = O∼(gnω−1).
An n = O(1) and time O(g2) or O∼(g) implementation is available in
the computer algebra systems Kash and Magma.
Pairings should be similar ... runtime O∼(log2(r)gnω−1).
Florian Heß
21– v
Essen
5. Mai 2009