Logarithme discret dans les corps finis : NFS Spécial et Multiple.
Moyennes et grandes caractéristiques.
Cécile Pierrot
Laboratoire d’Informatique de Paris 6 Institut Mathématique de Jussieu & INRIA
UPMC, Paris, France Financée par : DGA/CNRS
Journées C2 2014, Les Sept Laux
Log Discret dans les corps finis Multiple Number Field Sieve (MNFS) Special Number Field Sieve (SNFS)
Le Problème du Logarithme Discret Algorithmes par Calcul d’Indice Number Field Sieve (NFS)
Le Problème du Logarithme Discret (DLP)
Groupe multiplicatif G engendré parg :
résoudre le problème du logarithme discret dans G, c’est inverser la fonctionx 7→gx
Un problème difficile en général
(et considéré comme tel en cryptographie) Deux familles d’algorithmes :
Algorithmes généraux Algorithmes spécifiques
Calcul d’Indice
NFS appartient à cette famille Phase de Crible
→ Crée de nombreuses relations multiplicatives creuses entre certains éléments spécifiques (la base de lissité)
Y(gi)ei =Y(gi0)ei0
→ Donc de nombreuses équations linéaires Phase d’Algèbre Linéaire
→ Retrouve les log discrets des éléments de la base de lissité Phase de Logarithme Individuel
→ Retrouve le log discret d’un élément arbitraire
Log Discret dans les corps finis Multiple Number Field Sieve (MNFS) Special Number Field Sieve (SNFS)
Le Problème du Logarithme Discret Algorithmes par Calcul d’Indice Number Field Sieve (NFS)
Préliminaires à la Phase de Crible
Comment obtenir des relations ? E
E1 E2
G
g1
g2
h1
h2
Pour toutx appartenant àE, nous avons : h1(g1(x)) =h2(g2(x)).
"Bonnes" relations = écriture via les éléments de la base de lissité uniquement.
Préliminaires à la Phase de Crible
Comment obtenir des relations ? E
E1 E2
G
g1
g2
h1
h2
Pour toutx appartenant àE, nous avons : h1(g1(x)) =h2(g2(x)).
"Bonnes" relations = écriture via les éléments de la base de lissité uniquement.
Log Discret dans les corps finis Multiple Number Field Sieve (MNFS) Special Number Field Sieve (SNFS)
Le Problème du Logarithme Discret Algorithmes par Calcul d’Indice Number Field Sieve (NFS)
Crible par Corps de Nombres / Number Field Sieve (NFS)
Résout le DLP pour (tous) les corps finis Fpn
de caractéristiques moyennes ou grandes.
Préliminaires :
Trouver deux polynômesf1etf2de pgcd irréductible et de degrénmodulop.
DéfinitFpn comme le plus petit corps où les deux polynômes ont une racine commune.
Crible par Corps de Nombres / Number Field Sieve (NFS)
Résout le DLP pour (tous) les corps finis Fpn
de caractéristiques moyennes ou grandes.
Préliminaires :
Trouver deux polynômesf1etf2de pgcd irréductible et de degrénmodulop.
DéfinitFpn comme le plus petit corps où les deux polynômes ont une racine commune.
Log Discret dans les corps finis Multiple Number Field Sieve (MNFS) Special Number Field Sieve (SNFS)
Le Problème du Logarithme Discret Algorithmes par Calcul d’Indice Number Field Sieve (NFS)
Diagramme Commutatif
Avecmune racine de ces polynômes dans Fpn :
Z[X]
Q[X]/(f1(X))≈Q(θ1) Q(θ2)≈Q[X]/(f2(X))
Fpn X 7→θ1
X 7→θ2
θ17→m
θ27→m
Base de lissité: objets de normes (dans les corps de nombres) plus petites qu’une certaineborne de lissité B.
Log Discret dans les corps finis Multiple Number Field Sieve (MNFS) Special Number Field Sieve (SNFS)
Le Problème du Logarithme Discret Algorithmes par Calcul d’Indice Number Field Sieve (NFS)
Complexités des Algorithmes par Calcul d’Indice
Notation : LQ(α,c) =exp c(logQ)α(log logQ)1−α
Complexités
0 13 23 1 lp
Quasi-PolynomialFFS NFS
LQ 1 3
LQ
1
3,1289 1/3
LQ
1
3,6491/3
LQ(α+o(1)) whenp=LQ(α)
moyenp grandp
petitp
Log Discret dans les corps finis Multiple Number Field Sieve (MNFS) Special Number Field Sieve (SNFS)
Le Problème du Logarithme Discret Algorithmes par Calcul d’Indice Number Field Sieve (NFS)
Complexités des Algorithmes par Calcul d’Indice
Notation : LQ(α,c) =exp c(logQ)α(log logQ)1−α Dans FQ de caractéristiquep =LQ(lp,c) :
Complexités
0 13 23 1 lp
Quasi-PolynomialFFS NFS
LQ 1 3
LQ
1
3,1289 1/3
LQ
1
3,6491/3
LQ(α+o(1)) whenp=LQ(α)
moyenp grandp
petitp
The Multiple Number Field Sieve, Co-écrit avec Razvan Barbulescu.
Résout le DLP pour tousles corps finisFpn de caractéristiques moyennes et grandes.
TheSpecial Number Field Sieve, Co-écrit avec Antoine Joux, publié à Pairing 2013.
Résout le DLP pour certainsles corps finis de caractéristiques moyennes et grandes.
Log Discret dans les corps finis Multiple Number Field Sieve (MNFS) Special Number Field Sieve (SNFS)
L’algorithme
Complexités asymptotiques
Idée qui provient de la factorisation d’entiers [Cop93]et du DLP dans les corps premiers[Mat03].
Avecm une racine commune de f1, . . . ,fV dansFpn : Z[X]
Q(θ1) Q(θ2) Q(θi) Q(θV−1) Q(θV)
Fpn X7→θi
θi7→m
Choix des polynômes f1 et f2 avec une racine communem dans Fpn ⇒ combinaison linéaire⇒fi =αf1+βf2.
Moyenne VS Grande Caractéristique
Moyenne Caractéristique:
Sélection polynomiale : f1 etf2 ont même degrés, même tailles de coeffs.⇒ même normes dans tous les Q(θi).
Crible : on conserve les polynômes de hauts degrés qui
donnent des normes inférieures à B dans (au moins)une paire de corps de nombres.
Log Discret dans les corps finis Multiple Number Field Sieve (MNFS) Special Number Field Sieve (SNFS)
L’algorithme
Complexités asymptotiques
Moyenne VS Grande Caractéristique
Grande Caractéristique:
Sélection polynomiale : f1 et f2 même tailles de coeffs mais degf2 >degf1 ⇒ normes plus grandes dans Q(θ2). . .Q(θV).
Crible : on conserve les polynômes de degré 1qui donnent une norme inférieure àB dansle premier corps de hombre et une norme inférieure à B0 dans (au moins) l’un des autres corps de nombres.
Complexités asymptotiques : NFS
2ndecstedelacomplexité
1 3
2
3 1 lp
FFS NFS
LQ 1 3
LQ
1
3,1289 1/3
LQ
1
3,6491/3
(128/9)1/3≈2.42
(64/9)1/3≈1.92
moyenp grandp
Log Discret dans les corps finis Multiple Number Field Sieve (MNFS) Special Number Field Sieve (SNFS)
L’algorithme
Complexités asymptotiques
Complexités asymptotiques : NFS et MNFS
2ndecstedelacomplexité
1 3
2
3 1 lp
FFS NFS
MNFS LQ
1 3,23136
1/3
LQ
1 3,
92+26√ 13 27
1/3
LQ 1 3
LQ
1
3,1289 1/3
LQ
1
3,6491/3
(128/9)1/3≈2.42 (213/36)1/3≈2.24
(64/9)1/3≈1.92 (92+26√
13)/27))1/3≈1.90
moyenp grandp
Complexités asymptotiques : NFS et MNFS
2ndecstedelacomplexité
1 3
2
3 1 lp
FFS NFS
?
MNFS LQ
1 3,23136
1/3
LQ
1 3,
92+26√ 13 27
1/3
LQ 1 3
LQ
1
3,1289 1/3
LQ
1
3,6491/3
(128/9)1/3≈2.42 (213/36)1/3≈2.24
(64/9)1/3≈1.92 (92+26√
13)/27))1/3≈1.90
moyenp grandp
Log Discret dans les corps finis Multiple Number Field Sieve (MNFS) Special Number Field Sieve (SNFS)
L’algorithme
Complexités asymptotiques
Complexités asymptotiques : NFS et MNFS
2ndecstedelacomplexité
1 3
2
3 1 lp
FFS NFS
MNFS LQ
1 3,23136
1/3
LQ
1 3,
92+26√ 13 27
1/3
LQ 1 3
LQ
1
3,1289 1/3
LQ
1
3,6491/3
(128/9)1/3≈2.42 (213/36)1/3≈2.24
(64/9)1/3≈1.92 (92+26√
13)/27))1/3≈1.90
moyenp grandp
Log Discret dans les corps finis Multiple Number Field Sieve (MNFS) Special Number Field Sieve (SNFS)
Corps finis de caractéristique creuse Choix des Polynômes
Complexités asymptotiques
Corps finis de caractéristique creuse
The Special Number Field Sieve in Fpn
Application to Pairing-Friendly Constructions.
Résout le DLP pour (certains) corps finis Fpn
de caractéristique moyenne à grande.
Dès lors que p=P(u)
oùP a petit degré et petits coeffs
u petit (en comparaison avecp) ⇒ représentation creuse. Application aux corps finis liés aux couplages (MNT ou courbes de Barreto-Naehrig...)
Log Discret dans les corps finis Multiple Number Field Sieve (MNFS) Special Number Field Sieve (SNFS)
Corps finis de caractéristique creuse Choix des Polynômes
Complexités asymptotiques
Corps finis de caractéristique creuse
The Special Number Field Sieve in Fpn
Application to Pairing-Friendly Constructions.
Résout le DLP pour (certains) corps finis Fpn
de caractéristique moyenne à grande.
Certains ? ⇒ meilleurs polynômes lorsquep est spécial.
Dès lors que p=P(u)
oùP a petit degré et petits coeffs
u petit (en comparaison avecp) ⇒ représentation creuse. Application aux corps finis liés aux couplages (MNT ou courbes de Barreto-Naehrig...)
Corps finis de caractéristique creuse
The Special Number Field Sieve in Fpn
Application to Pairing-Friendly Constructions.
Résout le DLP pour (certains) corps finis Fpn
de caractéristique moyenne à grande.
Certains ? ⇒ meilleurs polynômes lorsquep est spécial.
Dès lors que p=P(u)
oùP a petit degré et petits coeffs
u petit (en comparaison avecp) ⇒ représentation creuse.
Application aux corps finis liés aux couplages (MNT ou courbes de Barreto-Naehrig...)
Log Discret dans les corps finis Multiple Number Field Sieve (MNFS) Special Number Field Sieve (SNFS)
Corps finis de caractéristique creuse Choix des Polynômes
Complexités asymptotiques
Choix des Polynômes
Paramètres qui régissent la complexité de NFS : Degré des polynômes sur lesquels on crible.
Degré des polynômesf1 et f2 et taille deleurs coefficients.
Nouvelle construction (SNFS):
Construction unique que p soit moyen ou grand. f1(x) =h(x)−u avec h de degrén et à petits coeffs tel quef1 soit irréductible sur Fp.
f2(x) =P(h(x))de degrén·deg(P) et à petits coeffs f2(X) =P(f1(X) +u)≡P(u) =p,
où≡représente l’équivalence modf1(X).
⇒pgcd(f1,f2)est de degré n et irréductible sur Fp.
Log Discret dans les corps finis Multiple Number Field Sieve (MNFS) Special Number Field Sieve (SNFS)
Corps finis de caractéristique creuse Choix des Polynômes
Complexités asymptotiques
Choix des Polynômes
Paramètres qui régissent la complexité de NFS : Degré des polynômes sur lesquels on crible.
Degré des polynômesf1 et f2 et taille deleurs coefficients.
Nouvelle construction (SNFS):
Construction unique que p soit moyen ou grand.
tel quef1 soit irréductible sur Fp.
f2(x) =P(h(x))de degrén·deg(P) et à petits coeffs f2(X) =P(f1(X) +u)≡P(u) =p,
où≡représente l’équivalence modf1(X).
⇒pgcd(f1,f2)est de degré n et irréductible sur Fp.
Log Discret dans les corps finis Multiple Number Field Sieve (MNFS) Special Number Field Sieve (SNFS)
Corps finis de caractéristique creuse Choix des Polynômes
Complexités asymptotiques
Choix des Polynômes
Paramètres qui régissent la complexité de NFS : Degré des polynômes sur lesquels on crible.
Degré des polynômesf1 et f2 et taille deleurs coefficients.
Nouvelle construction (SNFS):
Construction unique que p soit moyen ou grand.
f1(x) =h(x)−u avec h de degrén et à petits coeffs tel quef1 soit irréductible sur Fp.
f2(x) =P(h(x))de degrén·deg(P) et à petits coeffs
f2(X) =P(f1(X) +u)≡P(u) =p, où≡représente l’équivalence modf1(X).
⇒pgcd(f1,f2)est de degré n et irréductible sur Fp.
Choix des Polynômes
Paramètres qui régissent la complexité de NFS : Degré des polynômes sur lesquels on crible.
Degré des polynômesf1 et f2 et taille deleurs coefficients.
Nouvelle construction (SNFS):
Construction unique que p soit moyen ou grand.
f1(x) =h(x)−u avec h de degrén et à petits coeffs tel quef1 soit irréductible sur Fp.
f2(x) =P(h(x))de degrén·deg(P) et à petits coeffs f2(X) =P(f1(X) +u)≡P(u) =p,
où≡représente l’équivalence modf1(X).
⇒pgcd(f1,f2)est de degré n et irréductible sur Fp.
Log Discret dans les corps finis Multiple Number Field Sieve (MNFS) Special Number Field Sieve (SNFS)
Corps finis de caractéristique creuse Choix des Polynômes
Complexités asymptotiques
Complexités asymptotiques : NFS et MNFS
2ndecstedelacomplexité
1 3
2
3 1 lp
FFS NFS
MNFS LQ
1 3,23136
1/3
LQ
1 3,
92+26√ 13 27
1/3
LQ 1 3
LQ
1
3,1289 1/3
LQ
1
3,6491/3
(128/9)1/3≈2.42 (213/36)1/3≈2.24
(64/9)1/3≈1.92 (92+26√
13)/27))1/3≈1.90
moyenp grandp
Complexités asymptotiques : NFS, MNFS et SNFS
2ndecstedelacomplexité
1 3
2
3 1 lp
FFS NFS
MNFS
SNFS LQ
1 3,23136
1/3
LQ
1 3,
92+26√ 13 27
1/3 LQ
1
3, 649 ·degdegP+1P 1/3 LQ
1
3, 3291/3 LQ 1
3
LQ
1
3,1289 1/3
LQ
1
3,6491/3
(128/9)1/3≈2.42 (213/36)1/3≈2.24
(64/9)1/3≈1.92 (92+26√
13)/27))1/3≈1.90 (32/9))1/3≈1.5
moyenp grandp
Log Discret dans les corps finis Multiple Number Field Sieve (MNFS) Special Number Field Sieve (SNFS)
Corps finis de caractéristique creuse Choix des Polynômes
Complexités asymptotiques
Merci pour votre attention !
Log Discret dans les corps finis Multiple Number Field Sieve (MNFS) Special Number Field Sieve (SNFS)
Corps finis de caractéristique creuse Choix des Polynômes
Complexités asymptotiques
An Example ?
The Barreto-Naehrig family is optimal for a 128 bits security level with :
P(x) =36x4+36x3+24x2+6x+1 R(x) =36x4+36x3+18x2+6x+1 Y(x) =6x2+4x+1
Choose u such thatP(u) andR(u)are primes and of convenient size. For u=b262.5c+54525 we have :
E :Y2=X3+3
overF65133050195992538051524258355272021564060086092744501919128354661463478504083. MOV Attack :E[R(u)]×E[R(u)]→Fp12
Consequences for pairing-friendly constructions ?
The best choice ? Balance DLPs !
⇒√
p =Lpn(1/3, γ) ⇔p=Lpn(1/3,2γ) Complexities in this boundary case ?
Before :Lpn(1/3,c1/3)withc >128/9 New analysis of NFS :c =128/9 SNFS :c= (64/9)·(degP+1)/(degP) Consequences :
Correct a mistake about generation of pairing-friendly curves (confusion Discrete Logs in high characteristic≈factorisation) Confirm the current choices of parameters.
Log Discret dans les corps finis Multiple Number Field Sieve (MNFS) Special Number Field Sieve (SNFS)
Corps finis de caractéristique creuse Choix des Polynômes
Complexités asymptotiques
Extension of NFS in the boundary case p = L
pn(1/3)
We want to upper-bound the resultant :
| det Sylv(h,f)|6Θkfkdeghkhkdegf withΘ = number of permutations with non zero contributions in the sum.
Θ? Let deg (h) =n and deg (f) =t.
Before :Θ6nttn. Kalkbrener gives :Θ6 n+tn · n+t−1t . Because of the following inequalities :
n+t n
· n+t−1t = n+tn (n+t)!n!t! 2
≤ n+tn (n+1)···(n+t) t!
2
≤ n+tn Qti=1(n+i)i 2
≤ n+tn Qti=1 ni +12 we obtain that Θ6(n+1)2t.
Generic Algorithms
Pohlig-Hellman :
Given a groupG of order Qpiei,
reduces the DLP in G to DLPs in groups of prime orderpi. Baby Step/Giant Step, Pollard’s rho :
Baby Step/Giant Step : LetT =d√ pe
1 Create lista,a/g,· · ·,a/gT−1
2 Create list 1,gT,g2T,· · ·,gT(T−1)
3 Find collision
Pollard’s rho : improved memoryless algorithm.
⇒ Discrete logs in G of prime orderp in O(√
p) operations.
Log Discret dans les corps finis Multiple Number Field Sieve (MNFS) Special Number Field Sieve (SNFS)
Corps finis de caractéristique creuse Choix des Polynômes
Complexités asymptotiques
Choice of Polynomials
Previously (NFS):
For mediump :f1 irreducible of degreen over Fp and f2 =f1+p
Small degrees but high coeffs for f2 For highp : based on lattice reduction of (f1,Xf1,· · · ,Xd−nf1,p,Xp,· · · ,Xdp)
⇒ f2 is a multiple off1 modulop but with smaller coeffs f1 with not too small coeffs (otherwise we get trivial multiples)
Some Obstructions Coming from Number Fields and its Solutions
How to go down ? Q[θ]
Fpn
No unique factorization over elements ⇒ we consider ideals in the ring of integers of Q[θ].
Ideals are not principal ⇒we (virtually) raise them to the power of the class number ofQ[θ].
Generators are not unique ⇒ Schirokauers maps.
Log Discret dans les corps finis Multiple Number Field Sieve (MNFS) Special Number Field Sieve (SNFS)
Corps finis de caractéristique creuse Choix des Polynômes
Complexités asymptotiques
SNFS Complexities for the boundary case p = L
pn(2/3, c
p)
1.6 1.7 1.8 1.9 2 2.1 2.2 2.3
0 2 4 6 8 10
SecondconstantoftheComplexityintheLQnotation
cp Sieving on Linear Polynomials
t=2
Algorithm for largerp– see [JLSV06]
t=3 t=4 t→∞
Lower bound C C2
C4
SNFS Asymptotic Complexities
p=Lpn(lp,cp) NFS SNFS
medium
characteristicp Lpn
1 3,
128 9
1/3! Lpn
1 3,
64
9 .degP+1 degP
1/3!
1/36lp<2/3 high
characteristicp Lpn
1 3,
64 9
1/3!
Lpn
1 3,
32 9
1/3!
∗
2/3<lp
∗. As soon as deg(P) = 1 2 logQ 1/3
Log Discret dans les corps finis Multiple Number Field Sieve (MNFS) Special Number Field Sieve (SNFS)
Corps finis de caractéristique creuse Choix des Polynômes
Complexités asymptotiques
Consequences for pairing-friendly constructions ?
The best choice ? Balance DLPs !
⇒√
p =Lpn(1/3) ⇔p =Lpn(1/3) Complexities in this boundary case ?
Before :Lpn(1/3,c1/3)withc >128/9 New analysis of NFS :c =128/9 ? ? SNFS :c= (64/9)·(degP+1)/(degP)
Log Discret dans les corps finis Multiple Number Field Sieve (MNFS) Special Number Field Sieve (SNFS)
Corps finis de caractéristique creuse Choix des Polynômes
Complexités asymptotiques
New analysis of NFS in the boundary case p = L
pn(1/3)
Until now [NFS by JLSV 2006] :
Computing the norm ofhinQ[X]/f(X)is computing the resultant :
| det Sylv(h,f)| = |P
σj∈SDsign(σj)QD
k=1Sylvk,σj(k)|.
Can be upper bounded by :
Θkfkdeghkhkdegf
withΘ =number of permutations with non zero contributions in the sum.
Now : new bound on Θ⇒ negligible again⇒ restore the analysis ⇒ extend the 128/9 to this boundary case.
Log Discret dans les corps finis Multiple Number Field Sieve (MNFS) Special Number Field Sieve (SNFS)
Corps finis de caractéristique creuse Choix des Polynômes
Complexités asymptotiques
New analysis of NFS in the boundary case p = L
pn(1/3)
Until now [NFS by JLSV 2006] :
Computing the norm ofhinQ[X]/f(X)is computing the resultant :
| det Sylv(h,f)| = |P
σj∈SDsign(σj)QD
k=1Sylvk,σj(k)|.
Can be upper bounded by :
Θkfkdeghkhkdegf
withΘ =number of permutations with non zero contributions in the sum.
Whenp>Lpn(1/3),Θwas negligible, but no more in the boundary case :⇒complexity raises.
Now : new bound on Θ⇒ negligible again⇒ restore the analysis ⇒ extend the 128/9 to this boundary case.
New analysis of NFS in the boundary case p = L
pn(1/3)
Until now [NFS by JLSV 2006] :
Computing the norm ofhinQ[X]/f(X)is computing the resultant :
| det Sylv(h,f)| = |P
σj∈SDsign(σj)QD
k=1Sylvk,σj(k)|.
Can be upper bounded by :
Θkfkdeghkhkdegf
withΘ =number of permutations with non zero contributions in the sum.
Whenp>Lpn(1/3),Θwas negligible, but no more in the boundary case :⇒complexity raises.
Now : new bound on Θ⇒ negligible again⇒ restore the analysis ⇒ extend the 128/9 to this boundary case.
Log Discret dans les corps finis Multiple Number Field Sieve (MNFS) Special Number Field Sieve (SNFS)
Corps finis de caractéristique creuse Choix des Polynômes
Complexités asymptotiques
What about the quasi-polynomial algorithm ? Algorithm in exp(O(logqlogk))for Fqk.
Id est : in nO(logn) wheren is the bitsize of the cardinality of the field.
More precisely, for Fqk, ifq can be written asq =Lqk(c), the complexity is in Lqk(c+o(1)).
How ? Modification in the descent phase.
Really works ? No implementation at the moment.