MQ Signatures for PKI June 2017 Alan Szepieniec , Ward Beullens, - - PowerPoint PPT Presentation

mq signatures for pki
SMART_READER_LITE
LIVE PREVIEW

MQ Signatures for PKI June 2017 Alan Szepieniec , Ward Beullens, - - PowerPoint PPT Presentation

MQ Signatures for PKI June 2017 Alan Szepieniec , Ward Beullens, Bart Preneel 1/17 New Hope Key Exchange Post-Quantum KX based on RLWE USENIX 2016 2/17 New Hope Key Exchange Post-Quantum KX based on RLWE USENIX 2016


slide-1
SLIDE 1

1/17

MQ Signatures for PKI

June 2017 Alan Szepieniec, Ward Beullens, Bart Preneel

slide-2
SLIDE 2

2/17

New Hope Key Exchange

  • Post-Quantum KX based on RLWE
  • USENIX 2016
slide-3
SLIDE 3

2/17

New Hope Key Exchange

  • Post-Quantum KX based on RLWE
  • USENIX 2016
  • Facebook Internet Defense Prize
slide-4
SLIDE 4

2/17

New Hope Key Exchange

  • Post-Quantum KX based on RLWE
  • USENIX 2016
  • Facebook Internet Defense Prize
  • Google Experiment
  • fraction of Chrome browsers use ECDH+NH
slide-5
SLIDE 5

2/17

New Hope Key Exchange

  • Post-Quantum KX based on RLWE
  • USENIX 2016
  • Facebook Internet Defense Prize
  • Google Experiment
  • fraction of Chrome browsers use ECDH+NH

\o/

slide-6
SLIDE 6

3/17

Post-Quantum Key Exchange

Alice Bob sa a sb b k k

slide-7
SLIDE 7

3/17

Post-Quantum Key Exchange

Alice Bob sa a sb b k k Passive Adversary a, b → k

slide-8
SLIDE 8

4/17

Post-Quantum Key Exchange

Alice Bob sa sb Active Adversary

slide-9
SLIDE 9

4/17

Post-Quantum Key Exchange

Alice Bob sa sb Active Adversary a a′ b b′ ka ka kb kb

slide-10
SLIDE 10

4/17

Post-Quantum Key Exchange

Alice Bob sa sb Active Adversary a a′ b b′ ka ka kb kb How to kill MitM?

slide-11
SLIDE 11

4/17

Post-Quantum Key Exchange

Alice Bob sa sb Active Adversary a a′ b b′ ka ka kb kb How to kill MitM? Signatures, of course! , skb , pkb pkb , signskb(b) , ??? vfy(·, ·, ·)

slide-12
SLIDE 12

4/17

Post-Quantum Key Exchange

Alice Bob sa sb Active Adversary a a′ b b′ ka ka kb kb How to kill MitM? Signatures, of course! , skb , pkb pkb , signskb(b) , ??? vfy(·, ·, ·) Post-Quantum

slide-13
SLIDE 13

5/17

Public Key Infrastructure (PKI)

Alice b, signskb(b)

slide-14
SLIDE 14

5/17

Public Key Infrastructure (PKI)

Alice b, signskb(b), pkb

slide-15
SLIDE 15

5/17

Public Key Infrastructure (PKI)

Alice b, signskb(b), pkb, signskc(pkb)

slide-16
SLIDE 16

5/17

Public Key Infrastructure (PKI)

Alice b, signskb(b), pkb, signskc(pkb), pkc

slide-17
SLIDE 17

5/17

Public Key Infrastructure (PKI)

Alice b, signskb(b), pkb, signskc(pkb), pkc, . . . , signskr(pkq) pkr vfy(·, ·, ·) certificate

slide-18
SLIDE 18

5/17

Public Key Infrastructure (PKI)

Alice b, signskb(b), pkb, signskc(pkb), pkc, . . . , signskr(pkq) pkr vfy(·, ·, ·) certificate desirable properties acceptable drawbacks

slide-19
SLIDE 19

5/17

Public Key Infrastructure (PKI)

Alice b, signskb(b), pkb, signskc(pkb), pkc, . . . , signskr(pkq) pkr vfy(·, ·, ·) certificate desirable properties acceptable drawbacks big

slide-20
SLIDE 20

5/17

Public Key Infrastructure (PKI)

Alice b, signskb(b), pkb, signskc(pkb), pkc, . . . , signskr(pkq) pkr vfy(·, ·, ·) certificate desirable properties acceptable drawbacks big fast

slide-21
SLIDE 21

5/17

Public Key Infrastructure (PKI)

Alice b, signskb(b), pkb, signskc(pkb), pkc, . . . , signskr(pkq) pkr vfy(·, ·, ·) certificate desirable properties acceptable drawbacks big fast fast

slide-22
SLIDE 22

5/17

Public Key Infrastructure (PKI)

Alice b, signskb(b), pkb, signskc(pkb), pkc, . . . , signskr(pkq) pkr vfy(·, ·, ·) certificate desirable properties acceptable drawbacks big fast fast slow

slide-23
SLIDE 23

5/17

Public Key Infrastructure (PKI)

Alice b, signskb(b), pkb, signskc(pkb), pkc, . . . , signskr(pkq) pkr vfy(·, ·, ·) certificate desirable properties acceptable drawbacks big fast fast slow small

slide-24
SLIDE 24

5/17

Public Key Infrastructure (PKI)

Alice b, signskb(b), pkb, signskc(pkb), pkc, . . . , signskr(pkq) pkr vfy(·, ·, ·) certificate desirable properties acceptable drawbacks big fast fast slow small

prime directive: minimize |pk| + |sig|

slide-25
SLIDE 25

6/17

Post-Quantum Signature Schemes

b y t e s k i l

  • b

y t e s m e g a b y t e s b y t e s k i l

  • b

y t e s m e g a b y t e s

p u b l i c k e y s i z e s i g n a t u r e s i z e

ECDSA BLISS SPHINCS MQDSS UOV HFEv− CFS strategy: transform MQ-signature schemes to shrink |pk| + |s|

slide-26
SLIDE 26

6/17

Post-Quantum Signature Schemes

b y t e s k i l

  • b

y t e s m e g a b y t e s b y t e s k i l

  • b

y t e s m e g a b y t e s

p u b l i c k e y s i z e s i g n a t u r e s i z e

ECDSA BLISS SPHINCS MQDSS UOV HFEv− CFS

1 2

strategy: transform MQ-signature schemes to shrink |pk| + |s|

slide-27
SLIDE 27

6/17

Post-Quantum Signature Schemes

b y t e s k i l

  • b

y t e s m e g a b y t e s b y t e s k i l

  • b

y t e s m e g a b y t e s

p u b l i c k e y s i z e s i g n a t u r e s i z e

ECDSA BLISS SPHINCS MQDSS UOV HFEv− CFS

1 2

this paper strategy: transform MQ-signature schemes to shrink |pk| + |s|

slide-28
SLIDE 28

7/17

MQ Signature Schemes

S F T P public knowledge private knowledge signature verification signature generation P, F : Fn

q → Fm q

T, S ∈ GL(Fq) s ∈ Fn

q

vfy : P(s) ? = H(d)

slide-29
SLIDE 29

8/17

Transformation

Step 1: replace P(s) ? = H(d) with tP(s) ? = tH(d) for t

$

← − Fα×m

q

determine t = H(s) transmit R(x) = tP(x) with s as part of signature

slide-30
SLIDE 30

8/17

Transformation

Step 1: replace P(s) ? = H(d) with tP(s) ? = tH(d) for t

$

← − Fα×m

q

determine t = H(s) transmit R(x) = tP(x) with s as part of signature Step 2: authenticate R(x) using linearly homomorphic MACs

slide-31
SLIDE 31

8/17

Transformation

Step 1: replace P(s) ? = H(d) with tP(s) ? = tH(d) for t

$

← − Fα×m

q

determine t = H(s) transmit R(x) = tP(x) with s as part of signature Step 2: authenticate R(x) using linearly homomorphic MACs

  • 2a. define ˆ

R(z), ˆ P(z) with same coefficients as R(x), P(x)

slide-32
SLIDE 32

8/17

Transformation

Step 1: replace P(s) ? = H(d) with tP(s) ? = tH(d) for t

$

← − Fα×m

q

determine t = H(s) transmit R(x) = tP(x) with s as part of signature Step 2: authenticate R(x) using linearly homomorphic MACs

  • 2a. define ˆ

R(z), ˆ P(z) with same coefficients as R(x), P(x)

  • 2b. verify that t ˆ

P(z) = ˆ R(z) instead of tP(x) = R(x) P(x) ˆ P(z) tP(x) t ˆ P(z)

MAC MAC t t

slide-33
SLIDE 33

8/17

Transformation

Step 1: replace P(s) ? = H(d) with tP(s) ? = tH(d) for t

$

← − Fα×m

q

determine t = H(s) transmit R(x) = tP(x) with s as part of signature Step 2: authenticate R(x) using linearly homomorphic MACs

  • 2a. define ˆ

R(z), ˆ P(z) with same coefficients as R(x), P(x)

  • 2b. verify that t ˆ

P(z) = ˆ R(z) instead of tP(x) = R(x) P(x) ˆ P(z) tP(x) t ˆ P(z)

MAC MAC t t

  • 2c. verify t ˆ

P(zi) = ˆ R(zi) in only ϑ randomly chosen points determine {z1, . . . , zϑ} = H(R(x))

slide-34
SLIDE 34

8/17

Transformation

Step 1: replace P(s) ? = H(d) with tP(s) ? = tH(d) for t

$

← − Fα×m

q

determine t = H(s) transmit R(x) = tP(x) with s as part of signature Step 2: authenticate R(x) using linearly homomorphic MACs

  • 2a. define ˆ

R(z), ˆ P(z) with same coefficients as R(x), P(x)

  • 2b. verify that t ˆ

P(z) = ˆ R(z) instead of tP(x) = R(x) P(x) ˆ P(z) tP(x) t ˆ P(z)

MAC MAC t t

  • 2c. verify t ˆ

P(zi) = ˆ R(zi) in only ϑ randomly chosen points determine {z1, . . . , zϑ} = H(R(x))

  • 2d. Merkleize all τ evaluations ˆ

P(zi)

slide-35
SLIDE 35

8/17

Transformation

Step 1: replace P(s) ? = H(d) with tP(s) ? = tH(d) for t

$

← − Fα×m

q

determine t = H(s) transmit R(x) = tP(x) with s as part of signature Step 2: authenticate R(x) using linearly homomorphic MACs

  • 2a. define ˆ

R(z), ˆ P(z) with same coefficients as R(x), P(x)

  • 2b. verify that t ˆ

P(z) = ˆ R(z) instead of tP(x) = R(x) P(x) ˆ P(z) tP(x) t ˆ P(z)

MAC MAC t t

  • 2c. verify t ˆ

P(zi) = ˆ R(zi) in only ϑ randomly chosen points determine {z1, . . . , zϑ} = H(R(x))

  • 2d. Merkleize all τ evaluations ˆ

P(zi) new signature: (s, R(x), Merkle paths) new public key: Merkle root

slide-36
SLIDE 36

9/17

Merkle Tree

ˆ P(z1) ˆ P(z2) · · · · · · ˆ P(zτ)

slide-37
SLIDE 37

10/17

Provable Security

InSecEUF−CMA

NEW

(t, Q) ≤ InSecEUF−CMA

ORIGINAL (t + O(Q), Q)

+ (2τ − 1)

Q+1 2κ

+

  • n(n+1)

ϑ (Q + 1) + q−α(Q + 1)

slide-38
SLIDE 38

10/17

Provable Security

InSecEUF−CMA

NEW

(t, Q) ≤ InSecEUF−CMA

ORIGINAL (t + O(Q), Q)

+ (2τ − 1)

Q+1 2κ

+

  • n(n+1)

ϑ (Q + 1) + q−α(Q + 1)

  • riginal scheme

Merkle tree MAC polynomials lucky s

slide-39
SLIDE 39

10/17

Provable Security

InSecEUF−CMA

NEW

(t, Q) ≤ InSecEUF−CMA

ORIGINAL (t + O(Q), Q)

+ (2τ − 1)

Q+1 2κ

+

  • n(n+1)

ϑ (Q + 1) + q−α(Q + 1)

  • riginal scheme

Merkle tree MAC polynomials lucky s ... in the QROM Θ

  • (

)2

Θ

  • 2

Θ

  • 2

ˆ ˆ ˆ ˆ ˆ ˆ

slide-40
SLIDE 40

11/17

Example Parameters

scheme parameters

  • sec. lvl.

|pk| |s| UOVrand q = 256, n = 135, m = 45 128 45.5 kB 1080 transformed α = 16, ϑ = 12, τ = 220 128 256 bits 21.3 kB UOVrand q = 256, n = 210, m = 70 192 169.9 kB 1 680 bits transformed α = 24, ϑ = 19, τ = 220 192 384 bits 70.4 kB UOVrand q = 256, n = 285, m = 95 256 423.0 kB 2 280 bits transformed α = 32, ϑ = 28, τ = 220 256 512 bits 166.3 kB

slide-41
SLIDE 41

12/17

Improvement

  • idea: use multiple signatures
  • s1, . . . , sσ such that P(si) = H(di)
slide-42
SLIDE 42

12/17

Improvement

  • idea: use multiple signatures
  • s1, . . . , sσ such that P(si) = H(di)
  • ... reduce α

− → fewer polynomials in R

slide-43
SLIDE 43

12/17

Improvement

  • idea: use multiple signatures
  • s1, . . . , sσ such that P(si) = H(di)
  • ... reduce α

− → fewer polynomials in R

  • |si| = n log2 q whereas |Ri(x)| = n(n+1)

2

log2 q

  • qα > 2κ becomes qασ > 2κ
slide-44
SLIDE 44

13/17

Security Proof Fails

InSecEUF−CMA

NEW

(t, Q) ≤ InSecEUF−CMA

ORIGINAL (t + O(Q), Q)

+ (2τ − 1)

Q+1 2κ

+

  • n(n+1)

ϑ (Q + 1) + q−σα(Q + 1)

  • riginal scheme

Merkle tree MAC polynomials lucky s Θ

  • (

)2

Θ

  • 2

Θ

  • 2

ˆ ˆ ˆ ˆ ˆ ˆ

slide-45
SLIDE 45

13/17

Security Proof Fails

InSecEUF−CMA

NEW

(t, Q) ≤ InSecEUF−CMA

ORIGINAL (t + O(Q), Q)

+ (2τ − 1)

Q+1 2κ

+

  • n(n+1)

ϑ (Q + 1) + q−σα(Q + 1)

  • riginal scheme

Merkle tree MAC polynomials lucky s Θ

  • (

)2

Θ

  • 2

Θ

  • 2

ˆ ˆ ˆ ˆ ˆ ˆ

slide-46
SLIDE 46

13/17

Security Proof Fails

InSecEUF−CMA

NEW

(t, Q) ≤ InSecEUF−CMA

ORIGINAL (t + O(Q), Q)

+ (2τ − 1)

Q+1 2κ

+

  • n(n+1)

ϑ (Q + 1) + q−σα(Q + 1)

  • riginal scheme

Merkle tree MAC polynomials lucky s Θ

  • (

)2

Θ

  • 2

Θ

  • 2

ˆ ˆ ˆ ˆ ˆ ˆ rows of t are independent events ...

slide-47
SLIDE 47

13/17

Security Proof Fails

InSecEUF−CMA

NEW

(t, Q) ≤ InSecEUF−CMA

ORIGINAL (t + O(Q), Q)

+ (2τ − 1)

Q+1 2κ

+

  • n(n+1)

ϑ (Q + 1) + q−σα(Q + 1)

  • riginal scheme

Merkle tree MAC polynomials lucky s Θ

  • (

)2

Θ

  • 2

Θ

  • 2

ˆ ˆ ˆ ˆ ˆ ˆ rows of t are independent events ... ... but si are not!

slide-48
SLIDE 48

13/17

Security Proof Fails

InSecEUF−CMA

NEW

(t, Q) ≤ InSecEUF−CMA

ORIGINAL (t + O(Q), Q)

+ (2τ − 1)

Q+1 2κ

+

  • n(n+1)

ϑ (Q + 1) + q−σα(Q + 1)

  • riginal scheme

Merkle tree MAC polynomials lucky s Θ

  • (

)2

Θ

  • 2

Θ

  • 2

ˆ ˆ ˆ ˆ ˆ ˆ rows of t are independent events ... ... but si are not!

slide-49
SLIDE 49

14/17

Low-Dim Errors

  • find s1, . . . , sσ such that ∀i . tP(si) = tH(di)
  • model t ← H(ds1 · · · sσ) as t

$

← − Fα×m

q

slide-50
SLIDE 50

14/17

Low-Dim Errors

  • find s1, . . . , sσ such that ∀i . tP(si) = tH(di)
  • model t ← H(ds1 · · · sσ) as t

$

← − Fα×m

q

  • works if 0 = P(si) − H(di) ∈ ker t
slide-51
SLIDE 51

14/17

Low-Dim Errors

  • find s1, . . . , sσ such that ∀i . tP(si) = tH(di)
  • model t ← H(ds1 · · · sσ) as t

$

← − Fα×m

q

  • works if 0 = P(si) − H(di) ∈ ker t
  • error space is low-dim =

⇒ high success probability

slide-52
SLIDE 52

15/17

AMQ Problem Definition

AMQ Problem. (Approximate Multivariate Quadratic) Given: P : Fn

q → Fm q ; y1, . . . , yσ ∈ Fm q

Find: x1, . . . , xσ ∈ Fn

q

Such that: dim {P(xi) − yi}i ≤ r

slide-53
SLIDE 53

15/17

AMQ Problem Definition

AMQ Problem. (Approximate Multivariate Quadratic) Given: P : Fn

q → Fm q ; y1, . . . , yσ ∈ Fm q

Find: x1, . . . , xσ ∈ Fn

q

Such that: dim {P(xi) − yi}i ≤ r

  • exhaustive search: O(qm−r); Grover: O(q(m−r)/2)
  • AMQ[m, n, σ, r] ≤ σ · MQ[m − r, n]
  • AMQ[m, n, σ, r] ≤ AMQ[m, n, σ + 1, r] (gets harder with σ)
  • AMQ[m, n, σ, r + 1] ≤ AMQ[m, n, σ, r] (gets easier with r)
  • AMQ[m, n, σ = 1, r = 0] = MQ[m, n]
slide-54
SLIDE 54

16/17

Example Parameters

scheme parameters

  • sec. lvl.

|pk| |s|

  • riginal HFEv−

q = 2, n = 98, m = 90 80 56.8 kB 98 bits transformed α = 1, σ = 80, ϑ = 7, τ = 220 80 ? 80 bits 4.4 kB

  • riginal HFEv−

q = 2, n = 133, m = 123 120 139.2 kB 123 bits transformed α = 1, σ = 120, ϑ = 11, τ = 220 120 ? 120 bits 9.4 kB

  • riginal HFEv−

q = 4, n = 141, m = 129 128 (PQ) 288.4 kB 258 bits transformed α = 1, σ = 64, ϑ = 13, τ = 220 128 ? (PQ) 256 bits 16.5 kB