mqdss round 2 presentation - nist · mqdss-31-48(new) 1-2 31 48 184 46b 16b 28400b round1 269 62b...

39
MQDSS Ming-Shing Chen 1 , Andreas Hülsing 2 , Joost Rijneveld 3 , Simona Samardjiska 3 , and Peter Schwabe 3 1 National Taiwan University / Academia Sinica, Taipei, Taiwan 2 Technische Universiteit Eindhoven, Eindhoven, The Netherlands 3 Radboud University, Nijmegen, The Netherlands 2019-08-23 Second NIST PQC Standardization Conference 1 / 11

Upload: others

Post on 18-Aug-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: MQDSS Round 2 Presentation - NIST · MQDSS-31-48(new) 1-2 31 48 184 46B 16B 28400B Round1 269 62B 32B 32882B MQDSS-31-64(new) 3-4 31 64 277 64B 24B 59928B Round1 403 88B 48B 67800B

MQDSS

Ming-Shing Chen1, Andreas Hülsing2, Joost Rijneveld3, Simona Samardjiska3,and Peter Schwabe3

1 National Taiwan University / Academia Sinica, Taipei, Taiwan2 Technische Universiteit Eindhoven, Eindhoven, The Netherlands

3 Radboud University, Nijmegen, The Netherlands

2019-08-23Second NIST PQC Standardization Conference

1 / 11

Page 2: MQDSS Round 2 Presentation - NIST · MQDSS-31-48(new) 1-2 31 48 184 46B 16B 28400B Round1 269 62B 32B 32882B MQDSS-31-64(new) 3-4 31 64 277 64B 24B 59928B Round1 403 88B 48B 67800B

In a nutshell..

I MQ-based 5-pass identification schemeI Fiat-Shamir transform

I Loose reduction from (only!) MQ problemI Security proof, instead of typical ‘break and tweak’ inMQ cryptography

I Very small keys, big signatures

I First proposed at ASIACRYPT 2016 [CHR+16]

I Changes in Second Round submissionI Reduction of number of roundsI Added randomness in commitmentsI More precise analysis of best attacks againstMQ

2 / 11

Page 3: MQDSS Round 2 Presentation - NIST · MQDSS-31-48(new) 1-2 31 48 184 46B 16B 28400B Round1 269 62B 32B 32882B MQDSS-31-64(new) 3-4 31 64 277 64B 24B 59928B Round1 403 88B 48B 67800B

In a nutshell..

I MQ-based 5-pass identification schemeI Fiat-Shamir transform

I Loose reduction from (only!) MQ problemI Security proof, instead of typical ‘break and tweak’ inMQ cryptography

I Very small keys, big signatures

I First proposed at ASIACRYPT 2016 [CHR+16]

I Changes in Second Round submissionI Reduction of number of roundsI Added randomness in commitmentsI More precise analysis of best attacks againstMQ

2 / 11

Page 4: MQDSS Round 2 Presentation - NIST · MQDSS-31-48(new) 1-2 31 48 184 46B 16B 28400B Round1 269 62B 32B 32882B MQDSS-31-64(new) 3-4 31 64 277 64B 24B 59928B Round1 403 88B 48B 67800B

In a nutshell..

I MQ-based 5-pass identification schemeI Fiat-Shamir transform

I Loose reduction from (only!) MQ problemI Security proof, instead of typical ‘break and tweak’ inMQ cryptography

I Very small keys, big signatures

I First proposed at ASIACRYPT 2016 [CHR+16]

I Changes in Second Round submissionI Reduction of number of roundsI Added randomness in commitmentsI More precise analysis of best attacks againstMQ

2 / 11

Page 5: MQDSS Round 2 Presentation - NIST · MQDSS-31-48(new) 1-2 31 48 184 46B 16B 28400B Round1 269 62B 32B 32882B MQDSS-31-64(new) 3-4 31 64 277 64B 24B 59928B Round1 403 88B 48B 67800B

Fiat-Shamir transform

IDSP

r

V

r

com← P0

r

(sk) com

ch←R ChS

r

(1k)

ch←R ChS

r

(1k)ch

resp← P1

r

(sk, com, ch) resp

b ← Vf

r

(pk, com, ch, resp)

↓ ↓ ↓

FS signature Signer

com← P0(sk)ch← H(m, com)resp← P1(sk, com, ch)

output : σ = (com, resp)

Verifier

ch← H(m, com)b ← Vf(pk, com, ch, resp)

output : b

3 / 11

Page 6: MQDSS Round 2 Presentation - NIST · MQDSS-31-48(new) 1-2 31 48 184 46B 16B 28400B Round1 269 62B 32B 32882B MQDSS-31-64(new) 3-4 31 64 277 64B 24B 59928B Round1 403 88B 48B 67800B

Fiat-Shamir transform

IDSP r V r

com← P0r (sk) com

ch←R ChS

r

(1k)

ch←R ChSr (1k)ch

resp← P1r (sk, com, ch) resp

b ← Vfr (pk, com, ch, resp)

↓ ↓ ↓

FS signature Signer

com← P0(sk)ch← H(m, com)resp← P1(sk, com, ch)

output : σ = (com, resp)

Verifier

ch← H(m, com)b ← Vf(pk, com, ch, resp)

output : b

3 / 11

Page 7: MQDSS Round 2 Presentation - NIST · MQDSS-31-48(new) 1-2 31 48 184 46B 16B 28400B Round1 269 62B 32B 32882B MQDSS-31-64(new) 3-4 31 64 277 64B 24B 59928B Round1 403 88B 48B 67800B

Fiat-Shamir transform

IDSP r V r

com← P0r (sk) com

ch←R ChSr (1k)

ch←R ChSr (1k)

ch

resp← P1r (sk, com, ch) resp

b ← Vfr (pk, com, ch, resp)

↓ ↓ ↓

FS signature Signer

com← P0(sk)ch← H(m, com)resp← P1(sk, com, ch)

output : σ = (com, resp)

Verifier

ch← H(m, com)b ← Vf(pk, com, ch, resp)

output : b

3 / 11

Page 8: MQDSS Round 2 Presentation - NIST · MQDSS-31-48(new) 1-2 31 48 184 46B 16B 28400B Round1 269 62B 32B 32882B MQDSS-31-64(new) 3-4 31 64 277 64B 24B 59928B Round1 403 88B 48B 67800B

Sakumoto-Shirai-Hiwatari 5-pass IDS [SSH11]

P : (F, v, s) V : (F, v)

r0, t0 ←R Fnq , e0 ←R Fm

q

r1 ← s− r0c0 ← Com(r0, t0, e0)c1 ← Com(r1,G(t0, r1) + e0) (c0, c1)

α←R Fqα

t1 ← αr0 − t0

e1 ← αF(r0)− e0 resp1 = (t1, e1)

ch2 ←R {0, 1}ch2

If ch2 = 0, resp2 ← r0Else resp2 ← r1 resp2

If ch2 = 0, Parse resp2 = r0, checkc0

?= Com(r0, αr0 − t1, αF(r0)− e1)Else Parse resp2 = r1, checkc1

?= Com(r1, α(v− F(r1))− G(t1, r1)− e1)4 / 11

Page 9: MQDSS Round 2 Presentation - NIST · MQDSS-31-48(new) 1-2 31 48 184 46B 16B 28400B Round1 269 62B 32B 32882B MQDSS-31-64(new) 3-4 31 64 277 64B 24B 59928B Round1 403 88B 48B 67800B

MQDSS

I Generate keysI Sample seed SF ∈ {0, 1}k , s ∈ Fn

q ⇒ sk = (SF , s)I Expand SF to F, compute v = F(s) ⇒ pk = (SF , v)

I SigningI Sign randomized digest D of message MI Perform r parallel rounds of transformed IDS

I VerifyingI Reconstruct D, FI Reconstruct challengesI Reconstruct commitmentsI Check combined commitments hash

I Parameters: n, m, q, r (and Com, Hash & PRG)

5 / 11

Page 10: MQDSS Round 2 Presentation - NIST · MQDSS-31-48(new) 1-2 31 48 184 46B 16B 28400B Round1 269 62B 32B 32882B MQDSS-31-64(new) 3-4 31 64 277 64B 24B 59928B Round1 403 88B 48B 67800B

MQDSS

I Generate keysI Sample seed SF ∈ {0, 1}k , s ∈ Fn

q ⇒ sk = (SF , s)I Expand SF to F, compute v = F(s) ⇒ pk = (SF , v)

I SigningI Sign randomized digest D of message MI Perform r parallel rounds of transformed IDS

I VerifyingI Reconstruct D, FI Reconstruct challengesI Reconstruct commitmentsI Check combined commitments hash

I Parameters: n, m, q, r (and Com, Hash & PRG)

5 / 11

Page 11: MQDSS Round 2 Presentation - NIST · MQDSS-31-48(new) 1-2 31 48 184 46B 16B 28400B Round1 269 62B 32B 32882B MQDSS-31-64(new) 3-4 31 64 277 64B 24B 59928B Round1 403 88B 48B 67800B

MQDSS

I Generate keysI Sample seed SF ∈ {0, 1}k , s ∈ Fn

q ⇒ sk = (SF , s)I Expand SF to F, compute v = F(s) ⇒ pk = (SF , v)

I SigningI Sign randomized digest D of message MI Perform r parallel rounds of transformed IDS

I VerifyingI Reconstruct D, FI Reconstruct challengesI Reconstruct commitmentsI Check combined commitments hash

I Parameters: n, m, q, r (and Com, Hash & PRG)

5 / 11

Page 12: MQDSS Round 2 Presentation - NIST · MQDSS-31-48(new) 1-2 31 48 184 46B 16B 28400B Round1 269 62B 32B 32882B MQDSS-31-64(new) 3-4 31 64 277 64B 24B 59928B Round1 403 88B 48B 67800B

MQDSS

I Generate keysI Sample seed SF ∈ {0, 1}k , s ∈ Fn

q ⇒ sk = (SF , s)I Expand SF to F, compute v = F(s) ⇒ pk = (SF , v)

I SigningI Sign randomized digest D of message MI Perform r parallel rounds of transformed IDS

I VerifyingI Reconstruct D, FI Reconstruct challengesI Reconstruct commitmentsI Check combined commitments hash

I Parameters: n, m, q, r (and Com, Hash & PRG)

5 / 11

Page 13: MQDSS Round 2 Presentation - NIST · MQDSS-31-48(new) 1-2 31 48 184 46B 16B 28400B Round1 269 62B 32B 32882B MQDSS-31-64(new) 3-4 31 64 277 64B 24B 59928B Round1 403 88B 48B 67800B

Round 2 update: Parameter Sets

Sec.cat.

q n(= m) r pk

(bytes)sk

(bytes)Signature(bytes)

MQDSS-31-48 1-2 31 48 135 46 16 20854(Round 1) 269 62 32 32882

MQDSS-31-64 3-4 31 64 202 64 24 43728(Round 1) 403 88 48 67800

Table: Round 1 parameters in black, Round 2 parameters in red.

I q, n = m chosen using best attacks onMQI q additionally chosen for fast arithmetic

I r chosen such that 2−(r log 2qq+1 )

< 2−k

I mistake in calculation in Round 1, chose k too large

6 / 11

Page 14: MQDSS Round 2 Presentation - NIST · MQDSS-31-48(new) 1-2 31 48 184 46B 16B 28400B Round1 269 62B 32B 32882B MQDSS-31-64(new) 3-4 31 64 277 64B 24B 59928B Round1 403 88B 48B 67800B

Round 2 update: Parameter Sets

Sec.cat.

q n(= m) r pk

(bytes)sk

(bytes)Signature(bytes)

MQDSS-31-48 1-2 31 48 135 46 16 20854(Round 1) 269 62 32 32882

MQDSS-31-64 3-4 31 64 202 64 24 43728(Round 1) 403 88 48 67800

Table: Round 1 parameters in black, Round 2 parameters in red.

I q, n = m chosen using best attacks onMQI q additionally chosen for fast arithmetic

I r chosen such that 2−(r log 2qq+1 )

< 2−k

I mistake in calculation in Round 1, chose k too large6 / 11

Page 15: MQDSS Round 2 Presentation - NIST · MQDSS-31-48(new) 1-2 31 48 184 46B 16B 28400B Round1 269 62B 32B 32882B MQDSS-31-64(new) 3-4 31 64 277 64B 24B 59928B Round1 403 88B 48B 67800B

Round 2 update: Commitments

I MQDSS uses hash for commitments - instantiated with SHAKE-256

I In Round 1 proof assumes statistically hiding commitmentsI Requires a lot of randomness: 5× commitment length [Lei18]I Round 1 MQDSS does not provide any (dedicated) randomness

I Round 2:I Computationally hiding commitments suffices!I Proof updated accordinglyI Still needs randomness (2× commitment length [Lei18])I ⇒ adds approx 4KB (10KB) to signature for MQDSS-31-48 (MQDSS-31-64)

7 / 11

Page 16: MQDSS Round 2 Presentation - NIST · MQDSS-31-48(new) 1-2 31 48 184 46B 16B 28400B Round1 269 62B 32B 32882B MQDSS-31-64(new) 3-4 31 64 277 64B 24B 59928B Round1 403 88B 48B 67800B

Round 2 update: Commitments

I MQDSS uses hash for commitments - instantiated with SHAKE-256

I In Round 1 proof assumes statistically hiding commitments

I Requires a lot of randomness: 5× commitment length [Lei18]I Round 1 MQDSS does not provide any (dedicated) randomness

I Round 2:I Computationally hiding commitments suffices!I Proof updated accordinglyI Still needs randomness (2× commitment length [Lei18])I ⇒ adds approx 4KB (10KB) to signature for MQDSS-31-48 (MQDSS-31-64)

7 / 11

Page 17: MQDSS Round 2 Presentation - NIST · MQDSS-31-48(new) 1-2 31 48 184 46B 16B 28400B Round1 269 62B 32B 32882B MQDSS-31-64(new) 3-4 31 64 277 64B 24B 59928B Round1 403 88B 48B 67800B

Round 2 update: Commitments

I MQDSS uses hash for commitments - instantiated with SHAKE-256

I In Round 1 proof assumes statistically hiding commitmentsI Requires a lot of randomness: 5× commitment length [Lei18]I Round 1 MQDSS does not provide any (dedicated) randomness

I Round 2:I Computationally hiding commitments suffices!I Proof updated accordinglyI Still needs randomness (2× commitment length [Lei18])I ⇒ adds approx 4KB (10KB) to signature for MQDSS-31-48 (MQDSS-31-64)

7 / 11

Page 18: MQDSS Round 2 Presentation - NIST · MQDSS-31-48(new) 1-2 31 48 184 46B 16B 28400B Round1 269 62B 32B 32882B MQDSS-31-64(new) 3-4 31 64 277 64B 24B 59928B Round1 403 88B 48B 67800B

Round 2 update: Commitments

I MQDSS uses hash for commitments - instantiated with SHAKE-256

I In Round 1 proof assumes statistically hiding commitmentsI Requires a lot of randomness: 5× commitment length [Lei18]I Round 1 MQDSS does not provide any (dedicated) randomness

I Round 2:I Computationally hiding commitments suffices!I Proof updated accordingly

I Still needs randomness (2× commitment length [Lei18])I ⇒ adds approx 4KB (10KB) to signature for MQDSS-31-48 (MQDSS-31-64)

7 / 11

Page 19: MQDSS Round 2 Presentation - NIST · MQDSS-31-48(new) 1-2 31 48 184 46B 16B 28400B Round1 269 62B 32B 32882B MQDSS-31-64(new) 3-4 31 64 277 64B 24B 59928B Round1 403 88B 48B 67800B

Round 2 update: Commitments

I MQDSS uses hash for commitments - instantiated with SHAKE-256

I In Round 1 proof assumes statistically hiding commitmentsI Requires a lot of randomness: 5× commitment length [Lei18]I Round 1 MQDSS does not provide any (dedicated) randomness

I Round 2:I Computationally hiding commitments suffices!I Proof updated accordinglyI Still needs randomness (2× commitment length [Lei18])I ⇒ adds approx 4KB (10KB) to signature for MQDSS-31-48 (MQDSS-31-64)

7 / 11

Page 20: MQDSS Round 2 Presentation - NIST · MQDSS-31-48(new) 1-2 31 48 184 46B 16B 28400B Round1 269 62B 32B 32882B MQDSS-31-64(new) 3-4 31 64 277 64B 24B 59928B Round1 403 88B 48B 67800B

Round 2 performance

I Reference implementation

keygen signing verificationMQDSS-31-48 1 192 984 26 630 590 19 840 136

Round 1 1 206 730 52 466 398 38 686 506MQDSS-31-64 2 767 384 85 268 712 62 306 098

Round 1 2 806 750 169 298 364 123 239 874

Table: Round 1 performance in black, Round 2 performance in red.

I AVX2 implementation (only round 2)

keygen signing verificationMQDSS-31-48 1 074 644 3 816 106 2 551 270MQDSS-31-64 2 491 050 9 047 148 6 132 948

8 / 11

Page 21: MQDSS Round 2 Presentation - NIST · MQDSS-31-48(new) 1-2 31 48 184 46B 16B 28400B Round1 269 62B 32B 32882B MQDSS-31-64(new) 3-4 31 64 277 64B 24B 59928B Round1 403 88B 48B 67800B

Round 2 performance

I Reference implementation

keygen signing verificationMQDSS-31-48 1 192 984 26 630 590 19 840 136

Round 1 1 206 730 52 466 398 38 686 506MQDSS-31-64 2 767 384 85 268 712 62 306 098

Round 1 2 806 750 169 298 364 123 239 874

Table: Round 1 performance in black, Round 2 performance in red.

I AVX2 implementation (only round 2)

keygen signing verificationMQDSS-31-48 1 074 644 3 816 106 2 551 270MQDSS-31-64 2 491 050 9 047 148 6 132 948

8 / 11

Page 22: MQDSS Round 2 Presentation - NIST · MQDSS-31-48(new) 1-2 31 48 184 46B 16B 28400B Round1 269 62B 32B 32882B MQDSS-31-64(new) 3-4 31 64 277 64B 24B 59928B Round1 403 88B 48B 67800B

Round 2 update: More precise analysis of hardness of MQ

I Best strategy: Algebraic techniques with exhaustive searchI HybridF5 [BFS15], BooleanSolve [BFSS13], Crossbred [JV17]

I Analyze both classically and using GroverI Classical gates, quantum gates, circuit depth

I minor changes in Round 2 - more precise analysisI no influence to security of parameter sets

9 / 11

Page 23: MQDSS Round 2 Presentation - NIST · MQDSS-31-48(new) 1-2 31 48 184 46B 16B 28400B Round1 269 62B 32B 32882B MQDSS-31-64(new) 3-4 31 64 277 64B 24B 59928B Round1 403 88B 48B 67800B

Round 2 update: More precise analysis of hardness of MQ

I Best strategy: Algebraic techniques with exhaustive searchI HybridF5 [BFS15], BooleanSolve [BFSS13], Crossbred [JV17]

I Analyze both classically and using GroverI Classical gates, quantum gates, circuit depth

I minor changes in Round 2 - more precise analysisI no influence to security of parameter sets

9 / 11

Page 24: MQDSS Round 2 Presentation - NIST · MQDSS-31-48(new) 1-2 31 48 184 46B 16B 28400B Round1 269 62B 32B 32882B MQDSS-31-64(new) 3-4 31 64 277 64B 24B 59928B Round1 403 88B 48B 67800B

Round 2 update: More precise analysis of hardness of MQ

I Best strategy: Algebraic techniques with exhaustive searchI HybridF5 [BFS15], BooleanSolve [BFSS13], Crossbred [JV17]

I Analyze both classically and using GroverI Classical gates, quantum gates, circuit depth

I minor changes in Round 2 - more precise analysisI no influence to security of parameter sets

9 / 11

Page 25: MQDSS Round 2 Presentation - NIST · MQDSS-31-48(new) 1-2 31 48 184 46B 16B 28400B Round1 269 62B 32B 32882B MQDSS-31-64(new) 3-4 31 64 277 64B 24B 59928B Round1 403 88B 48B 67800B

Recent attackI August 2019, Daniel Kales and Greg Zaverucha - forgery in approx. 295 hash calls

for MQDSS-31-48

I Can be mitigated by ≈ 1.4×(number of rounds)I Proof still valid!

I Attack is result of not taking into account non-tightness of proof for choosingparameters

I New parameters after attack (estimate):

Sec. cat. q n r pk sk SignatureMQDSS-31-48 (new) 1-2 31 48 184 46B 16B 28400B

Round 1 269 62B 32B 32882BMQDSS-31-64 (new) 3-4 31 64 277 64B 24B 59928B

Round 1 403 88B 48B 67800B

Table: Round 1 parameters in black, New parameters (attack fixed) in red.

10 / 11

Page 26: MQDSS Round 2 Presentation - NIST · MQDSS-31-48(new) 1-2 31 48 184 46B 16B 28400B Round1 269 62B 32B 32882B MQDSS-31-64(new) 3-4 31 64 277 64B 24B 59928B Round1 403 88B 48B 67800B

Recent attackI August 2019, Daniel Kales and Greg Zaverucha - forgery in approx. 295 hash calls

for MQDSS-31-48I Can be mitigated by ≈ 1.4×(number of rounds)

I Proof still valid!I Attack is result of not taking into account non-tightness of proof for choosing

parameters

I New parameters after attack (estimate):

Sec. cat. q n r pk sk SignatureMQDSS-31-48 (new) 1-2 31 48 184 46B 16B 28400B

Round 1 269 62B 32B 32882BMQDSS-31-64 (new) 3-4 31 64 277 64B 24B 59928B

Round 1 403 88B 48B 67800B

Table: Round 1 parameters in black, New parameters (attack fixed) in red.

10 / 11

Page 27: MQDSS Round 2 Presentation - NIST · MQDSS-31-48(new) 1-2 31 48 184 46B 16B 28400B Round1 269 62B 32B 32882B MQDSS-31-64(new) 3-4 31 64 277 64B 24B 59928B Round1 403 88B 48B 67800B

Recent attackI August 2019, Daniel Kales and Greg Zaverucha - forgery in approx. 295 hash calls

for MQDSS-31-48I Can be mitigated by ≈ 1.4×(number of rounds)I Proof still valid!

I Attack is result of not taking into account non-tightness of proof for choosingparameters

I New parameters after attack (estimate):

Sec. cat. q n r pk sk SignatureMQDSS-31-48 (new) 1-2 31 48 184 46B 16B 28400B

Round 1 269 62B 32B 32882BMQDSS-31-64 (new) 3-4 31 64 277 64B 24B 59928B

Round 1 403 88B 48B 67800B

Table: Round 1 parameters in black, New parameters (attack fixed) in red.

10 / 11

Page 28: MQDSS Round 2 Presentation - NIST · MQDSS-31-48(new) 1-2 31 48 184 46B 16B 28400B Round1 269 62B 32B 32882B MQDSS-31-64(new) 3-4 31 64 277 64B 24B 59928B Round1 403 88B 48B 67800B

Recent attackI August 2019, Daniel Kales and Greg Zaverucha - forgery in approx. 295 hash calls

for MQDSS-31-48I Can be mitigated by ≈ 1.4×(number of rounds)I Proof still valid!

I Attack is result of not taking into account non-tightness of proof for choosingparameters

I New parameters after attack (estimate):

Sec. cat. q n r pk sk SignatureMQDSS-31-48 (new) 1-2 31 48 184 46B 16B 28400B

Round 1 269 62B 32B 32882BMQDSS-31-64 (new) 3-4 31 64 277 64B 24B 59928B

Round 1 403 88B 48B 67800B

Table: Round 1 parameters in black, New parameters (attack fixed) in red.

10 / 11

Page 29: MQDSS Round 2 Presentation - NIST · MQDSS-31-48(new) 1-2 31 48 184 46B 16B 28400B Round1 269 62B 32B 32882B MQDSS-31-64(new) 3-4 31 64 277 64B 24B 59928B Round1 403 88B 48B 67800B

Conclusion

I Fiat-Shamir transform fromMQ-based 5-pass identification schemeI Security proof in ROM, instead of typical ‘break and tweak’ inMQ cryptographyI Very small keys, big signatures

I Main improvement in Round 2: Smaller signaturesI Even after recent attack & added randomness in commitments

Sec. cat. q n r pk sk SignatureMQDSS-31-48 (new) 1-2 31 48 184 46B 16B 28400B

Round 1 269 62B 32B 32882BMQDSS-31-64 (new) 3-4 31 64 277 64B 24B 59928B

Round 1 403 88B 48B 67800B

Table: Round 1 parameters in black, New parameters (attack fixed) in red.

Thank you for your attention!

11 / 11

Page 30: MQDSS Round 2 Presentation - NIST · MQDSS-31-48(new) 1-2 31 48 184 46B 16B 28400B Round1 269 62B 32B 32882B MQDSS-31-64(new) 3-4 31 64 277 64B 24B 59928B Round1 403 88B 48B 67800B

Conclusion

I Fiat-Shamir transform fromMQ-based 5-pass identification schemeI Security proof in ROM, instead of typical ‘break and tweak’ inMQ cryptographyI Very small keys, big signaturesI Main improvement in Round 2: Smaller signatures

I Even after recent attack & added randomness in commitments

Sec. cat. q n r pk sk SignatureMQDSS-31-48 (new) 1-2 31 48 184 46B 16B 28400B

Round 1 269 62B 32B 32882BMQDSS-31-64 (new) 3-4 31 64 277 64B 24B 59928B

Round 1 403 88B 48B 67800B

Table: Round 1 parameters in black, New parameters (attack fixed) in red.

Thank you for your attention!

11 / 11

Page 31: MQDSS Round 2 Presentation - NIST · MQDSS-31-48(new) 1-2 31 48 184 46B 16B 28400B Round1 269 62B 32B 32882B MQDSS-31-64(new) 3-4 31 64 277 64B 24B 59928B Round1 403 88B 48B 67800B

Conclusion

I Fiat-Shamir transform fromMQ-based 5-pass identification schemeI Security proof in ROM, instead of typical ‘break and tweak’ inMQ cryptographyI Very small keys, big signaturesI Main improvement in Round 2: Smaller signatures

I Even after recent attack & added randomness in commitments

Sec. cat. q n r pk sk SignatureMQDSS-31-48 (new) 1-2 31 48 184 46B 16B 28400B

Round 1 269 62B 32B 32882BMQDSS-31-64 (new) 3-4 31 64 277 64B 24B 59928B

Round 1 403 88B 48B 67800B

Table: Round 1 parameters in black, New parameters (attack fixed) in red.

Thank you for your attention!11 / 11

Page 32: MQDSS Round 2 Presentation - NIST · MQDSS-31-48(new) 1-2 31 48 184 46B 16B 28400B Round1 269 62B 32B 32882B MQDSS-31-64(new) 3-4 31 64 277 64B 24B 59928B Round1 403 88B 48B 67800B

References I

Magali Bardet, Jean-Charles Faugère, and Bruno Salvy.On the complexity of the F5 Gröbner basis algorithm.Journal of Symbolic Computation, 70(Supplement C):49 – 70, 2015.

Magali Bardet, Jean-Charles Faugère, Bruno Salvy, and Pierre-Jean Spaenlehauer.On the complexity of solving quadratic boolean systems.Journal of Complexity, 29(1):53–75, 2013.www-polsys.lip6.fr/~jcf/Papers/BFSS12.pdf.

Ming-Shing Chen, Andreas Hülsing, Joost Rijneveld, Simona Samardjiska, and Peter Schwabe.From 5-pass MQ-based identification to MQ-based signatures.In Jung Hee Cheon and Tsuyoshi Takagi, editors, Advances in Cryptology – ASIACRYPT 2016,volume 10032 of LNCS, pages 135–165. Springer, 2016.http://eprint.iacr.org/2016/708.

12 / 11

Page 33: MQDSS Round 2 Presentation - NIST · MQDSS-31-48(new) 1-2 31 48 184 46B 16B 28400B Round1 269 62B 32B 32882B MQDSS-31-64(new) 3-4 31 64 277 64B 24B 59928B Round1 403 88B 48B 67800B

References II

Antoine Joux and Vanessa Vitse.A crossbred algorithm for solving boolean polynomial systems.Cryptology ePrint Archive, Report 2017/372, 2017.http://eprint.iacr.org/2017/372.

Dominik Leichtle.Post-quantum signatures from identification schemes.Master Thesis, Technicshe Universiteit Eindhoven, 2018.

Koichi Sakumoto, Taizo Shirai, and Harunaga Hiwatari.Public-key identification schemes based on multivariate quadratic polynomials.In Phillip Rogaway, editor, Advances in Cryptology – CRYPTO 2011, volume 6841 of LNCS,pages 706–723. Springer, 2011.https://www.iacr.org/archive/crypto2011/68410703/68410703.pdf.

13 / 11

Page 34: MQDSS Round 2 Presentation - NIST · MQDSS-31-48(new) 1-2 31 48 184 46B 16B 28400B Round1 269 62B 32B 32882B MQDSS-31-64(new) 3-4 31 64 277 64B 24B 59928B Round1 403 88B 48B 67800B

Implementation considerations

I Very natural internal parallelism

I Naively constant-timeI Mathematically straight-forward

I Multiplications and additions in F31

I Naively slowI But still constant-time when optimized

I Expanding F is memory-intensive (134KiB)I Problematic on small devices

14 / 11

Page 35: MQDSS Round 2 Presentation - NIST · MQDSS-31-48(new) 1-2 31 48 184 46B 16B 28400B Round1 269 62B 32B 32882B MQDSS-31-64(new) 3-4 31 64 277 64B 24B 59928B Round1 403 88B 48B 67800B

Implementation considerations

I Very natural internal parallelismI Naively constant-time

I Mathematically straight-forwardI Multiplications and additions in F31

I Naively slowI But still constant-time when optimized

I Expanding F is memory-intensive (134KiB)I Problematic on small devices

14 / 11

Page 36: MQDSS Round 2 Presentation - NIST · MQDSS-31-48(new) 1-2 31 48 184 46B 16B 28400B Round1 269 62B 32B 32882B MQDSS-31-64(new) 3-4 31 64 277 64B 24B 59928B Round1 403 88B 48B 67800B

Implementation considerations

I Very natural internal parallelismI Naively constant-timeI Mathematically straight-forward

I Multiplications and additions in F31

I Naively slowI But still constant-time when optimized

I Expanding F is memory-intensive (134KiB)I Problematic on small devices

14 / 11

Page 37: MQDSS Round 2 Presentation - NIST · MQDSS-31-48(new) 1-2 31 48 184 46B 16B 28400B Round1 269 62B 32B 32882B MQDSS-31-64(new) 3-4 31 64 277 64B 24B 59928B Round1 403 88B 48B 67800B

Implementation considerations

I Very natural internal parallelismI Naively constant-timeI Mathematically straight-forward

I Multiplications and additions in F31

I Naively slowI But still constant-time when optimized

I Expanding F is memory-intensive (134KiB)I Problematic on small devices

14 / 11

Page 38: MQDSS Round 2 Presentation - NIST · MQDSS-31-48(new) 1-2 31 48 184 46B 16B 28400B Round1 269 62B 32B 32882B MQDSS-31-64(new) 3-4 31 64 277 64B 24B 59928B Round1 403 88B 48B 67800B

Implementation considerations

I Very natural internal parallelismI Naively constant-timeI Mathematically straight-forward

I Multiplications and additions in F31

I Naively slowI But still constant-time when optimized

I Expanding F is memory-intensive (134KiB)I Problematic on small devices

14 / 11

Page 39: MQDSS Round 2 Presentation - NIST · MQDSS-31-48(new) 1-2 31 48 184 46B 16B 28400B Round1 269 62B 32B 32882B MQDSS-31-64(new) 3-4 31 64 277 64B 24B 59928B Round1 403 88B 48B 67800B

Implementation considerations

I Very natural internal parallelismI Naively constant-timeI Mathematically straight-forward

I Multiplications and additions in F31

I Naively slowI But still constant-time when optimized

I Expanding F is memory-intensive (134KiB)I Problematic on small devices

14 / 11