a polynomial-time key-recovery attack on mqq cryptosystems...a polynomial-time key-recovery attack...

60

Upload: others

Post on 23-Sep-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems...A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems Jean-Charles augère,F Danilo Gligoroski, Ludovic Perret, Simona

A Polynomial-Time Key-Recovery Attack

on MQQ Cryptosystems

Jean-Charles Faugère, Danilo Gligoroski, Ludovic Perret,Simona Samardjiska, Enrico Thomae

PKC 2015, March 30 - April 1, Maryland, USA

S. Samardjiska, A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems

Page 2: A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems...A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems Jean-Charles augère,F Danilo Gligoroski, Ludovic Perret, Simona

2

Summary

Cryptanalysis of the Multivariate cryptosystems

MQQ-SIG [Gligoroski, Ødegård, Jensen, Perret, Faugère,

Knapskog & Markovski '11]

MQQ-ENC [Gligoroski & Samardjiska '12]

The attack - Recovery of equivalent key

MinRank + Good keys

Solved problems of MinRank attacks over even characteristic

Simultaneous MinRank

Proven complexity bounds independent of the �eld size

Poly-time complexity O(n10)

S. Samardjiska, A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems

Page 3: A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems...A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems Jean-Charles augère,F Danilo Gligoroski, Ludovic Perret, Simona

2

Summary

Cryptanalysis of the Multivariate cryptosystems

MQQ-SIG

[Gligoroski, Ødegård, Jensen, Perret, Faugère,

Knapskog & Markovski '11]

80 bits security in less than 1.5 days

MQQ-ENC

[Gligoroski & Samardjiska '12]

128 bits security in 9 days

The attack - Recovery of equivalent key

MinRank + Good keys

Solved problems of MinRank attacks over even characteristic

Simultaneous MinRank

Proven complexity bounds independent of the �eld size

Poly-time complexity O(n10)

S. Samardjiska, A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems

Page 4: A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems...A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems Jean-Charles augère,F Danilo Gligoroski, Ludovic Perret, Simona

2

Summary

Cryptanalysis of the Multivariate cryptosystems

MQQ-SIG

[Gligoroski, Ødegård, Jensen, Perret, Faugère,

Knapskog & Markovski '11]

80 bits security in less than 1.5 days

MQQ-ENC

[Gligoroski & Samardjiska '12]

128 bits security in 9 days

The attack - Recovery of equivalent key

MinRank + Good keys

Solved problems of MinRank attacks over even characteristic

Simultaneous MinRank

Proven complexity bounds independent of the �eld size

Poly-time complexity O(n10)

S. Samardjiska, A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems

Page 5: A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems...A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems Jean-Charles augère,F Danilo Gligoroski, Ludovic Perret, Simona

2

Summary

Cryptanalysis of the Multivariate cryptosystems

MQQ-SIG

[Gligoroski, Ødegård, Jensen, Perret, Faugère,

Knapskog & Markovski '11]

80 bits security in less than 1.5 days

MQQ-ENC

[Gligoroski & Samardjiska '12]

128 bits security in 9 days

The attack - Recovery of equivalent key

MinRank + Good keys

Solved problems of MinRank attacks over even characteristic

Simultaneous MinRank

Proven complexity bounds independent of the �eld size

Poly-time complexity O(n10)

S. Samardjiska, A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems

Page 6: A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems...A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems Jean-Charles augère,F Danilo Gligoroski, Ludovic Perret, Simona

2

Summary

Cryptanalysis of the Multivariate cryptosystems

MQQ-SIG

[Gligoroski, Ødegård, Jensen, Perret, Faugère,

Knapskog & Markovski '11]

80 bits security in less than 1.5 days

MQQ-ENC

[Gligoroski & Samardjiska '12]

128 bits security in 9 days

The attack - Recovery of equivalent key

MinRank + Good keys

Solved problems of MinRank attacks over even characteristic

Simultaneous MinRank

Proven complexity bounds independent of the �eld size

Poly-time complexity O(n10)

S. Samardjiska, A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems

Page 7: A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems...A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems Jean-Charles augère,F Danilo Gligoroski, Ludovic Perret, Simona

3

Multivariate (MQ) public key scheme: Fnq → Fm

q

input x

x = (x1, . . . , xn)

x′

y′

output y

private: S

private: F

private: T

public :

P = T ◦ F ◦ S

Public P

Matrix form:

p1(x1, . . . , xn)

xᵀP1x

p2(x1, . . . , xn)

xᵀP2x

. . .

. . .

pm(x1, . . . , xn)

xᵀPmx

Matrices representingthe quadratic partof the polynomials

Inverting P should be hard

Underlying NP-complete problem

PoSSo:

Input:

p1, p2, . . . , pm ∈ Fq[x1, . . . , xn]

Question:

Find - if any - (u1, . . . , un) ∈ Fnq st.

p1(u1, . . . , un) = 0

p2(u1, . . . , un) = 0

. . .

pm(u1, . . . , un) = 0

Matrix form: Public P - xᵀP(s)xPrivate F - xᵀF(s)x

S. Samardjiska, A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems

Page 8: A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems...A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems Jean-Charles augère,F Danilo Gligoroski, Ludovic Perret, Simona

3

Multivariate (MQ) public key scheme: Fnq → Fm

q

input x

x = (x1, . . . , xn)

x′

y′

output y

private: S

private: F

private: T

public :

P = T ◦ F ◦ S

� ��linear

� ��quadratic

� ��linear

Public P

Matrix form:

p1(x1, . . . , xn)

xᵀP1x

p2(x1, . . . , xn)

xᵀP2x

. . .

. . .

pm(x1, . . . , xn)

xᵀPmx

Matrices representingthe quadratic partof the polynomials

Inverting P should be hard

Underlying NP-complete problem

PoSSo:

Input:

p1, p2, . . . , pm ∈ Fq[x1, . . . , xn]

Question:

Find - if any - (u1, . . . , un) ∈ Fnq st.

p1(u1, . . . , un) = 0

p2(u1, . . . , un) = 0

. . .

pm(u1, . . . , un) = 0

Matrix form: Public P - xᵀP(s)xPrivate F - xᵀF(s)x

S. Samardjiska, A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems

Page 9: A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems...A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems Jean-Charles augère,F Danilo Gligoroski, Ludovic Perret, Simona

3

Multivariate (MQ) public key scheme: Fnq → Fm

q

input x

x = (x1, . . . , xn)

x′

y′

output y

private: S

private: F

private: T

public :

P = T ◦ F ◦ S

� ��linear

� ��quadratic

� ��linear

Public P

Matrix form:

p1(x1, . . . , xn)

xᵀP1x

p2(x1, . . . , xn)

xᵀP2x

. . .

. . .

pm(x1, . . . , xn)

xᵀPmx

Matrices representingthe quadratic partof the polynomials

Inverting P should be hard

Underlying NP-complete problem

PoSSo:

Input:

p1, p2, . . . , pm ∈ Fq[x1, . . . , xn]

Question:

Find - if any - (u1, . . . , un) ∈ Fnq st.

p1(u1, . . . , un) = 0

p2(u1, . . . , un) = 0

. . .

pm(u1, . . . , un) = 0

Matrix form: Public P - xᵀP(s)xPrivate F - xᵀF(s)x

S. Samardjiska, A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems

Page 10: A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems...A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems Jean-Charles augère,F Danilo Gligoroski, Ludovic Perret, Simona

3

Multivariate (MQ) public key scheme: Fnq → Fm

q

input x

x = (x1, . . . , xn)

x′

y′

output y

private: S

private: F

private: T

public :

P = T ◦ F ◦ S

� ��linear

� ��quadratic

� ��linear

Public P Matrix form:

p1(x1, . . . , xn) xᵀP1x

p2(x1, . . . , xn) xᵀP2x

. . . . . .

pm(x1, . . . , xn) xᵀPmx

Matrices representingthe quadratic partof the polynomials

Inverting P should be hard

Underlying NP-complete problem

PoSSo:

Input:

p1, p2, . . . , pm ∈ Fq[x1, . . . , xn]

Question:

Find - if any - (u1, . . . , un) ∈ Fnq st.

p1(u1, . . . , un) = 0

p2(u1, . . . , un) = 0

. . .

pm(u1, . . . , un) = 0

Matrix form: Public P - xᵀP(s)xPrivate F - xᵀF(s)x

S. Samardjiska, A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems

Page 11: A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems...A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems Jean-Charles augère,F Danilo Gligoroski, Ludovic Perret, Simona

3

Multivariate (MQ) public key scheme: Fnq → Fm

q

input x

x = (x1, . . . , xn)

x′

y′

output y

private: S

private: F

private: T

public :

P = T ◦ F ◦ S

� ��linear

� ��quadratic

� ��linear

Public P Matrix form:

p1(x1, . . . , xn) xᵀP1x

p2(x1, . . . , xn) xᵀP2x

. . . . . .

pm(x1, . . . , xn) xᵀPmx

Matrices representingthe quadratic partof the polynomials

Inverting P should be hard

Underlying NP-complete problem

PoSSo:

Input:

p1, p2, . . . , pm ∈ Fq[x1, . . . , xn]

Question:

Find - if any - (u1, . . . , un) ∈ Fnq st.

p1(u1, . . . , un) = 0

p2(u1, . . . , un) = 0

. . .

pm(u1, . . . , un) = 0

Matrix form: Public P - xᵀP(s)xPrivate F - xᵀF(s)x

S. Samardjiska, A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems

Page 12: A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems...A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems Jean-Charles augère,F Danilo Gligoroski, Ludovic Perret, Simona

3

Multivariate (MQ) public key scheme: Fnq → Fm

q

input x

x = (x1, . . . , xn)

x′

y′

output y

private: S

private: F

private: T

public :

P = T ◦ F ◦ S

� ��linear

� ��quadratic

� ��linear

Public P

Matrix form:

p1(x1, . . . , xn)

xᵀP1x

p2(x1, . . . , xn)

xᵀP2x

. . .

. . .

pm(x1, . . . , xn)

xᵀPmx

Matrices representingthe quadratic partof the polynomials

Inverting P should be hard

Underlying NP-complete problem

PoSSo:

Input:

p1, p2, . . . , pm ∈ Fq[x1, . . . , xn]

Question:

Find - if any - (u1, . . . , un) ∈ Fnq st.

p1(u1, . . . , un) = 0

p2(u1, . . . , un) = 0

. . .

pm(u1, . . . , un) = 0

Matrix form: Public P - xᵀP(s)xPrivate F - xᵀF(s)x

S. Samardjiska, A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems

Page 13: A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems...A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems Jean-Charles augère,F Danilo Gligoroski, Ludovic Perret, Simona

4

Research in MQ cryptography ?

Post - Quantum security

S. Samardjiska, A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems

Page 14: A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems...A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems Jean-Charles augère,F Danilo Gligoroski, Ludovic Perret, Simona

5

Research in MQ cryptography ?

MQ schemes are naturally parallelizable!

up to 1000s times faster than classical

11,60548mqqsig224 11,86264mqqsig256 11,90839

14076 rainbowbinary256181212 13,7747923284 tts64402480862036

0

25

210

215

220

225

230

Cycles to sign 59 bytes

amd64; HW+AES (306c3); 2013 Intel Xeon E3-1275 V3; 4 x 3500MHz; titan0, supercop-20141124

MQQ-SIG fastest!!!

Secure until now!

S. Samardjiska, A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems

Page 15: A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems...A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems Jean-Charles augère,F Danilo Gligoroski, Ludovic Perret, Simona

5

Research in MQ cryptography ?

MQ schemes are naturally parallelizable!

up to 1000s times faster than classical

11,60548mqqsig224 11,86264mqqsig256 11,90839

14076 rainbowbinary256181212 13,7747923284 tts64402480862036

0

25

210

215

220

225

230

Cycles to sign 59 bytes

amd64; HW+AES (306c3); 2013 Intel Xeon E3-1275 V3; 4 x 3500MHz; titan0, supercop-20141124

MQQ-SIG fastest!!!

Secure until now!

S. Samardjiska, A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems

Page 16: A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems...A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems Jean-Charles augère,F Danilo Gligoroski, Ludovic Perret, Simona

5

Research in MQ cryptography ?

MQ schemes are naturally parallelizable!

up to 1000s times faster than classical

11,60548mqqsig224 11,86264mqqsig256 11,90839

14076 rainbowbinary256181212 13,7747923284 tts64402480862036

0

25

210

215

220

225

230

Cycles to sign 59 bytes

amd64; HW+AES (306c3); 2013 Intel Xeon E3-1275 V3; 4 x 3500MHz; titan0, supercop-20141124

MQQ-SIG fastest!!!

Secure until now!

S. Samardjiska, A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems

Page 17: A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems...A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems Jean-Charles augère,F Danilo Gligoroski, Ludovic Perret, Simona

6

The MQQ family of cryptosystems

MQQ (Multivariate Quadratic Quasigroups) [GMK08]

Encryption schemeDirect algebraic attack [Mohamed et al.'09, Faugère et al.'10]

n/2 equations removed -measure against the attack

Recommended parameters:

Security 280 296 2112 2128

n 160 192 224 256

MQQ-SIG [GØJPFKM11]only r equations removed

Left MQQs - less structure

Recommended parametersfor security level of 2128:

�eld F2 F4 F16 F256

n 256 128 64 32

r 8 4 2 1

MQQ-ENC [GS12]

S. Samardjiska, A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems

Page 18: A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems...A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems Jean-Charles augère,F Danilo Gligoroski, Ludovic Perret, Simona

6

The MQQ family of cryptosystems

MQQ (Multivariate Quadratic Quasigroups) [GMK08]

Encryption schemeDirect algebraic attack [Mohamed et al.'09, Faugère et al.'10]

n/2 equations removed -measure against the attack

Recommended parameters:

Security 280 296 2112 2128

n 160 192 224 256

MQQ-SIG [GØJPFKM11]only r equations removed

Left MQQs - less structure

Recommended parametersfor security level of 2128:

�eld F2 F4 F16 F256

n 256 128 64 32

r 8 4 2 1

MQQ-ENC [GS12]

S. Samardjiska, A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems

Page 19: A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems...A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems Jean-Charles augère,F Danilo Gligoroski, Ludovic Perret, Simona

6

The MQQ family of cryptosystems

MQQ (Multivariate Quadratic Quasigroups) [GMK08]

Encryption schemeDirect algebraic attack [Mohamed et al.'09, Faugère et al.'10]

n/2 equations removed -measure against the attack

Recommended parameters:

Security 280 296 2112 2128

n 160 192 224 256

MQQ-SIG [GØJPFKM11]only r equations removed

Left MQQs - less structure

Recommended parametersfor security level of 2128:

�eld F2 F4 F16 F256

n 256 128 64 32

r 8 4 2 1

MQQ-ENC [GS12]

S. Samardjiska, A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems

Page 20: A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems...A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems Jean-Charles augère,F Danilo Gligoroski, Ludovic Perret, Simona

7

Crucial for the security of MQ schemes

Input: n, r, k ∈ N, and M1, . . . ,Mk ∈Mn(Fq).

Question: Find � if any � a nonzero k-tuple (λ1, . . . , λk) ∈ Fkq s.t.:

Rank

(k∑

i=1

λiMi

)6 r.

MinRank MR(n, r, k,M1, . . . ,Mk)

[Kipnis, Shamir '99], [Buss, Shallit '99]

NP-hard!!! [Courtois '01], however,

Instances in MQ crypto can be much easier, even polynomial!

Underlays the security of HFE, STS, Rainbow, ... and more

In this talk:

Use MinRank to recover equivalent key of MQQ system

S. Samardjiska, A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems

Page 21: A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems...A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems Jean-Charles augère,F Danilo Gligoroski, Ludovic Perret, Simona

7

Crucial for the security of MQ schemes

Input: n, r, k ∈ N, and M1, . . . ,Mk ∈Mn(Fq).

Question: Find � if any � a nonzero k-tuple (λ1, . . . , λk) ∈ Fkq s.t.:

Rank

(k∑

i=1

λiMi

)6 r.

MinRank MR(n, r, k,M1, . . . ,Mk)

[Kipnis, Shamir '99], [Buss, Shallit '99]

NP-hard!!! [Courtois '01], however,

Instances in MQ crypto can be much easier, even polynomial!

Underlays the security of HFE, STS, Rainbow, ... and more

In this talk:

Use MinRank to recover equivalent key of MQQ system

S. Samardjiska, A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems

Page 22: A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems...A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems Jean-Charles augère,F Danilo Gligoroski, Ludovic Perret, Simona

7

Crucial for the security of MQ schemes

Input: n, r, k ∈ N, and M1, . . . ,Mk ∈Mn(Fq).

Question: Find � if any � a nonzero k-tuple (λ1, . . . , λk) ∈ Fkq s.t.:

Rank

(k∑

i=1

λiMi

)6 r.

MinRank MR(n, r, k,M1, . . . ,Mk)

[Kipnis, Shamir '99], [Buss, Shallit '99]

NP-hard!!! [Courtois '01], however,

Instances in MQ crypto can be much easier, even polynomial!

Underlays the security of HFE, STS, Rainbow, ... and more

In this talk:

Use MinRank to recover equivalent key of MQQ system

S. Samardjiska, A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems

Page 23: A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems...A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems Jean-Charles augère,F Danilo Gligoroski, Ludovic Perret, Simona

8

Solving MinRank - Minors modeling

Rank

(k∑

i=1

λiMi

)≤ r ⇔ all minors of size r+ 1 of

(k∑

i=1

λiMi

)vanish.

(n

r+ 1

)2

equations of degree r+ 1, in k variables

[Faugère & Levy-dit-Vehel & Perret '08],

Cryptanalysis of MinRank authentication scheme [Courtois '01]

[Faugère & Safey El Din & Spaenlehauer '13]

Precise complexity bounds

S. Samardjiska, A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems

Page 24: A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems...A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems Jean-Charles augère,F Danilo Gligoroski, Ludovic Perret, Simona

8

Solving MinRank - Minors modeling

Rank

(k∑

i=1

λiMi

)≤ r ⇔ all minors of size r+ 1 of

(k∑

i=1

λiMi

)vanish.

(n

r+ 1

)2

equations of degree r+ 1, in k variables

[Faugère & Levy-dit-Vehel & Perret '08],

Cryptanalysis of MinRank authentication scheme [Courtois '01]

[Faugère & Safey El Din & Spaenlehauer '13]

Precise complexity bounds

S. Samardjiska, A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems

Page 25: A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems...A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems Jean-Charles augère,F Danilo Gligoroski, Ludovic Perret, Simona

9

Solving MinRank - Kipnis-Shamir modeling

Rank

(k∑

i=1

λiMi

)≤ r ⇔ ∃ x(1), . . . , x(n−r) ∈ Ker

(k∑

i=1

λiMi

)1 x11 . . . x

(1)r

. . ....

...

1 x(n−r)1 . . . x

(n−r)r

·(

k∑i=1

λiMi

)= 0n×n.

n (n− r) quadratic (bilinear) equations in r (n− r) + k variables

Gröbner &

Complexity of F5 algorithm: O((

n+dreg

dreg

)ω)[Faugère '02]

with 2 6 ω 6 3 - the linear algebra constant

dreg 6 min(nX , nY ) + 2,

for bilinear system in X, Y blocks of variables of sizes nX , nY .

S. Samardjiska, A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems

Page 26: A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems...A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems Jean-Charles augère,F Danilo Gligoroski, Ludovic Perret, Simona

9

Solving MinRank - Kipnis-Shamir modeling

Rank

(k∑

i=1

λiMi

)≤ r ⇔ ∃ x(1), . . . , x(n−r) ∈ Ker

(k∑

i=1

λiMi

)1 x11 . . . x

(1)r

. . ....

...

1 x(n−r)1 . . . x

(n−r)r

·(

k∑i=1

λiMi

)= 0n×n.

n (n− r) quadratic (bilinear) equations in r (n− r) + k variables

Relinearization [Kipnis & Shamir '99]

Gröbner &

Complexity of F5 algorithm: O((

n+dreg

dreg

)ω)[Faugère '02]

with 2 6 ω 6 3 - the linear algebra constant

dreg 6 min(nX , nY ) + 2,

for bilinear system in X, Y blocks of variables of sizes nX , nY .

S. Samardjiska, A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems

Page 27: A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems...A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems Jean-Charles augère,F Danilo Gligoroski, Ludovic Perret, Simona

9

Solving MinRank - Kipnis-Shamir modeling

Rank

(k∑

i=1

λiMi

)≤ r ⇔ ∃ x(1), . . . , x(n−r) ∈ Ker

(k∑

i=1

λiMi

)1 x11 . . . x

(1)r

. . ....

...

1 x(n−r)1 . . . x

(n−r)r

·(

k∑i=1

λiMi

)= 0n×n.

n (n− r) quadratic (bilinear) equations in r (n− r) + k variables

Gröbner bases [Faugère & Levy-dit-Vehel & Perret '08]

Gröbner &

Complexity of F5 algorithm: O((

n+dreg

dreg

)ω)[Faugère '02]

with 2 6 ω 6 3 - the linear algebra constant

dreg 6 min(nX , nY ) + 2,

for bilinear system in X, Y blocks of variables of sizes nX , nY .

S. Samardjiska, A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems

Page 28: A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems...A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems Jean-Charles augère,F Danilo Gligoroski, Ludovic Perret, Simona

9

Solving MinRank - Kipnis-Shamir modeling

Rank

(k∑

i=1

λiMi

)≤ r ⇔ ∃ x(1), . . . , x(n−r) ∈ Ker

(k∑

i=1

λiMi

)1 x11 . . . x

(1)r

. . ....

...

1 x(n−r)1 . . . x

(n−r)r

·(

k∑i=1

λiMi

)= 0n×n.

n (n− r) quadratic (bilinear) equations in r (n− r) + k variables

Gröbner bases [Faugère & Levy-dit-Vehel & Perret '08]

Gröbner &

Complexity of F5 algorithm: O((

n+dreg

dreg

)ω)[Faugère '02]

with 2 6 ω 6 3 - the linear algebra constant

dreg 6 min(nX , nY ) + 2,

for bilinear system in X, Y blocks of variables of sizes nX , nY .

S. Samardjiska, A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems

Page 29: A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems...A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems Jean-Charles augère,F Danilo Gligoroski, Ludovic Perret, Simona

10

The central map of the MQQ cryptosystems

· · ·

· · ·

· · ·

......

......

f1 fd+1 f2d+1

f2 fd+2 f2d+2

fd f2d f3d

fn−d+1

fn−d+2

fn

Matrix notation of F

d d

P = T ◦ F ◦ S

d d− sP = (T ·B1) ◦ F ′ ◦ (B2 · S)

S. Samardjiska, A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems

Page 30: A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems...A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems Jean-Charles augère,F Danilo Gligoroski, Ludovic Perret, Simona

10

Crucial observation about the algebraic structure

· · ·

· · ·

· · ·

......

......

f1 fd+1 f2d+1

f2 fd+2 f2d+2

fd f2d f3d

fn−d+1

fn−d+2

fn

Matrix notation of F

d d

P = T ◦ F ◦ S

d d− sP = (T ·B1) ◦ F ′ ◦ (B2 · S)

S. Samardjiska, A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems

Page 31: A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems...A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems Jean-Charles augère,F Danilo Gligoroski, Ludovic Perret, Simona

10

Crucial observation about the algebraic structure

· · ·

· · ·

· · ·

......

......

f1 fd+1 f2d+1

f2 fd+2 f2d+2

fd f2d f3d

fn−d+1

fn−d+2

fn

Matrix notation of F

d d

P = T ◦ F ◦ S

d d− sP = (T ·B1) ◦ F ′ ◦ (B2 · S)

S. Samardjiska, A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems

Page 32: A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems...A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems Jean-Charles augère,F Danilo Gligoroski, Ludovic Perret, Simona

10

Crucial observation about the algebraic structure

· · ·

· · ·

· · ·

......

......

f1 fd+1 f2d+1

f2 fd+2 f2d+2

fd f2d f3d

fn−d+1

fn−d+2

fn

Matrix notation of F

d d

P = T ◦ F ◦ S

d d− sP = (T ·B1) ◦ F ′ ◦ (B2 · S)

S. Samardjiska, A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems

Page 33: A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems...A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems Jean-Charles augère,F Danilo Gligoroski, Ludovic Perret, Simona

10

Crucial observation about the algebraic structure

· · ·

· · ·

· · ·

......

......

f1 fd+1 f2d+1

f2 fd+2 f2d+2

fd f2d f3d

fn−d+1

fn−d+2

fn

Matrix notation of F

d d

P = T ◦ F ◦ S

d d− sP = (T ·B1) ◦ F ′ ◦ (B2 · S)

S. Samardjiska, A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems

Page 34: A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems...A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems Jean-Charles augère,F Danilo Gligoroski, Ludovic Perret, Simona

11

=⇒ We obtain an equivalent central map

· · ·

· · ·

· · ·

......

......

f1 fd+1 f2d+1

f2 fd+2 f2d+2

fd f2d f3d

fn−d+1

fn−d+2

fn

Matrix notation of F ′

S. Samardjiska, A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems

Page 35: A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems...A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems Jean-Charles augère,F Danilo Gligoroski, Ludovic Perret, Simona

12

Initially, note· · ·

· · ·

· · ·

......

......

f1 fd+1 f2d+1

f2 fd+2 f2d+2

fd f2d f3d

fn−d+1

fn−d+2

fn

xn does not occur

quadratically!

Recover structure

n− 1 1

Transform S′n =

input space

n− 1 1

Solve: (m(n− 1) linear equations in (n− 1) variables)

n∑y=1

P(k)yj s′y,n = 0, ∀ 1 ≤ k ≤ m, 1 ≤ j < n.

S. Samardjiska, A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems

Page 36: A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems...A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems Jean-Charles augère,F Danilo Gligoroski, Ludovic Perret, Simona

12

Initially, note· · ·

· · ·

· · ·

......

......

f1 fd+1 f2d+1

f2 fd+2 f2d+2

fd f2d f3d

fn−d+1

fn−d+2

fn

xn does not occur

quadratically!

Recover structure

n− 1 1

Transform S′n =

input space

n− 1 1

Solve: (m(n− 1) linear equations in (n− 1) variables)

n∑y=1

P(k)yj s′y,n = 0, ∀ 1 ≤ k ≤ m, 1 ≤ j < n.

S. Samardjiska, A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems

Page 37: A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems...A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems Jean-Charles augère,F Danilo Gligoroski, Ludovic Perret, Simona

12

Initially, note· · ·

· · ·

· · ·

......

......

f1 fd+1 f2d+1

f2 fd+2 f2d+2

fd f2d f3d

fn−d+1

fn−d+2

fn

xn does not occur

quadratically!

Recover structure

n− 1 1

Transform S′n =

input space

n− 1 1

Solve: (m(n− 1) linear equations in (n− 1) variables)

n∑y=1

P(k)yj s′y,n = 0, ∀ 1 ≤ k ≤ m, 1 ≤ j < n.

S. Samardjiska, A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems

Page 38: A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems...A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems Jean-Charles augère,F Danilo Gligoroski, Ludovic Perret, Simona

12

Initially, note· · ·

· · ·

· · ·

......

......

f1 fd+1 f2d+1

f2 fd+2 f2d+2

fd f2d f3d

fn−d+1

fn−d+2

fn

xn does not occur

quadratically!

Recover structure

n− 1 1

Transform S′n =

input space

n− 1 1

Solve: (m(n− 1) linear equations in (n− 1) variables)

n∑y=1

P(k)yj s′y,n = 0, ∀ 1 ≤ k ≤ m, 1 ≤ j < n.

S. Samardjiska, A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems

Page 39: A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems...A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems Jean-Charles augère,F Danilo Gligoroski, Ludovic Perret, Simona

13

Key Recovery Attack

Input: n− r public polynomials P in n variables.

for number of variables N := n down to r + 2 do

Step N :

Find a good key (S′N , T

′N )

Transform the public key as P ← T′N ◦ P ◦ S

′N ,

end for;

Output: An equivalent key

S′= S

′n ◦S

′n−1 ◦ · · · ◦S

′r+2 and T

′= T

′r+2 ◦ · · · ◦T

′n−1 ◦T

′n.

S. Samardjiska, A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems

Page 40: A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems...A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems Jean-Charles augère,F Danilo Gligoroski, Ludovic Perret, Simona

13

Key Recovery Attack

Input: n− r public polynomials P in n variables.

for number of variables N := n down to r + 2 do

Step N :

Find a good key (S′N , T

′N )

Transform the public key as P ← T′N ◦ P ◦ S

′N ,

end for;

Output: An equivalent key

S′= S

′n ◦S

′n−1 ◦ · · · ◦S

′r+2 and T

′= T

′r+2 ◦ · · · ◦T

′n−1 ◦T

′n.

Essential structure preserved

S. Samardjiska, A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems

Page 41: A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems...A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems Jean-Charles augère,F Danilo Gligoroski, Ludovic Perret, Simona

13

Key Recovery Attack

Input: n− r public polynomials P in n variables.

for number of variables N := n down to r + 2 do

Step N :

Find a good key (S′N , T

′N )

Transform the public key as P ← T′N ◦ P ◦ S

′N ,

end for;

Output: An equivalent key

S′= S

′n ◦S

′n−1 ◦ · · · ◦S

′r+2 and T

′= T

′r+2 ◦ · · · ◦T

′n−1 ◦T

′n.

Essential structure preserved

The structure gradually revealed

S. Samardjiska, A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems

Page 42: A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems...A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems Jean-Charles augère,F Danilo Gligoroski, Ludovic Perret, Simona

13

Key Recovery Attack

Input: n− r public polynomials P in n variables.

for number of variables N := n down to r + 2 do

Step N :

Find a good key (S′N , T

′N )

Transform the public key as P ← T′N ◦ P ◦ S

′N ,

end for;

Output: An equivalent key

S′= S

′n ◦S

′n−1 ◦ · · · ◦S

′r+2 and T

′= T

′r+2 ◦ · · · ◦T

′n−1 ◦T

′n.

Essential structure preserved

The structure gradually revealed

one column at a time

S. Samardjiska, A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems

Page 43: A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems...A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems Jean-Charles augère,F Danilo Gligoroski, Ludovic Perret, Simona

14

Step n· · ·

· · ·

· · ·

......

......

f1 fd+1 f2d+1

f2 fd+2 f2d+2

fd f2d f3d

fn−d+1

fn−d+2

fn

xn does not occur

quadratically!

xN occurs quadratically

in at most one polynomial!

Recover structure

n− 1 1

Find good key S′n =

n− 1 1

Solve: (m(n− 1) linear equations in (n− 1) variables)

n∑y=1

P(k)yj s′y,n = 0, ∀ 1 ≤ k ≤ m, 1 ≤ j < n.

The solution of the Simultaneous MinRank problems:

Find t′k1 ∈ Fq, 1 < k 6 N − r + 1 such that

Rank(P(k) + t

′k1P

(1))< N and s′ ∈

⋂k

Ker(P(k) + t

′k1P

(1)),

gives the unknown columns of S′N , T

′N .

Theorem

Kipnis-Shamir:

s′(P(k) + t

′k1P

(1))= 01×N , 1 < k 6 N − r + 1

[ N(N − r + 1) equations in (N − 1) + (N − r − 1) variables ]

S. Samardjiska, A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems

Page 44: A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems...A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems Jean-Charles augère,F Danilo Gligoroski, Ludovic Perret, Simona

14

Step N· · ·

· · ·

· · ·

......

......

f1 fd+1 f2d+1

f2 fd+2 f2d+2

fd f2d f3d

fn−d+1

fn−d+2

fn

xn does not occur

quadratically!

xN occurs quadratically

in at most one polynomial!

Recover structure

n− 1 1

Find good key S′n =

n− 1 1

Solve: (m(n− 1) linear equations in (n− 1) variables)

n∑y=1

P(k)yj s′y,n = 0, ∀ 1 ≤ k ≤ m, 1 ≤ j < n.

The solution of the Simultaneous MinRank problems:

Find t′k1 ∈ Fq, 1 < k 6 N − r + 1 such that

Rank(P(k) + t

′k1P

(1))< N and s′ ∈

⋂k

Ker(P(k) + t

′k1P

(1)),

gives the unknown columns of S′N , T

′N .

Theorem

Kipnis-Shamir:

s′(P(k) + t

′k1P

(1))= 01×N , 1 < k 6 N − r + 1

[ N(N − r + 1) equations in (N − 1) + (N − r − 1) variables ]

S. Samardjiska, A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems

Page 45: A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems...A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems Jean-Charles augère,F Danilo Gligoroski, Ludovic Perret, Simona

14

Step N· · ·

· · ·

· · ·

......

......

f1 fd+1 f2d+1

f2 fd+2 f2d+2

fd f2d f3d

fn−d+1

fn−d+2

fn

xn does not occur

quadratically!

xN occurs quadratically

in at most one polynomial!

Recover structure

n− 1 1

Find good key S′n =

n− 1 1

Find good key S′N =

N−1 1

, T′N =

N−r−11

.

Solve: (m(n− 1) linear equations in (n− 1) variables)

n∑y=1

P(k)yj s′y,n = 0, ∀ 1 ≤ k ≤ m, 1 ≤ j < n.

The solution of the Simultaneous MinRank problems:

Find t′k1 ∈ Fq, 1 < k 6 N − r + 1 such that

Rank(P(k) + t

′k1P

(1))< N and s′ ∈

⋂k

Ker(P(k) + t

′k1P

(1)),

gives the unknown columns of S′N , T

′N .

Theorem

Kipnis-Shamir:

s′(P(k) + t

′k1P

(1))= 01×N , 1 < k 6 N − r + 1

[ N(N − r + 1) equations in (N − 1) + (N − r − 1) variables ]

S. Samardjiska, A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems

Page 46: A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems...A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems Jean-Charles augère,F Danilo Gligoroski, Ludovic Perret, Simona

14

Step N· · ·

· · ·

· · ·

......

......

f1 fd+1 f2d+1

f2 fd+2 f2d+2

fd f2d f3d

fn−d+1

fn−d+2

fn

xn does not occur

quadratically!

xN occurs quadratically

in at most one polynomial!

Recover structure

n− 1 1

Find good key S′n =

n− 1 1

Find good key S′N =

N−1 1

, T′N =

N−r−11

.

Solve: (m(n− 1) linear equations in (n− 1) variables)

n∑y=1

P(k)yj s′y,n = 0, ∀ 1 ≤ k ≤ m, 1 ≤ j < n.

The solution of the Simultaneous MinRank problems:

Find t′k1 ∈ Fq, 1 < k 6 N − r + 1 such that

Rank(P(k) + t

′k1P

(1))< N and s′ ∈

⋂k

Ker(P(k) + t

′k1P

(1)),

gives the unknown columns of S′N , T

′N .

Theorem

Kipnis-Shamir:

s′(P(k) + t

′k1P

(1))= 01×N , 1 < k 6 N − r + 1

[ N(N − r + 1) equations in (N − 1) + (N − r − 1) variables ]

S. Samardjiska, A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems

Page 47: A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems...A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems Jean-Charles augère,F Danilo Gligoroski, Ludovic Perret, Simona

14

Step N· · ·

· · ·

· · ·

......

......

f1 fd+1 f2d+1

f2 fd+2 f2d+2

fd f2d f3d

fn−d+1

fn−d+2

fn

xn does not occur

quadratically!

xN occurs quadratically

in at most one polynomial!

Recover structure

n− 1 1

Find good key S′n =

n− 1 1

Find good key S′N =

N−1 1

, T′N =

N−r−11

.

Solve: (m(n− 1) linear equations in (n− 1) variables)

n∑y=1

P(k)yj s′y,n = 0, ∀ 1 ≤ k ≤ m, 1 ≤ j < n.

The solution of the Simultaneous MinRank problems:

Find t′k1 ∈ Fq, 1 < k 6 N − r + 1 such that

Rank(P(k) + t

′k1P

(1))< N and s′ ∈

⋂k

Ker(P(k) + t

′k1P

(1)),

gives the unknown columns of S′N , T

′N .

Theorem

Kipnis-Shamir:

s′(P(k) + t

′k1P

(1))= 01×N , 1 < k 6 N − r + 1

[ N(N − r + 1) equations in (N − 1) + (N − r − 1) variables ]

S. Samardjiska, A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems

Page 48: A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems...A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems Jean-Charles augère,F Danilo Gligoroski, Ludovic Perret, Simona

15

Practical Key Recovery

Key Recovery MQQ-ENC

�eld n r Security Theoretical (ω = 3)

F2 256 8 2128 269

F4 128 4 2128 259

F16 64 2 2128 250

F256 32 1 2128 240

Practical time

250.6 9.1 days

Key Recovery MQQ-SIG

n Security Theoretical (ω = 3)

160 280 262

192 296 265

224 2112 267

256 2128 269

Practical time

248.0 1.4 days

Implemented in Magma 2.19-10 on 32 core Intel Xeon 2.27GHz, 1TB RAM.

S. Samardjiska, A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems

Page 49: A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems...A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems Jean-Charles augère,F Danilo Gligoroski, Ludovic Perret, Simona

16

Complexity Analysis � over even characteristic

Solving Simultaneous MinRank

Find t′k1 ∈ Fq, 1 < k 6 N − r + 1 such that

Rank(P(k) + t

′k1P

(1))< N , and s′ ∈

⋂Ker

(P(k) + t

′k1P

(1))

q = O(n)

Solve one MinRank anduse exhaustion over Fq

Plausible to havesmall rank defect (for ex. 1)

Complexity: O(nω+3

)with probability 1− 1/q.

Theorem

Any q

Solve few of the MinRank(s)few=2 with high probability!

Complexity: O(n3ω+1)

with probability(1− 1

q

)(1− 1

qn−3

).

Theorem

S. Samardjiska, A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems

Page 50: A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems...A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems Jean-Charles augère,F Danilo Gligoroski, Ludovic Perret, Simona

16

Complexity Analysis � over even characteristic

Solving Simultaneous MinRank

Find t′k1 ∈ Fq, 1 < k 6 N − r + 1 such that

Rank(P(k) + t

′k1P

(1))< N , and s′ ∈

⋂Ker

(P(k) + t

′k1P

(1))

q = O(n)

Solve one MinRank anduse exhaustion over Fq

Plausible to havesmall rank defect (for ex. 1)

Complexity: O(nω+3

)with probability 1− 1/q.

Theorem

Any q

Solve few of the MinRank(s)few=2 with high probability!

Complexity: O(n3ω+1)

with probability(1− 1

q

)(1− 1

qn−3

).

Theorem

S. Samardjiska, A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems

Page 51: A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems...A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems Jean-Charles augère,F Danilo Gligoroski, Ludovic Perret, Simona

16

Complexity Analysis � over even characteristic

Solving Simultaneous MinRank

Find t′k1 ∈ Fq, 1 < k 6 N − r + 1 such that

Rank(P(k) + t

′k1P

(1))< N , and s′ ∈

⋂Ker

(P(k) + t

′k1P

(1))

q = O(n)

Solve one MinRank anduse exhaustion over Fq

Plausible to havesmall rank defect (for ex. 1)

Complexity: O(nω+3

)with probability 1− 1/q.

Theorem

Any q

Solve few of the MinRank(s)few=2 with high probability!

Complexity: O(n3ω+1)

with probability(1− 1

q

)(1− 1

qn−3

).

Theorem

S. Samardjiska, A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems

Page 52: A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems...A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems Jean-Charles augère,F Danilo Gligoroski, Ludovic Perret, Simona

16

Complexity Analysis � over even characteristic

Solving Simultaneous MinRank

Find t′k1 ∈ Fq, 1 < k 6 N − r + 1 such that

Rank(P(k) + t

′k1P

(1))< N , and s′ ∈

⋂Ker

(P(k) + t

′k1P

(1))

q = O(n)

Solve one MinRank anduse exhaustion over Fq

Plausible to havesmall rank defect (for ex. 1)

Complexity: O(nω+3

)with probability 1− 1/q.

Theorem

Any q

Solve few of the MinRank(s)few=2 with high probability!

Complexity: O(n3ω+1)

with probability(1− 1

q

)(1− 1

qn−3

).

Theorem

S. Samardjiska, A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems

Page 53: A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems...A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems Jean-Charles augère,F Danilo Gligoroski, Ludovic Perret, Simona

16

Complexity Analysis � over even characteristic

Solving Simultaneous MinRank

Find t′k1 ∈ Fq, 1 < k 6 N − r + 1 such that

Rank(P(k) + t

′k1P

(1))< N , and s′ ∈

⋂Ker

(P(k) + t

′k1P

(1))

q = O(n)

Solve one MinRank anduse exhaustion over Fq

Plausible to havesmall rank defect (for ex. 1)

Complexity: O(nω+3

)with probability 1− 1/q.

Theorem

Any q

Solve few of the MinRank(s)few=2 with high probability!

Complexity: O(n3ω+1)

with probability(1− 1

q

)(1− 1

qn−3

).

Theorem

S. Samardjiska, A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems

Page 54: A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems...A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems Jean-Charles augère,F Danilo Gligoroski, Ludovic Perret, Simona

17

Practical Results

Key Recovery MQQ-ENC

�eld n r Theoretical (ω = 3) Practical

F2 64 8 250 243

F2 96 8 255 248

F4 96 4 255 248

F4 128 4 259 251

F16 48 2 246 239

F16 64 2 250 242

Security time

2128 9.1 days

Key Recovery MQQ-SIG

n r Theoretical (ω = 3) Practical

64 32 250 240

96 48 255 243

128 64 259 246

160 80 262 248

Security time

280 1.4 days

Implemented in Magma 2.19-10 on 32 core Intel Xeon 2.27GHz, 1TB RAM.

S. Samardjiska, A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems

Page 55: A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems...A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems Jean-Charles augère,F Danilo Gligoroski, Ludovic Perret, Simona

17

Practical Results

Key Recovery MQQ-ENC

�eld n r Theoretical (ω = 3) Practical

F2 64 8 250 243

F2 96 8 255 248

F4 96 4 255 248

F4 128 4 259 251

F16 48 2 246 239

F16 64 2 250 242

Security time

2128 9.1 days

Key Recovery MQQ-SIG

n r Theoretical (ω = 3) Practical

64 32 250 240

96 48 255 243

128 64 259 246

160 80 262 248

Security time

280 1.4 days

Implemented in Magma 2.19-10 on 32 core Intel Xeon 2.27GHz, 1TB RAM.

S. Samardjiska, A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems

Page 56: A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems...A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems Jean-Charles augère,F Danilo Gligoroski, Ludovic Perret, Simona

18

Conclusion

Very hard to design a secure scheme based oneasily invertible MQQ structure

For any advancement� deeper insights in quasigroup theory needed

MinRank - fundamental forMQ security

Our attack

Works over characteristic 2Independent of the �eld sizeWorks regardless of the number of removed equations

Simultaneous MinRank� a proper way to model MinRank in MQ crypto �

S. Samardjiska, A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems

Page 57: A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems...A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems Jean-Charles augère,F Danilo Gligoroski, Ludovic Perret, Simona

18

Conclusion

Very hard to design a secure scheme based oneasily invertible MQQ structure

For any advancement� deeper insights in quasigroup theory needed

MinRank - fundamental forMQ security

Our attack

Works over characteristic 2Independent of the �eld sizeWorks regardless of the number of removed equations

Simultaneous MinRank� a proper way to model MinRank in MQ crypto �

S. Samardjiska, A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems

Page 58: A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems...A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems Jean-Charles augère,F Danilo Gligoroski, Ludovic Perret, Simona

18

Conclusion

Very hard to design a secure scheme based oneasily invertible MQQ structure

For any advancement� deeper insights in quasigroup theory needed

MinRank - fundamental forMQ security

Our attack

Works over characteristic 2Independent of the �eld sizeWorks regardless of the number of removed equations

Simultaneous MinRank� a proper way to model MinRank in MQ crypto �

S. Samardjiska, A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems

Page 59: A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems...A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems Jean-Charles augère,F Danilo Gligoroski, Ludovic Perret, Simona

18

Conclusion

Very hard to design a secure scheme based oneasily invertible MQQ structure

For any advancement� deeper insights in quasigroup theory needed

MinRank - fundamental forMQ security

Our attack

Works over characteristic 2Independent of the �eld sizeWorks regardless of the number of removed equations

Simultaneous MinRank� a proper way to model MinRank in MQ crypto �

S. Samardjiska, A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems

Page 60: A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems...A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems Jean-Charles augère,F Danilo Gligoroski, Ludovic Perret, Simona

Thank you for listening!

?

S. Samardjiska, A Polynomial-Time Key-Recovery Attack on MQQ Cryptosystems