Grbner Bases: a Tools for Cryptology Jean-Charles Faugre PolSys - - - PowerPoint PPT Presentation

gr bner bases a tools for cryptology
SMART_READER_LITE
LIVE PREVIEW

Grbner Bases: a Tools for Cryptology Jean-Charles Faugre PolSys - - - PowerPoint PPT Presentation

Grbner Bases: a Tools for Cryptology Jean-Charles Faugre PolSys - INRIA/UPMC ECRYPT II Summer School on Tools 2012 Plan Grbner Bases: a Tools for Cryptology Introduction to Algebraic Cryptanalysis and Grbner bases. Part I


slide-1
SLIDE 1

Gröbner Bases: a Tools for Cryptology

Jean-Charles Faugère PolSys - INRIA/UPMC

ECRYPT II Summer School on Tools 2012

slide-2
SLIDE 2

Plan

Gröbner Bases: a Tools for Cryptology

☞ Introduction to Algebraic Cryptanalysis and Gröbner bases. Part I Efficient algorithms and linear algebra. Part II Complexity of computing Gröbner bases.

slide-3
SLIDE 3

Polynomial System Solving and Applications

K ⊆ L Multivariate Polynomial Problem (PoSSo) Input: (f1, . . . , fm) ∈ K[x1, . . . , xn]m Question: Find – if any – z ∈ Ln such that f1(z) = ∙ ∙ ∙ = fm(z) = 0. Denote by VL the set of solutions. Focus Algebraic Computations Exact methods Approach Algorithms and complexity analysis Applications to validate the performance Write efficient software (integration in Maple).

slide-4
SLIDE 4

Gröbner Bases

Buchberger (1965)

In this talk we focus on Gröbner bases methods. One of the fastest method to solve polynomial equations when K = L = Fq or K = Q and L = R or L = C Other efficient methods: Numerical methods: homotopy methods (continuation methods) Resultants Triangular Sets SAT Solvers in the Boolean case K = L = F2 . . .

slide-5
SLIDE 5

Gröbner Bases

Definition (Buchberger 65) I a polynomial ideal. Gröbner basis (w.r.t. ≺ a monomial ordering): G ⊂ I a finite set of polynomials such that LM(I) = LM(G). Bruno Buchberger

☞ definition of a reduction function

Theorem (Buchberger) f∈ I iff Reduction(f, G) = 0

slide-6
SLIDE 6

Gröbner Bases

Definition (Buchberger 65) I a polynomial ideal. Gröbner basis (w.r.t. ≺ a monomial ordering): G ⊂ I a finite set of polynomials such that LM(I) = LM(G). Theorem VF2 = ∅ ( no solution) iff GF2 = [1]. VF2 has exactly one solution iff GF2 = [x1 − a1, . . . , xn − an] where (a1, . . . , an) ∈ Fn

2.

Most of the time, if #VK < ∞ the shape of a Gröbner Basis for a lexicographical ordering x1 > ∙ ∙ ∙ > xn is the following:

slide-7
SLIDE 7

Gröbner Bases

Definition (Buchberger 65) I a polynomial ideal. Gröbner basis (w.r.t. ≺ a monomial ordering): G ⊂ I a finite set of polynomials such that LM(I) = LM(G). Theorem VF2 = ∅ ( no solution) iff GF2 = [1]. VF2 has exactly one solution iff GF2 = [x1 − a1, . . . , xn − an] where (a1, . . . , an) ∈ Fn

2.

Most of the time, if #VK < ∞ the shape of a Gröbner Basis for a lexicographical ordering x1 > ∙ ∙ ∙ > xn is the following: Shape Position          hn(xn) xn−1 − hn−1(xn) . . . x1 − h1(xn)

slide-8
SLIDE 8

Algorithms to compute GB

Usually a two steps process: Input System Gröbner Basis: total degree Gröbner Basis: lexicographical FGLM: ≈ minimal polynomial

  • f some matrix

Buchberger F4/F5 rely on linear algebra

slide-9
SLIDE 9

Algebraic Cryptanalysis

Crypto ← →Computer Algebra

slide-10
SLIDE 10

Algebraic Cryptanalysis

A General Method for Cryptanalysis Security of a cryptosystem hardness of solving a related multivariate polynomial system Cryptosystem (+ messages, ciphertexts, ...)

4 x2 + 5 x + 6 y2 + 3 y z + 5 y + 1 = 0 5 x2 + x y + 2 x z + 6 z2 + 3 z + 3 = 0 6 x z + 5 y2 + 2 y + 4 z2 + 6 z + 5 = 0

Secret Modeling

slide-11
SLIDE 11

Algebraic Cryptanalysis

A General Method for Cryptanalysis Security of a cryptosystem hardness of solving a related multivariate polynomial system Cryptosystem (+ messages, ciphertexts, ...)

4 x2 + 5 x + 6 y2 + 3 y z + 5 y + 1 = 0 5 x2 + x y + 2 x z + 6 z2 + 3 z + 3 = 0 6 x z + 5 y2 + 2 y + 4 z2 + 6 z + 5 = 0 x = 4 y = 2 z = 0

Secret Modeling Solving

slide-12
SLIDE 12

New trend

Very often experiment is needed to test the efficiency of the solving step. New trend Theoretical complexity analysis to explain the behavior of the attack

This is also useful to help the designers of new cryptosystems.

Roadmap: Specificity of the Cryptosystem − → Structured System What is the complexity of solving Structured System ?

slide-13
SLIDE 13

Polynomial System Solving: structured systems

K ⊆ L Multivariate Polynomial Problem (PoSSo) Input: (f1, . . . , fm) ∈ K[x1, . . . , xn]m Question: Find – if any – one z ∈ Ln such that f1(z) = ∙ ∙ ∙ = fm(z) = 0. NP-hard even when K = K2

slide-14
SLIDE 14

Polynomial System Solving: structured systems

K ⊆ L Multivariate Polynomial Problem (PoSSo) Input: (f1, . . . , fm) ∈ K[x1, . . . , xn]m Question: Find – if any – one z ∈ Ln such that f1(z) = ∙ ∙ ∙ = fm(z) = 0.

☞ Try to identify families of systems which are “easier to solve”:

slide-15
SLIDE 15

Polynomial System Solving: structured systems

K ⊆ L Multivariate Polynomial Problem (PoSSo) Input: (f1, . . . , fm) ∈ K[x1, . . . , xn]m Question: Find – if any – one z ∈ Ln such that f1(z) = ∙ ∙ ∙ = fm(z) = 0.

☞ Try to identify families of systems which are “easier to solve”:

Almost all systems occurring in applications have a special structure: Symmetries: equations are left invariant by the action of a finite group. Sparse equations Overdetermined systems m ≫ n Multihomogeneous structure . . .

slide-16
SLIDE 16

Sparse Equations

Boolean Case K = L = F2 Sparse = each equation depends on ℓ variables, the expected complexity of the Agreeing-Gluing Algorithm is: O(20.711n) when ℓ = 6 O(20.405n) when ℓ = 3 .

  • I. Semaev.

Sparse algebraic equations over finite fields. SIAM J. Comput., 39(2):388–409, 2009.

slide-17
SLIDE 17

Part I

Efficient algorithms and linear algebra.

Simple matrix F5 algorithm. Fast Change of Ordering. Structured linear algebra to speedup the computations.

slide-18
SLIDE 18

F5 algorithm: simple matrix version

Get rid of the trivial relations: fifj − fjfi = 0 f 2

i − fi = 0 when K = F2

Incremental algorithm (f1) + Gprev Incremental degree by degree Special/Simpler version of F5 for dense/generic quadratic polynomials. the maximal degree D is a parameter of the algorithm.

               m1 m2 m3 m4 m5 . . . u1f1 1 x x x x . . . . . . ... x x x . . . ur1 f1 1 x x . . . . . . . . . . . . . . . . . . . . . . . . vrk−1 fk−1 1 x x . . . w1fk 1 x . . . w2fk 1 . . .               

slide-19
SLIDE 19

F5: compute Groebner (f1, . . . , fk), d + 1)

Already computed Groebner (f1, . . . , fk), d) Matrix in degree d

                    m1 m2 m3 m4 m5 . . . u1f1 1 x x x x . . . . . . ... x x x . . . ur1 f1 1 x x . . . . . . . . . . . . . . . . . . . . . . . . vrk−1 fk−1 1 x x . . . w1fk 1 x . . . w2fk 1 . . .                    

slide-20
SLIDE 20

F5: compute Groebner (f1, . . . , fk), d + 1)

Matrix in degree d

                    m1 m2 m3 m4 m5 . . . u1f1 1 x x x x . . . . . . ... x x x . . . ur1 f1 1 x x . . . . . . . . . . . . . . . . . . . . . . . . vrk−1 fk−1 1 x x . . . w1fk 1 x . . . w2fk 1 . . .                    

slide-21
SLIDE 21

F5: compute Groebner (f1, . . . , fk), d + 1)

Matrix in degree d

                    m1 m2 m3 m4 m5 . . . u1f1 1 x x x x . . . . . . ... x x x . . . ur1 f1 1 x x . . . . . . . . . . . . . . . . . . . . . . . . vrk−1 fk−1 1 x x . . . w1fk 1 x . . . w2fk 1 . . .                     if w1 = xα1

1

· · · x

αj j

slide-22
SLIDE 22

F5: compute Groebner (f1, . . . , fk), d + 1)

Matrix in degree d

                    m1 m2 m3 m4 m5 . . . u1f1 1 x x x x . . . . . . ... x x x . . . ur1 f1 1 x x . . . . . . . . . . . . . . . . . . . . . . . . vrk−1 fk−1 1 x x . . . w1fk 1 x . . . w2fk 1 . . .                     if w1 = xα1

1

· · · x

αj j

Matrix in degree d + 1

                t1 t2 t3 t4 t5 . . . . . . . . . w1xj fk 1 x x x . . . w1xj+1fk 1 x x . . . . . . . . . . . . . . . . . . . . . . . . w1xnfk 1 x . . . . . . . . .                

slide-23
SLIDE 23

F5: compute Groebner (f1, . . . , fk), d + 1)

Matrix in degree d

                    m1 m2 m3 m4 m5 . . . u1f1 1 x x x x . . . . . . ... x x x . . . ur1 f1 1 x x . . . . . . . . . . . . . . . . . . . . . . . . vrk−1 fk−1 1 x x . . . w1fk 1 x . . . w2fk 1 . . .                     if w1 = xα1

1

· · · x

αj j

Matrix in degree d + 1

                  t1 t2 t3 t4 t5 . . . . . . . . . w1xj fk 1 x x x . . . w1xj+1fk 1 x x . . . . . . . . . . . . . . . . . . . . . . . . w1xnfk 1 x . . . . . . . . .                  

slide-24
SLIDE 24

F5: compute Groebner (f1, . . . , fk), d + 1)

Matrix in degree d

                    m1 m2 m3 m4 m5 . . . u1f1 1 x x x x . . . . . . ... x x x . . . ur1 f1 1 x x . . . . . . . . . . . . . . . . . . . . . . . . vrk−1 fk−1 1 x x . . . w1fk 1 x . . . w2fk 1 . . .                     if w1 = xα1

1

· · · x

αj j

Matrix in degree d + 1

                  t1 t2 t3 t4 t5 . . . . . . . . . w1xj fk 1 x x x . . . w1xj+1fk 1 x x . . . . . . . . . . . . . . . . . . . . . . . . w1xnfk 1 x . . . . . . . . .                  

Remove w1xj+1fk iff

w1xj+1 ∈ LT(f1, . . . , fk−1)

slide-25
SLIDE 25

F5: compute Groebner (f1, . . . , fk), d + 1)

Matrix in degree d

                    m1 m2 m3 m4 m5 . . . u1f1 1 x x x x . . . . . . ... x x x . . . ur1 f1 1 x x . . . . . . . . . . . . . . . . . . . . . . . . vrk−1 fk−1 1 x x . . . w1fk 1 x . . . w2fk 1 . . .                     if w1 = xα1

1

· · · x

αj j

Matrix in degree d + 1

                  t1 t2 t3 t4 t5 . . . . . . . . . w1xj fk 1 x x x . . . w1xj+1fk 1 x x . . . . . . . . . . . . . . . . . . . . . . . . w1xnfk 1 x . . . . . . . . .                  

Remove w1xj+1fk iff

w1xj+1 ∈ LT(Groebner (f1, . . . , fk−1), d − 1)

slide-26
SLIDE 26

Structure inside Gröbner basis computation

F4/F5 algorithms develop specifjc linear algebra algorithms and implementations. linear algebra: a key step for Gröbner bases

take into

account the specific properties

  • f the matrices.

Minrank: [Issac 2010] 935s − → [Pasco 2010] 73s

slide-27
SLIDE 27

Sparse and Fast FGLM

joint work with C. Mou, L. Huot, P. Gaudry, PJ Spaenlehauer

Use the sparsity Fast asymptotic version of FGLM

slide-28
SLIDE 28

FGLM - Bottleneck

with C. Mou

Input System Gröbner Basis: total degree Gröbner Basis: lexicographical Bottleneck! FGLM: ≈ minimal polynomial

  • f some matrix

Buchberger F4/F5 rely on linear algebra

slide-29
SLIDE 29

FGLM - Bottleneck

with C. Mou

Input System Gröbner Basis: total degree Gröbner Basis: lexicographical Bottleneck! FGLM: ≈ minimal polynomial

  • f some matrix

Buchberger F4/F5 rely on linear algebra

Magma

MinRank(9,7,4) MinRank(9,8,5) Random(14, 2) Random(15, 2) D 4116 14112 214 215 Step 1 208.1s 3343.5s 7832.4s 74862.9s Step 2 1360.4s >1 day 84374.6s >15 days

slide-30
SLIDE 30

FGLM - Bottleneck

with C. Mou

Input System Gröbner Basis: total degree Gröbner Basis: lexicographical Bottleneck! FGLM: ≈ minimal polynomial

  • f some matrix

Buchberger F4/F5 rely on linear algebra

Magma

MinRank(9,7,4) MinRank(9,8,5) Random(14, 2) Random(15, 2) D 4116 14112 214 215 Step 1 208.1s 3343.5s 7832.4s 74862.9s Step 2 1360.4s >1 day 84374.6s >15 days Goal: a faster algorithm for the change of ordering

slide-31
SLIDE 31

FGLM in a nutshell

Input: some Gröbner basis G1 of I for some order <1 D is the number of solutions NormalForm(f) = 0 ⇔ f ∈ I Step 1: Compute B = [b1, . . . , bD], the canonical basis of K[x1, . . . , xn]/G1 ordered according to <1 Step 2: Construct multiplication matrices Ti Multiplication matrix by xi : (D × D)-matrix represent: bj − → NormalForm(xibj), j = 1, . . . , D.

◮ change of ordering ⇋ linear algebra on Ti

slide-32
SLIDE 32

FGLM in a nutshell

Step 3: Handles terms in K[x1, . . . , xn] one by one according to <2

slide-33
SLIDE 33

FGLM in a nutshell

Step 3: Handles terms in K[x1, . . . , xn] one by one according to <2 monomial xs s = (s1, . . . , sn) xk

1

= ⇒ = ⇒ coordinate vector vs = T s1

1 ∙ ∙ ∙ T sn n 1,

where 1 = (1, 0, . . . , 0)t T k

1 1

slide-34
SLIDE 34

FGLM in a nutshell

Step 3: Handles terms in K[x1, . . . , xn] one by one according to <2 monomial xs s = (s1, . . . , sn) xk

1

= ⇒ = ⇒ coordinate vector vs = T s1

1 ∙ ∙ ∙ T sn n 1,

where 1 = (1, 0, . . . , 0)t T k

1 1

a polynomial in G2 f =

s cs xs

  • i λixk

1 ∈ I

⇐ = ⇐ = a linear dependency

  • s csvs = 0
  • i λiT k

1 1 = 0

slide-35
SLIDE 35

FGLM in a nutshell

Step 3: Handles terms in K[x1, . . . , xn] one by one according to <2 monomial xs s = (s1, . . . , sn) xk

1

= ⇒ = ⇒ coordinate vector vs = T s1

1 ∙ ∙ ∙ T sn n 1,

where 1 = (1, 0, . . . , 0)t T k

1 1

a polynomial in G2 f =

s cs xs

  • i λixk

1 ∈ I

⇐ = ⇐ = a linear dependency

  • s csvs = 0
  • i λiT k

1 1 = 0

change of ordering ⇋ linear algebra O(nD3): Gaussian elimination

slide-36
SLIDE 36

Sparse FGLM: Key observation 1

with C. Mou

T1, . . . , Tn are sparse, especially T1.

T1 for Random(3, 10): 1000 × 1000, 6.86%

DLP Edwards Cyclic10 MinRank (9,9,6) D 4096 34940 41580 Sparsity 3.4% 1.0% 16% Random(3, 14) Random(3, 40) D 2744 64000 Sparsity 4.2% 1.6%

slide-37
SLIDE 37

Sparse FGLM: Key observation 1

with C. Mou

T1, . . . , Tn are sparse, especially T1.

T1 for Random(3, 10): 1000 × 1000, 6.86%

DLP Edwards Cyclic10 MinRank (9,9,6) D 4096 34940 41580 Sparsity 3.4% 1.0% 16% Random(3, 14) Random(3, 40) D 2744 64000 Sparsity 4.2% 1.6% Theorem (F., Mou, 2011) n is fixed. For generic polynomial systems of degree d: % of nonzero entries

∼ d→∞

  • 6

π 1 d n

1 2

slide-38
SLIDE 38

Density: theoretical bound vs practice

10 20 30 40

1% 3% 5% 10%

Random equations of degree d in 3 variables d Density of T1 Theoretical bound Experimental Sparsity

slide-39
SLIDE 39

First case: Shape position case

Assume that I is in shape position: Shape position [Becker, Mora, Marinari, and Traverso 1994] Ideal I ⊂ K[x1, . . . , xn] is in shape position if its Gröbner basis w.r.t. LEX (x1 < ∙ ∙ ∙ < xn) is of the form [f1(x1), x2 − f2(x1), . . . , xn − fn(x1)].

slide-40
SLIDE 40

First case: Shape position case

Shape position [Becker, Mora, Marinari, and Traverso 1994] Ideal I ⊂ K[x1, . . . , xn] is in shape position if its Gröbner basis w.r.t. LEX (x1 < ∙ ∙ ∙ < xn) is of the form [f1(x1), x2 − f2(x1), . . . , xn − fn(x1)]. Recover f1: Wiedemann algorithm Construct s = [r, T i

11 : i = 0, . . . , 2 D − 1], with r a random vector

⇓ Compute ˜ f1 from s via Berlekamp–Massey algorithm ⇓ Check deg(˜ f1) = D

slide-41
SLIDE 41

First case: Shape position case

Shape position [Becker, Mora, Marinari, and Traverso 1994] Ideal I ⊂ K[x1, . . . , xn] is in shape position if its Gröbner basis w.r.t. LEX (x1 < ∙ ∙ ∙ < xn) is of the form [f1(x1), x2 − f2(x1), . . . , xn − fn(x1)]. Recover f1: Wiedemann algorithm Construct s = [r, T i

11 : i = 0, . . . , 2 D − 1], with r a random vector

⇓ Compute ˜ f1 from s via Berlekamp–Massey algorithm ⇓ Check deg(˜ f1) = D shape position

slide-42
SLIDE 42

Shape position case

Suppose fi = D−1

k=0 ci,kxk 1 ( for i = 2, . . . , n)

Recover f2, . . . , fn: constructing linear equations NormalForm(xi − D−1

k=0 ci,kxk 1 ) = 0

⇓ Ti1 = D−1

k=0 ci,k ∙ T k 1 1

⇓ r, T j

1Ti1 = D−1 k=0 ci,k ∙ r, T k+j 1

1, j = 0, . . . , D − 1

  • (T t

1)jr, Ti1 = D−1 k=0 ci,k ∙ (T t 1)k+jr, 1,

j = 0, . . . , D − 1

slide-43
SLIDE 43

Shape position case

Suppose fi = D−1

k=0 ci,kxk 1 ( for i = 2, . . . , n)

Recover f2, . . . , fn: constructing linear equations NormalForm(xi − D−1

k=0 ci,kxk 1 ) = 0

⇓ T j

1Ti1 = D−1 k=0 ci,k ∙ T j 1T k 1 1

⇓ r, T j

1Ti1 = D−1 k=0 ci,k ∙ r, T k+j 1

1, j = 0, . . . , D − 1

  • (T t

1)jr, Ti1 = D−1 k=0 ci,k ∙ (T t 1)k+jr, 1,

j = 0, . . . , D − 1

slide-44
SLIDE 44

Shape position case

Suppose fi = D−1

k=0 ci,kxk 1 ( for i = 2, . . . , n)

Recover f2, . . . , fn: constructing linear equations NormalForm(xi − D−1

k=0 ci,kxk 1 ) = 0

⇓ T j

1Ti1 = D−1 k=0 ci,k ∙ T j 1T k 1 1

⇓ r, T j

1Ti1 = D−1 k=0 ci,k ∙ r, T k+j 1

1, j = 0, . . . , D − 1

  • (T t

1)jr, Ti1 = D−1 k=0 ci,k ∙ (T t 1)k+jr, 1,

j = 0, . . . , D − 1

slide-45
SLIDE 45

Shape position case

Suppose fi = D−1

k=0 ci,kxk 1 ( for i = 2, . . . , n)

Recover f2, . . . , fn: constructing linear equations NormalForm(xi − D−1

k=0 ci,kxk 1 ) = 0

⇓ T j

1Ti1 = D−1 k=0 ci,k ∙ T j 1T k 1 1

⇓ r, T j

1Ti1 = D−1 k=0 ci,k ∙ r, T k+j 1

1, j = 0, . . . , D − 1

  • (T t

1)jr, Ti1 = D−1 k=0 ci,k ∙ (T t 1)k+jr, 1,

j = 0, . . . , D − 1 H=      (T t

1)0r, 1

(T t

1)1r, 1

∙ ∙ ∙ (T t

1)D−1r, 1

(T t

1)1r, 1

(T t

1)2r, 1

∙ ∙ ∙ (T t

1)Dr, 1

. . . . . . ... . . . (T t

1)D−1r, 1

(T t

1)Dr, 1

∙ ∙ ∙ (T t

1)2D−2r, 1

     ,b=    r, Ti1 . . . (T t

1)D−1r, Ti1

  

slide-46
SLIDE 46

Shape position case

Solve: H ci = b with ci =t [ci,0, . . . , ci,D−1] H =      (T t

1)0r, 1

  • (T t

1)1r, 1

  • ∙ ∙ ∙
  • (T t

1)D−1r, 1

  • (T t

1)1r, 1

  • (T t

1)2r, 1

∙ ∙ ∙ (T t

1)Dr, 1

. . . . . . ... . . .

  • (T t

1)D−1r, 1

  • (T t

1)Dr, 1

∙ ∙ ∙ (T t

1)2D−2r, 1

     Matrix H is a Hankel matrix:

slide-47
SLIDE 47

Shape position case

Solve: H ci = b with ci =t [ci,0, . . . , ci,D−1] H =      (T t

1)0r, 1

  • (T t

1)1r, 1

  • ∙ ∙ ∙
  • (T t

1)D−1r, 1

  • (T t

1)1r, 1

  • (T t

1)2r, 1

∙ ∙ ∙ (T t

1)Dr, 1

. . . . . . ... . . .

  • (T t

1)D−1r, 1

  • (T t

1)Dr, 1

∙ ∙ ∙ (T t

1)2D−2r, 1

     Matrix H is a Hankel matrix: Its construction is free: s = [r, T i

11 = (T t 1)ir, 1 : i = 0, . . . , (2 D − 2)]

It is invertible: relationship between linear recurring sequences and Hankel matrices [Jonckheere and Ma 1989] Solving efficiently H x = b: complexity O(D log2(D)) [Brent, Gustavson,

and Yun 1980].

slide-48
SLIDE 48

Shape position case

Solve: H ci = b with ci =t [ci,0, . . . , ci,D−1] H =      (T t

1)0r, 1

  • (T t

1)1r, 1

  • ∙ ∙ ∙
  • (T t

1)D−1r, 1

  • (T t

1)1r, 1

  • (T t

1)2r, 1

∙ ∙ ∙ (T t

1)Dr, 1

. . . . . . ... . . .

  • (T t

1)D−1r, 1

  • (T t

1)Dr, 1

∙ ∙ ∙ (T t

1)2D−2r, 1

     Matrix H is a Hankel matrix: Its construction is free: s = [r, T i

11 = (T t 1)ir, 1 : i = 0, . . . , (2 D − 2)]

It is invertible: relationship between linear recurring sequences and Hankel matrices [Jonckheere and Ma 1989] Solving efficiently H x = b: complexity O(D log2(D)) [Brent, Gustavson,

and Yun 1980].

Construction of (T t

1)jr, Ti1 is also free: v is also free.

slide-49
SLIDE 49

Shape position case

Total complexity for ideals in shape position O(D(#T1 + n log(D))): #T1 the number of nonzero entries in T1 compared with O(nD3) for FGLM computing the minimal polynomial of T1.

slide-50
SLIDE 50

Shape position case

Total complexity for ideals in shape position O(D(#T1 + n log(D))): #T1 the number of nonzero entries in T1 compared with O(nD3) for FGLM computing the minimal polynomial of T1. Random polynomial systems n be fixed / d → +∞: the complexity is O( 1

√nD2+ n−1

n )

slide-51
SLIDE 51

General case (non shape position)

Define a n-dimensional mapping E : Zn

≥0 −

→ K as (s1, . . . , sn) − → r, T s1

1 ∙ ∙ ∙ T sn n 1.

slide-52
SLIDE 52

General case (non shape position)

Define a n-dimensional mapping E : Zn

≥0 −

→ K as (s1, . . . , sn) − → r, T s1

1 ∙ ∙ ∙ T sn n 1.

According to FGLM, a polynomial f = xl +

s=l cs cl xs in G2 is

determined by

  • s

csT s1

1 ∙ ∙ ∙ T sn n 1 = 0.

Can be found using BMS:

slide-53
SLIDE 53

General case (non shape position)

Define a n-dimensional mapping E : Zn

≥0 −

→ K as (s1, . . . , sn) − → r, T s1

1 ∙ ∙ ∙ T sn n 1.

According to FGLM, a polynomial f = xl +

s=l cs cl xs in G2 is

determined by

  • s

csT s1

1 ∙ ∙ ∙ T sn n 1 = 0.

Can be found using BMS: Sparse matrix = ⇒ Wiedemann algorithm = ⇒ Berlekamp–Massey = ⇒ BMS (from Coding Theory) multi-dimensional generalization of Berlekamp–Massey algorithm

[Sakata 1988 & 1990; Saints and Heegard 2002]

slide-54
SLIDE 54

General Algorithm

Main Algorithm

Input: T1, . . . , Tn Construct the linearly recurring sequence s Compute ˜ f with BM deg( ˜ f) = D? Yes No Recover f2, . . . , fn Compute F with BMS F = G2? Yes No Compute G2 with FGLM End End End

Deterministic algorithm

slide-55
SLIDE 55

Fast FGLM

If the matrices are not sparse ...(with P. Gaudry, L. Huot and G. Renault)

In the shape position case: we can apply the same algorithm. All wee need is to compute efficiently: T ′

1 1 r, T ′ 1 2 r, ∙ ∙ ∙ , T ′ 1 2 D−1 r with T ′ 1 = T t 1

slide-56
SLIDE 56

Fast FGLM

If the matrices are not sparse ...(with P. Gaudry, L. Huot and G. Renault)

In the shape position case: we can apply the same algorithm. All wee need is to compute efficiently: T ′

1 1 r, T ′ 1 2 r, ∙ ∙ ∙ , T ′ 1 2 D−1 r with T ′ 1 = T t 1

[Keller-Gehrig]: assuming that we can multiply two n × n matrices in O(nω) operations (with ω < 3). First we compute: T ′

1, T ′ 1 2, T ′ 1 4, T ′ 1 8, ...., T ′ 1 2k with k = 1 + [log2(D)]

slide-57
SLIDE 57

Fast FGLM

If the matrices are not sparse ...(with P. Gaudry, L. Huot and G. Renault)

In the shape position case: we can apply the same algorithm. All wee need is to compute efficiently: T ′

1 1 r, T ′ 1 2 r, ∙ ∙ ∙ , T ′ 1 2 D−1 r with T ′ 1 = T t 1

[Keller-Gehrig]: assuming that we can multiply two n × n matrices in O(nω) operations (with ω < 3). First we compute: T ′

1, T ′ 1 2, T ′ 1 4, T ′ 1 8, ...., T ′ 1 2k with k = 1 + [log2(D)]

Then : (T ′

1 3 r, T ′ 1 2 r) = T ′ 1 2 (T ′ 1 r, r)

(T ′

1 7 r, T ′ 1 6 r, T ′ 1 5 r, T ′ 1 4 r) = T ′ 1 4 (T ′ 1 3 r, T ′ 1 2 r, T ′ 1 r, r)

∙ ∙ ∙

slide-58
SLIDE 58

Fast FGLM

If the matrices are not sparse ...(with P. Gaudry, L. Huot and G. Renault)

In the shape position case: we can apply the same algorithm. All wee need is to compute efficiently: T ′

1 1 r, T ′ 1 2 r, ∙ ∙ ∙ , T ′ 1 2 D−1 r with T ′ 1 = T t 1

[Keller-Gehrig]: assuming that we can multiply two n × n matrices in O(nω) operations (with ω < 3). First we compute: T ′

1, T ′ 1 2, T ′ 1 4, T ′ 1 8, ...., T ′ 1 2k with k = 1 + [log2(D)]

Then : (T ′

1 3 r, T ′ 1 2 r) = T ′ 1 2 (T ′ 1 r, r)

(T ′

1 7 r, T ′ 1 6 r, T ′ 1 5 r, T ′ 1 4 r) = T ′ 1 4 (T ′ 1 3 r, T ′ 1 2 r, T ′ 1 r, r)

∙ ∙ ∙ using only matrix multiplications in O(log(D) Dω) operations.

slide-59
SLIDE 59

Fast FGLM

with P. Gaudry, L. Huot and G. Renault

Theorem Let GDRL be the DRL Gröbner basis of an ideal I in shape position. Given T1 the multiplication matrix w.r.t. x1, computing the LEX Gröbner basis of I can be done in O(n D + Dω).

slide-60
SLIDE 60

Fast FGLM

with P. Gaudry, L. Huot and G. Renault

Theorem Let GDRL be the DRL Gröbner basis of an ideal I in shape position. Given T1 the multiplication matrix w.r.t. x1, computing the LEX Gröbner basis of I can be done in O(n D + Dω).

☞ Theoretical/Practical Bottleneck: building the matrix T1

slide-61
SLIDE 61

Fast FGLM

with P. Gaudry, L. Huot and G. Renault

Theorem Let GDRL be the DRL Gröbner basis of an ideal I in shape position. Given T1 the multiplication matrix w.r.t. x1, computing the LEX Gröbner basis of I can be done in O(n D + Dω).

☞ Theoretical/Practical Bottleneck: building the matrix T1

Generic Systems: T1 can be obtained in 0 arithmetic operations. Non generic case: perform a random linear change of coordinates (Heuristic)

slide-62
SLIDE 62

New Strategy

I GDRL Easy to build T1 ? GLEX I′ G′

DRL =

⇒ T ′

1

G′

LEX

F4, F5 F a s t F G L M Y E S

Randomization

NO F4, F5 Fast FGLM

slide-63
SLIDE 63

Experiments

D Density Build T1 GDRL (Build T1 + Fast FGLM) Random n = 16 216 18.3% 228.6s 55410 s + 15005.3 s Cyclic 7 924 2.0% 0.00s GDRL+0.04 s Cyclic 10 31990 1.0% 5.67s GDRL + 525.5 s Edwards n = 4 Sn + T2 512 27.6% 0.4 s 0.1 s + 0.42 s Edwards n = 4 Sn + T2 (rnd) 512 19.4% 0.0 s 0.1 s + 0.02 s Edwards n = 5 Sn + T2 216 > 2 days 11228.2s+ > 2 days Edwards n = 5 Sn + T2 (rnd) 216 9.3% 11.6 s 11228.2 s+7865.7 s Bad Example, n = 11 211 31.9% 7520.9s 0s + 7543.5s Bad Example, n = 11 (rnd) 211 21.5% 0.15s 5.0s + 0.2s Bad Example, n = 16 216 > 2 days 0 s+ > 2 days Bad Example, n = 16 (rnd) 216 19.8% 195.0s 38066.5 s + 14492.2 s Eco 14 212 11.5% 1100.1 s 926.7 s + 1102.5 s Eco 14 (rnd) 212 26.4% 0.1 s 926.7 s + 2.0s

slide-64
SLIDE 64

Multi-core implementation

Two parallel versions: Using Openmp Using pthreads

☞ have to rewrite the generation of the matrix T1 !

Comparing original C-code (Issac 2011) and the new code: D % Magma Singular C C+SSE

Katsura 12

4096 21.2% 1408s 2623.5s 18.1s 0.73s

slide-65
SLIDE 65

Multi-core implementation

Two parallel versions: Using Openmp Using pthreads

☞ have to rewrite the generation of the matrix T1 !

Comparing original C-code (Issac 2011) and the new code: D % Magma Singular C C+SSE

Katsura 12

4096 21.2% 1408s 2623.5s 18.1s 0.73s

Random(n=3,d=19)

6859 3.50% 1084s 8248s 15.3s 0.74s

slide-66
SLIDE 66

Multi-core implementation

Two parallel versions: Using Openmp Using pthreads

☞ have to rewrite the generation of the matrix T1 !

Comparing original C-code (Issac 2011) and the new code: D % Magma Singular C C+SSE

Katsura 12

4096 21.2% 1408s 2623.5s 18.1s 0.73s

Random(n=3,d=19)

6859 3.50% 1084s 8248s 15.3s 0.74s More important: we can solve systems with D 216 solutions.

☞ Next Talk

slide-67
SLIDE 67

Part II

Complexity of computing Gröbner bases.

slide-68
SLIDE 68

Structured systems : several applications in Crypto

[F .,Perret,Safey,Spaenlehauer,Bettale]

Multivariate Public Key Crypto

HFE

[F.,Otmani,Perret,Tillich, EC]

McEliece

Error Correcting

Codes

[Gaudry, F.,Huot,Renault]

Curves DLP Elliptic curves Edwards or F2

[F ., Lubicz, Robert, JA]

Curves

Computing modular correspondences for Abelian Varieties

Multi-Homogeneous Systems Takes advantage

  • f the symmetries
  • f the system

to speed up the resolution

slide-69
SLIDE 69

Main results/examples

Motivation to use the structure !

For (regular) quadratic systems: Overdetermined systems:

Semi-regular

n variables m = c nα equations

[Bardet, F.,Salvy]

− →

  • Sub Exponential

if 1 < α < 2

Polynomial

if α = 2

slide-70
SLIDE 70

Main results/examples

Motivation to use the structure !

For (regular) quadratic systems: Overdetermined systems:

Semi-regular

n variables m = c nα equations

[Bardet, F.,Salvy]

− →

  • Sub Exponential

if 1 < α < 2

Polynomial

if α = 2 Use the fact that we are over Fq:

◮ [Bettale, F

.,Perret, JMC] : Hybrid Method direct Gröbner basis approach hybrid approach ∼ 21.8 n UOV q = 28, n = 60 security 2160 → 276 (Gröbner) → 259

slide-71
SLIDE 71

Motivation

Bilinear systems: fi(X, Y) =

  • x∈X,y∈Y

ci,x,y x y where n = #X + #Y complexity is polynomial in #Solutions= n

#X

  • ≪ 2n

[JSC2011,F.,Safey El Din, Spaenlehauer]

Applications:

◮ MinRank/HFE: [Crypto 2008] 328233s −

→ [Issac 2010] 935s

◮ Challenge A20 (Variant of McEliece):

24 hours (Magma) − → 0.05 sec [EC2010, F., Otmani,] Perret, Tillich]

slide-72
SLIDE 72

Motivation

Bilinear systems: fi(X, Y) =

  • x∈X,y∈Y

ci,x,y x y where n = #X + #Y complexity is polynomial in #Solutions= n

#X

  • ≪ 2n

[JSC2011,F.,Safey El Din, Spaenlehauer]

Applications:

◮ MinRank/HFE: [Crypto 2008] 328233s −

→ [Issac 2010] 935s

◮ Challenge A20 (Variant of McEliece):

24 hours (Magma) − → 0.05 sec [EC2010, F., Otmani,] Perret, Tillich]

Use the symmetries:

◮ [JA, F.,Lubicz,Robert] : the action of the automorphisms

  • f the theta group

> 24 hours − → 0.1 sec

◮ [F.,Huot, Renault] symmetries related to twisted Edwards Curves

this talk ! divides by 2n−1 the number of solutions/complexity untractable system− → 4h25min

slide-73
SLIDE 73

Complexity: introduction

The goal is to bound the maximal degree of the polynomials during the computation. Theorem Gröbner basis of the ideal I generated by (f1, . . . , fm) for a graded monomial ordering up to degree D in O

  • m D

n + D − 1 D ω , as D → ∞ where ω is the exponent in the complexity of the matrix product over K. Goal: bound D dmax

slide-74
SLIDE 74

Complexity of (overdetermined) systems

with M. Bardet and B. Salvy

F5 Criterion: t fj is in the matrix if t / ∈ Id(LT<(Gj−1)), where Gj−1 is a Gröbner basis of {f1, . . . , fj−1}. Rd,i(n) number of rows in the matrix generated by F5 when computing a Gröbner basis of [f1, . . . , fi] in degree d.

slide-75
SLIDE 75

Induction

When d ≥ 2 : Rd,i(n) = i∙ Md−2(n)

  • number of monomials

degree ≤ d − 2 −

i−1

  • j=1

Rd−2,j(n)

  • F5 criterion
slide-76
SLIDE 76

Induction

When d ≥ 2 : Rd,i(n) = i∙ Md−2(n)

  • number of monomials

degree ≤ d − 2 −

i−1+δK,F2

  • j=1

Rd−2,j(n)

  • F5 criterion
slide-77
SLIDE 77

End of the computation

#col= Md(n) #row= Rd,m(n)    Matrix generated by F5   

slide-78
SLIDE 78

End of the computation

#col= Md(n) #row= Rd,m(n)    Matrix generated by F5   

slide-79
SLIDE 79

End of the computation

#col= Md(n) #row= Rd,m(n)    Matrix generated by F5   

When hd,m(n) = #col − #row = 0 this end of the computation ! we found dmax

slide-80
SLIDE 80

Generating series

Theorem fi of degree di semi-regular, i = 1, . . . , m finite field Fq then Hm = ∞

d=0 hd,m zd = m

  • i=1
  • 1−(1−δK,F2) zdi

1+δK,F2zdi 1−δK,F2 z2 1−z

n

slide-81
SLIDE 81

Generating series

Theorem fi of degree di semi-regular, i = 1, . . . , m finite field Fq then Hm = ∞

d=0 hd,m zd = m

  • i=1
  • 1−(1−δK,F2) zdi

1+δK,F2zdi 1−δK,F2 z2 1−z

n Theorem (Particular case) di = 2, F2, n = m semi-regular equations:

  • d=0

hd,n zd = 1 + z 1 + z2 n

slide-82
SLIDE 82

Generating series

Theorem (Particular case) di = 2, F2, n = m semi-regular equations:

  • d=0

hd,n zd = 1 + z 1 + z2 n Example F2, n = m = 50 semi-regular quadratic equations

  • 1+z

1+z2

50 = 1 + 50 z + 1175 z2 + 17100 z3 + 170325 z4 + 1202510 z5 +5915475 z6 + 17831400 z7 + 9196475 z8−205886050 z9 +O

  • z10

☞ Hence the maximal degree occurring in the computation is 9 .

slide-83
SLIDE 83

Asymptotic estimate

biggest real root of hd,n = 1 2iπ

  • C

1 + z 1 + z2 n dz zd+1 dn =

1 λ0 n − λ1 λ

4 3

n

1 3 + O( 1

n

1 3 )

dn ≈

n 11.11360 + 1.0034n

1 3 + O( 1

n

1 3 )

where λ0 = 3/2 √ 3 + 5/2 + 1/2

  • 72 + 42

√ 3 ≈ 11.13 the expression of λ1 contains the biggest real root of the Airy function (solution of ∂2y

∂z2 − zy = 0)

The formula is almost exact when n ≥ 3 !

slide-84
SLIDE 84

Maximal degree

2 4 6 8 10 12 14 16 01 02 03 04 05 06 07 08 09 100

n

Maximal Degree in the Gröbner basis computation

HFE 128<d<513 HFE 16<d<129 HFE 3<d<17

random system

slide-85
SLIDE 85

Complexity of overdetermined systems

Some examples

n variables, K any field m equations (semi-regular) of degree d: Under regularity assumption: Specifications dmax d = 2, m = n n+1

slide-86
SLIDE 86

Complexity of overdetermined systems

Some examples

n variables, K any field m equations (semi-regular) of degree d: Under regularity assumption: Specifications dmax d = 2, m = n n+1 d = 2, m = n + 1

n+1 2

slide-87
SLIDE 87

Complexity of overdetermined systems

Some examples

n variables, K any field m equations (semi-regular) of degree d: Under regularity assumption: Specifications dmax d = 2, m = n n+1 d = 2, m = n + 1

n+1 2

d = 2, m = 2 n

n 11.63

slide-88
SLIDE 88

Complexity of overdetermined systems

Some examples

n variables, K any field m equations (semi-regular) of degree d: Under regularity assumption: Specifications dmax d = 2, m = n n+1 d = 2, m = n + 1

n+1 2

d = 2, m = 2 n

n 11.63

d = 2, m = 5 n

n 35.71

d = 2, m = 10 n

n 76.92

slide-89
SLIDE 89

Complexity of overdetermined systems

Some examples

n variables, K any field m equations (semi-regular) of degree d: Under regularity assumption: Specifications dmax d = 2, m = n n+1 d = 2, m = n + 1

n+1 2

d = 2, m = 2 n

n 11.63

d = 2, m = 5 n

n 35.71

d = 2, m = 10 n

n 76.92

d = αn, m = 2n α n if α < 0.29

slide-90
SLIDE 90

Complexity: overdetermined systems

k is a constant (does not depend on n). di total degree of fi. Under regularity assumption: m Degree dmax m ≤ n K, di = 2 m + 1 ( Macaulay bound) m ≤ n K 1 +

n+1

  • i=1

(di − 1) ( Macaulay bound) n + k K, di = 2

m 2 − hk,1

  • m

2 + o(1)

n + k K

n+k

  • i=1

di−1 2

− hk,1

  • n+k
  • i=1

d2

i −1

6

+ o(1) 2 n K, di = 2

n 11.6569 + 1.04 n

1 3 − 1.47 + 1.71 n− 1 3 + O

  • n− 2

3

  • k n

K, di = 2 (k − 1

2 −

  • k(k − 1))n +

−a1 2(k(k−1))

1 6 n 1 3 + O(1)

n F2, di = 2

n 11.1360 + 1.0034 n

1 3 − 1.58 + O(n− 1 3 )

k n F2, di = 2

  • −k + 1

2 + 1 2

  • 2k(k − 5) − 1 + 2(k + 2)
  • k(k + 2)
  • n
slide-91
SLIDE 91

Classification

Classification: m number of polynomials, n number of variables Complexity m = cste n single exponential m = cste nα sub exponential m = cste n2 polynomial

slide-92
SLIDE 92

Bilinear Equations in Algebraic Attacks: Motivation

Powerful attack somewhat similar to Lattice attacks: we consider k vectors vi = [. . . , vi,j, . . .] with vi,j ∈ Z Try to find: (λ1, . . . , λk) ∈ Zk such that

k

  • i=1

λivi is small

slide-93
SLIDE 93

Bilinear Equations in Algebraic Attacks: Motivation

Powerful attack somewhat similar to Lattice attacks: we consider k vectors vi = [. . . , vi,j, . . .] with vi,j ∈ Z Try to find: (λ1, . . . , λk) ∈ Zk such that

k

  • i=1

λivi is small using LLL: find a ≈ small vector in Polynomial Time

slide-94
SLIDE 94

Bilinear Equations in Algebraic Attacks: Motivation

For k quadratic multivariate polynomials fi ∈ K[x1, . . . , xn]: fl → H(fl) = Ml = ∂2fl ∂xi∂xj

  • 1i,jn

matrix representation of fi Try to find: (λ1, . . . , λk) ∈ Kk such that:

k

  • i=1

λiMi is “small”

slide-95
SLIDE 95

Bilinear Equations in Algebraic Attacks: Motivation

For k quadratic multivariate polynomials fi ∈ K[x1, . . . , xn]: fl → H(fl) = Ml = ∂2fl ∂xi∂xj

  • 1i,jn

matrix representation of fi Try to find: (λ1, . . . , λk) ∈ Kk such that:

k

  • i=1

λiMi is of small rank

slide-96
SLIDE 96

Bilinear Equations in Algebraic Attacks: Motivation

For k quadratic multivariate polynomials fi ∈ K[x1, . . . , xn]: fl → H(fl) = Ml = ∂2fl ∂xi∂xj

  • 1i,jn

matrix representation of fi Try to find: (λ1, . . . , λk) ∈ Kk such that:

k

  • i=1

λiMi is

  • f rank r

Minrank Problem

slide-97
SLIDE 97

Bilinear Equations in Algebraic Attacks: Motivation

For k quadratic multivariate polynomials fi ∈ K[x1, . . . , xn]: fl → H(fl) = Ml = ∂2fl ∂xi∂xj

  • 1i,jn

matrix representation of fi Try to find: (λ1, . . . , λk) ∈ Kk such that:

k

  • i=1

λiMi is

  • f rank r

Minrank Problem That is to say: in some basis k

i=1 λifi depends only on r variables.

slide-98
SLIDE 98

Two algebraic modelings: structured equations

M = M0 − k

i=1 λiMi.

The minors modeling Rank(M) ≤ r

  • all minors of size (r + 1) of M vanish.

m

r+1

2 equations of degree r + 1. k variables. Few variables, lots of equations, high degree !!

The Kipnis-Shamir modeling

Rank(M) ≤ r ⇔ ∃x(1), . . . , x(m−r) ∈ Ker(M).

M ∙

         

Im−r

x(1)

1

. . . x(m−r)

1

. . . . . . . . . x(1)

r

. . . x(m−r)

r

         

= 0.

m(m − r) bilinear equations. k + r(m − r) variables.

Applications of bilinear equations in Crypto: Cryptanalysis of HFE and MinRank [CRYPTO’08, ISSAC’10, PKC’11]. Cryptanalysis of McEliece [EUROCRYPT’10].

slide-99
SLIDE 99

Bilinear systems

joint work with M. Safey El Din and PJ Spaenlehauer

F = (f1, . . . , fm): system of homogeneous bilinear equations. fi(X, Y) =

  • x∈X,y∈Y

ci,x,y x y where n = #X + #Y jacX(Fi) =    

∂f1 ∂x0

. . .

∂f1 ∂xnx

. . . . . . . . .

∂fi ∂x0

. . .

∂fi ∂xnx

    jacY(Fi) =    

∂f1 ∂y0

. . .

∂f1 ∂yny

. . . . . . . . .

∂fi ∂y0

. . .

∂fi ∂yny

    Euler relations f =

  • xj

∂f ∂xj =

  • yj

∂f ∂yj .    f1 . . . fi    = jacX(Fi) ∙    x0 . . . xnx    = jacY(Fi) ∙    y0 . . . yny   

slide-100
SLIDE 100

Trivial Syzygies of Bilinear Systems

An example with small parameters: nx = ny = 2, m = 4

We rewrite the usual trivial syzygie as: 0 = f2f 1 − f1f 2 =

  • f 1

f 2 f1 f2

slide-101
SLIDE 101

Trivial Syzygies of Bilinear Systems

An example with small parameters: nx = ny = 2, m = 4

We rewrite the usual trivial syzygie as: 0 = f2f 1 − f1f 2 =

  • f 1

f 2 f1 f2

  • Theorem (Trivial Syzygies)

When nx = ny = 2, m = 4 the trivial syzygies of a generic bilinear system are:

  • f i

f j fi fj

  • i = j,
  • f 1

f 2 f 3 f 4

∂f1 ∂x0 ∂f2 ∂x0 ∂f3 ∂x0 ∂f4 ∂x0 ∂f1 ∂x1 ∂f2 ∂x1 ∂f3 ∂x1 ∂f4 ∂x1 ∂f1 ∂x2 ∂f2 ∂x2 ∂f3 ∂x2 ∂f4 ∂x2

  • ,
  • f 1

f 2 f 3 f 4 jacY(F4)

slide-102
SLIDE 102

Complexity of affine bilinear systems

In affine case: x0 = 1, y0 = 1 and the number of variables is n = nX + nY Theorem: degree of regularity [JSC 2011] Degree of regularity of a generic 0-dim affjne bilinear system for the grevlex ordering: dreg 2 + min(nx, ny). Sharp bound in practice.

slide-103
SLIDE 103

Complexity

Solving affine bilinear systems The complexity of computing a grevlex Gröbner basis of a zero-dimensional ideal generated by generic affine bilinear polynomials is polynomial in the number of solutions n

nx

  • =

n

ny

  • O(Monomials(1 + min(nx, ny))ω) ≈ O
  • 2ω min(nx,ny)

. Consequences: nx constant, ny grows = ⇒ complexity polynomial in ny. X and Y unbalanced ⇒ easy to solve. Better than Macaulay bound: O(Monomials(nx + ny + 1)ω) ≈ O

  • 2ω(nx+ny)

. nX is a constant in the case of Minrank challenges, or nX is “small” in the case of McEliece variants !

slide-104
SLIDE 104

Conclusion

Using the structures can improve (a lot) the complexity bounds and the practical behavior of Gröbner bases algorithms Linear Algebra and Gröbner bases: speedup the algorithms; efficient (multicore) implementations. Applications to several problems in cryptology.