Lattice-based cryptography II Constructions and implementation - - PowerPoint PPT Presentation

lattice based cryptography ii constructions and
SMART_READER_LITE
LIVE PREVIEW

Lattice-based cryptography II Constructions and implementation - - PowerPoint PPT Presentation

Lattice-based cryptography II Constructions and implementation issues Leon Groot Bruinderink July 1st, 2019 July 1st, 2019 1 / 27 Lattice-based cryptography II In this talk: Introduction to (ring-)LWE Lattice-based key-exchange and


slide-1
SLIDE 1

Lattice-based cryptography II Constructions and implementation issues

Leon Groot Bruinderink July 1st, 2019

July 1st, 2019 1 / 27

slide-2
SLIDE 2

Lattice-based cryptography II

In this talk: Introduction to (ring-)LWE Lattice-based key-exchange and encryption schemes Reaction attacks and countermeasures Lattice-based signature schemes Side-channel attacks and countermeasures

July 1st, 2019 2 / 27

slide-3
SLIDE 3

Lattice-based cryptography

Some features of lattice-based cryptography: Key-exchange, encryption, digital signatures But also more exotic stuff, e.g. homomorphic encryption

July 1st, 2019 3 / 27

slide-4
SLIDE 4

Lattice-based cryptography

Some features of lattice-based cryptography: Key-exchange, encryption, digital signatures But also more exotic stuff, e.g. homomorphic encryption Pro’s:

The algorithms are quite fast The keys, cipher-texts, signatures are *quite small*

July 1st, 2019 3 / 27

slide-5
SLIDE 5

Lattice-based cryptography

Some features of lattice-based cryptography: Key-exchange, encryption, digital signatures But also more exotic stuff, e.g. homomorphic encryption Pro’s:

The algorithms are quite fast The keys, cipher-texts, signatures are *quite small*

Con’s:

Many design parameters to choose (and attacks to avoid) Asymptotic hardness results vs concrete security/cryptanalysis

July 1st, 2019 3 / 27

slide-6
SLIDE 6

Lattice-based cryptography

Some features of lattice-based cryptography: Key-exchange, encryption, digital signatures But also more exotic stuff, e.g. homomorphic encryption Pro’s:

The algorithms are quite fast The keys, cipher-texts, signatures are *quite small*

Con’s:

Many design parameters to choose (and attacks to avoid) Asymptotic hardness results vs concrete security/cryptanalysis

Largest category of NIST post-quantum submissions Some real-life experiments (e.g. Google)

July 1st, 2019 3 / 27

slide-7
SLIDE 7

Learning With Errors

July 1st, 2019 4 / 27

slide-8
SLIDE 8

Learning with Errors (LWE) - Noisy inner product

Let q be a prime, n > 0 (usually a power of 2), χ some narrow error distribution in Zq, x, y = n

i=1 xiyi mod q usual inner-product

Let s ← χn be a secret Given pairs of (a, b = a, s + e) with

a ∈ Zn

q sampled uniform at random

e sampled from χ

(plain-) LWE: find s

July 1st, 2019 5 / 27

slide-9
SLIDE 9

Learning with Errors (LWE) - Noisy inner product

Let q be a prime, n > 0 (usually a power of 2), χ some narrow error distribution in Zq, x, y = n

i=1 xiyi mod q usual inner-product

Let s ← χn be a secret Given pairs of (a, b = a, s + e) with

a ∈ Zn

q sampled uniform at random

e sampled from χ

(plain-) LWE: find s

a0 a1 a2 an−1

+ = A s e b

“Random” “Small”

n samples

July 1st, 2019 5 / 27

slide-10
SLIDE 10

Learning with Errors (LWE) - Noisy inner product

Let q be a prime, n > 0 (usually a power of 2), χ some narrow error distribution in Zq, x, y = n

i=1 xiyi mod q usual inner-product

Let s ← χn be a secret Given pairs of (a, b = a, s + e) with

a ∈ Zn

q sampled uniform at random

e sampled from χ

(plain-) LWE: find s Common choice for χ: the discrete Gaussian distribution Dσ Regev showed that a hard lattice problem can be reduced to LWE

  • 40
  • 20
20 40 x 0.01 0.02 0.03 0.04 Dσ (x) : σ = 10 : σ = 20 : σ = 30

July 1st, 2019 5 / 27

slide-11
SLIDE 11

Learning with Errors (LWE) - Noisy inner product

Let q be a prime, n > 0 (usually a power of 2), χ some narrow error distribution in Zq, x, y = n

i=1 xiyi mod q usual inner-product

Let s ← χn be a secret Given pairs of (a, b = a, s + e) with

a ∈ Zn

q sampled uniform at random

e sampled from χ

(plain-) LWE: find s Common choice for χ: the discrete Gaussian distribution Dσ Regev showed that a hard lattice problem can be reduced to LWE First proposals for cryptosystems were quite big...

July 1st, 2019 5 / 27

slide-12
SLIDE 12

Ring-LWE: noisy polynomials

Let q be a prime, n > 0 (usually a power of 2), Now define R = Zq[x]/(xn ± 1). Can add/subtract and multiply f = f0 + f1x + ... + fn−1xn−1 ∈ R fi ∈ [0, q) f + g ∈ R fg ∈ R

July 1st, 2019 6 / 27

slide-13
SLIDE 13

Ring-LWE: noisy polynomials

Let q be a prime, n > 0 (usually a power of 2), Now define R = Zq[x]/(xn ± 1). Can add/subtract and multiply χ some narrow error distribution in R Let s ← χ be a secret Given pairs of (a, b = as + e) with

a ∈ R sampled uniform at random e sampled from χ

ring-LWE: find s

July 1st, 2019 6 / 27

slide-14
SLIDE 14

Ring-LWE: noisy polynomials

Let q be a prime, n > 0 (usually a power of 2), Now define R = Zq[x]/(xn ± 1). Can add/subtract and multiply χ some narrow error distribution in R Let s ← χ be a secret Given pairs of (a, b = as + e) with

a ∈ R sampled uniform at random e sampled from χ

ring-LWE: find s

a ax ax2 axn−1

+ = A s e b

“Random” “Small”

1 sample

July 1st, 2019 6 / 27

slide-15
SLIDE 15

Ring-LWE: noisy polynomials

Let q be a prime, n > 0 (usually a power of 2), Now define R = Zq[x]/(xn ± 1). Can add/subtract and multiply χ some narrow error distribution in R Let s ← χ be a secret Given pairs of (a, b = as + e) with

a ∈ R sampled uniform at random e sampled from χ

ring-LWE: find s Common choice for χ: the discrete Gaussian distribution Dn

σ

Related to problems in ideal (or “cyclic”) lattices

  • 40
  • 20
20 40 x 0.01 0.02 0.03 0.04 Dσ (x) : σ = 10 : σ = 20 : σ = 30

July 1st, 2019 6 / 27

slide-16
SLIDE 16

Ring-LWE: noisy polynomials

Let q be a prime, n > 0 (usually a power of 2), Now define R = Zq[x]/(xn ± 1). Can add/subtract and multiply χ some narrow error distribution in R Let s ← χ be a secret Given pairs of (a, b = as + e) with

a ∈ R sampled uniform at random e sampled from χ

ring-LWE: find s Common choice for χ: the discrete Gaussian distribution Dn

σ

Related to problems in ideal (or “cyclic”) lattices Many design choices (e.g. NTRU: q = 2ℓ; n prime; χ sparse)

July 1st, 2019 6 / 27

slide-17
SLIDE 17

Lattice-based Key-Exchange

July 1st, 2019 7 / 27

slide-18
SLIDE 18

Mimic Diffie-Hellman key-exchange

Recall Diffie-Hellman key-exchange

Alice Bob Public: G = g, |G| = n a ←$ [1, n) b ←$ [1, n) pubA = ga pubB = gb

pubA pubB

KA = (pubB)a = gab KB = (pubA)b = gab

July 1st, 2019 8 / 27

slide-19
SLIDE 19

Mimic Diffie-Hellman key-exchange

Recall Diffie-Hellman key-exchange

Alice Bob Public: G = g, |G| = n a ←$ [1, n) b ←$ [1, n) pubA = ga pubB = gb

pubA pubB

KA = (pubB)a = gab KB = (pubA)b = gab

Both parties end up with shared key K = gab

July 1st, 2019 8 / 27

slide-20
SLIDE 20

LWE key-exchange: noisy Diffie-Hellman

ring-LWE key-exchange

Alice Bob Public: g ∈ R, distribution χ = Dn

σ

a, e ←$ χ b, e′ ←$ χ pubA = ga + e pubB = gb + e′

pubA pubB SA = (pubB)a = gab + e′a

SB = (pubA)b = gab + eb

July 1st, 2019 9 / 27

slide-21
SLIDE 21

LWE key-exchange: noisy Diffie-Hellman

ring-LWE key-exchange

Alice Bob Public: g ∈ R, distribution χ = Dn

σ

a, e ←$ χ b, e′ ←$ χ pubA = ga + e pubB = gb + e′

pubA pubB SA = (pubB)a = gab + e′a

SB = (pubA)b = gab + eb

a, b, e, e′ ← Dn

σ, so small!

Keys are approximately equal: gab + e′a ≈ gab + eb

July 1st, 2019 9 / 27

slide-22
SLIDE 22

LWE key-exchange: noisy Diffie-Hellman

ring-LWE key-exchange

Alice Bob Public: g ∈ R, distribution χ = Dn

σ

a, e ←$ χ b, e′ ←$ χ pubA = ga + e pubB = gb + e′

pubA pubB SA = (pubB)a = gab + e′a

SB = (pubA)b = gab + eb

a, b, e, e′ ← Dn

σ, so small!

Keys are approximately equal: gab + e′a ≈ gab + eb Need a way to get shared secret bits

July 1st, 2019 9 / 27

slide-23
SLIDE 23

LWE key-exchange: mapping coefficients

How to map coefficients to bits Alice and Bob obtained close vectors SA, SB ∈ Zn

q

July 1st, 2019 10 / 27

slide-24
SLIDE 24

LWE key-exchange: mapping coefficients

How to map coefficients to bits Alice and Bob obtained close vectors SA, SB ∈ Zn

q

0 ≡ q q/4 q/2 3q/4

1

“the edge”

July 1st, 2019 10 / 27

slide-25
SLIDE 25

LWE key-exchange: mapping coefficients

How to map coefficients to bits Alice and Bob obtained close vectors SA, SB ∈ Zn

q

0 ≡ q q/4 q/2 3q/4

1

“the edge” Alice : 0 Bob : 0

July 1st, 2019 10 / 27

slide-26
SLIDE 26

LWE key-exchange: mapping coefficients

How to map coefficients to bits Alice and Bob obtained close vectors SA, SB ∈ Zn

q

0 ≡ q q/4 q/2 3q/4

1

“the edge” Alice : 1 Bob : 1

July 1st, 2019 10 / 27

slide-27
SLIDE 27

LWE key-exchange: mapping coefficients

How to map coefficients to bits Alice and Bob obtained close vectors SA, SB ∈ Zn

q

0 ≡ q q/4 q/2 3q/4

1

“the edge” Alice : 0 Bob : 1

July 1st, 2019 10 / 27

slide-28
SLIDE 28

LWE key-exchange: mapping coefficients

How to map coefficients to bits Alice and Bob obtained close vectors SA, SB ∈ Zn

q

0 ≡ q q/4 q/2 3q/4

1

“the edge”

Error!

Alice : 0 Bob : 1

July 1st, 2019 10 / 27

slide-29
SLIDE 29

LWE key-exchange: reconciliation

Mapping coefficients by fixed map induces many errors Better idea: use two mappings and let Bob decide on which map Choose map where SB is far from edge

0 ≡ q q/4 q/2 3q/4

1

Map 0 Map 1 0 ≡ q q/4 q/2 3q/4

1

July 1st, 2019 11 / 27

slide-30
SLIDE 30

LWE key-exchange: putting it together

LWE key-exchange with reconciliation

Alice Bob Public: g ∈ R, distribution χ = Dn

σ

a, e ←$ χ pubA = ga + e

pubA

b, e′ ←$ χ pubB = gb + e′ u = reconc(pubAb) K = map(pubBa, u) K = map(pubAb, u)

(pubB, u)

Can show that probability of errors is small for q, n, σ well-chosen

July 1st, 2019 12 / 27

slide-31
SLIDE 31

LWE key-exchange: putting it together

LWE key-exchange with reconciliation

Alice Bob Public: ring R, distribution χ = Dn

σ

g ←$ R

a, e ←$ χ pubA = ga + e

(g, pubA)

b, e′ ←$ χ pubB = gb + e′ u = reconc(pubAb) K = map(pubBa, u) K = map(pubAb, u)

(pubB, u)

Can show that probability of errors is small for q, n, σ well-chosen Several tweaks; e.g. let Alice choose g (New-Hope)

July 1st, 2019 12 / 27

slide-32
SLIDE 32

What about LWE encryption?

Can do LWE encryption by masking the message into LWE sample:

Alice Bob Public: g ∈ R, distribution χ = Dn

σ

a, e ←$ χ pubA = ga + e

pubA

m ∈ {0, 1}n b, e′, e′′ ← χ pubB = gb + e′ v = pubAb + e′′ c = v + encode(m)

(pubB, c)

c − pubBa ≈ encode(m)

July 1st, 2019 13 / 27

slide-33
SLIDE 33

What about LWE encryption?

Can do LWE encryption by masking the message into LWE sample:

Alice Bob Public: g ∈ R, distribution χ = Dn

σ

a, e ←$ χ pubA = ga + e

pubA

m ∈ {0, 1}n b, e′, e′′ ← χ pubB = gb + e′ v = pubAb + e′′ c = v + encode(m)

(pubB, c)

c − pubBa ≈ encode(m)

c − pubBa = encode(m) + e′′ + eb + e′a

July 1st, 2019 13 / 27

slide-34
SLIDE 34

What about LWE encryption?

Can do LWE encryption by masking the message into LWE sample:

Alice Bob Public: g ∈ R, distribution χ = Dn

σ

a, e ←$ χ pubA = ga + e

pubA

m ∈ {0, 1}n b, e′, e′′ ← χ pubB = gb + e′ v = pubAb + e′′ c = v + encode(m)

(pubB, c)

c − pubBa ≈ encode(m)

c − pubBa = encode(m) + e′′ + eb + e′a encode(m) = (q/2)m Recover m by some mapping operation (reconciliation)

July 1st, 2019 13 / 27

slide-35
SLIDE 35

LWE key-exchange: reaction attacks!

Can we now replace (EC)DH with LWE?

July 1st, 2019 14 / 27

slide-36
SLIDE 36

LWE key-exchange: reaction attacks!

Can we now replace (EC)DH with LWE? NO! Watch out for reaction attacks!

July 1st, 2019 14 / 27

slide-37
SLIDE 37

LWE key-exchange: reaction attacks!

Can we now replace (EC)DH with LWE? NO! Watch out for reaction attacks! or “Evil Bob”

July 1st, 2019 14 / 27

slide-38
SLIDE 38

LWE key-exchange: reaction attacks!

Can we now replace (EC)DH with LWE? NO! Watch out for reaction attacks! or “Evil Bob” Bob can deliberately choose “bad” elements b, e′, u Watches if errors occur during key-exchange/protocol

0 ≡ q q/4 q/2 3q/4

1

Alice: 0 0 ≡ q q/4 q/2 3q/4

1

Alice: 1

July 1st, 2019 14 / 27

slide-39
SLIDE 39

LWE key-exchange: ephemeral versus cached keys

The shown LWE key-exchange/encryption must be used ephemeral

July 1st, 2019 15 / 27

slide-40
SLIDE 40

LWE key-exchange: ephemeral versus cached keys

The shown LWE key-exchange/encryption must be used ephemeral To cache keys, most of the LWE schemes use the FO-transform There are two possibilities: IND-CPA or IND-CCA

July 1st, 2019 15 / 27

slide-41
SLIDE 41

LWE key-exchange: ephemeral versus cached keys

The shown LWE key-exchange/encryption must be used ephemeral To cache keys, most of the LWE schemes use the FO-transform There are two possibilities: IND-CPA or IND-CCA E IND-C P A H E M E R A L IND-C C A A C H E

July 1st, 2019 15 / 27

slide-42
SLIDE 42

LWE key-exchange: ephemeral versus cached keys

The shown LWE key-exchange/encryption must be used ephemeral To cache keys, most of the LWE schemes use the FO-transform There are two possibilities: IND-CPA or IND-CCA Claims of IND-CCA without FO are fishy (“Hilaas Pindakaas”)

July 1st, 2019 15 / 27

slide-43
SLIDE 43

Lattice-based Signatures

July 1st, 2019 16 / 27

slide-44
SLIDE 44

Lattice-based Signatures

Thijs covered GGH Signatures Hash-and-sign signature: requires a trapdoor (e.g. RSA, CVP) What about ring-LWE signatures?

July 1st, 2019 17 / 27

slide-45
SLIDE 45

Lattice-based Signatures

Thijs covered GGH Signatures Hash-and-sign signature: requires a trapdoor (e.g. RSA, CVP) What about ring-LWE signatures? Need to slightly adapt the problem The Ring-Short-Integer-Solution (ring-SIS), is the problem of:

Given a ∈ R Target polynomial t ∈ R (can be 0)

Find non-zero s ∈ R s.t. as ≡ t mod q and s small Also plain versions (plain-SIS)

July 1st, 2019 17 / 27

slide-46
SLIDE 46

Hash-and-Sign by SIS

Public key: a ∈ R Secret key: s: “some way” to solve ring-SIS for any target b

July 1st, 2019 18 / 27

slide-47
SLIDE 47

Hash-and-Sign by SIS

Public key: a ∈ R Secret key: s: “some way” to solve ring-SIS for any target b Sign(s, m): return small z with az ≡ H(m) mod q

July 1st, 2019 18 / 27

slide-48
SLIDE 48

Hash-and-Sign by SIS

Public key: a ∈ R Secret key: s: “some way” to solve ring-SIS for any target b Sign(s, m): return small z with az ≡ H(m) mod q Verify(z, m): check wether az

?

≡ H(m) mod q and z small

July 1st, 2019 18 / 27

slide-49
SLIDE 49

Hash-and-Sign by SIS

Public key: a ∈ R Secret key: s: “some way” to solve ring-SIS for any target b Sign(s, m): return small z with az ≡ H(m) mod q Verify(z, m): check wether az

?

≡ H(m) mod q and z small Every signature leaks “some” way of solving SIS Long history of “parallelepiped learning attacks”! Also applies to GGH, NTRUSign, DRS(submitted to NIST)

July 1st, 2019 18 / 27

slide-50
SLIDE 50

LWE/SIS Signatures: the other way

Hash-and-sign “problematic”, so what else? DSA (i.e. DH signatures) is not hash-and-sign... So instead, try Fiat-Shamir!

July 1st, 2019 19 / 27

slide-51
SLIDE 51

Diffie-Hellman identification protocol

Proof-of-knowledge

Alice (prover) Bob (verifier) Public: G = g, |G| = n Secret x ∈ [1, n − 1) Public h = gx y ←$ [1, n − 1) u = gy

u

c ←$ [1, n − 1)

c

z = y − cx

z

Accept iff gzhc = u

July 1st, 2019 20 / 27

slide-52
SLIDE 52

Diffie-Hellman identification protocol

Signature scheme (Fiat-Shamir)

Alice (prover) Bob (verifier) Public: G = g, |G| = n Secret x ∈ [1, n − 1) Message m Public h = gx y ←$ [1, n − 1) u = gy c = H(u, m) z = y − cx

(c, z)

H(gzhc, m)

?

= c

July 1st, 2019 20 / 27

slide-53
SLIDE 53

Diffie-Hellman identification protocol

Signature scheme (Fiat-Shamir)

Alice (prover) Bob (verifier) Public: G = g, |G| = n Secret x ∈ [1, n − 1) Message m Public h = gx y ←$ [1, n − 1) u = gy c = H(u, m) z = y − cx

(c, z)

H(gzhc, m)

?

= c

Let’s replace g, x, gx by a, short s, t = as mod q And y, u by y, u = ay

July 1st, 2019 20 / 27

slide-54
SLIDE 54

Fiat-Shamir lattice-based signatures

Mimic DSA with ring-SIS:

Alice (prover) Bob (verifier) Public: a ∈ R Secret short s Message m Public t ≡ as mod q y ←$ Zn

q

u = ay mod q c = H(u, m) z = y + sc

(c, z)

H(az − tc, m)

?

= c

y “hides” the secret part H outputs sparse binary polynomials

July 1st, 2019 21 / 27

slide-55
SLIDE 55

Fiat-Shamir lattice-based signatures

Mimic DSA with ring-SIS:

Alice (prover) Bob (verifier) Public: a ∈ R Secret short s Message m Public t ≡ as mod q y ←$ Zn

q

u = ay mod q c = H(u, m) z = y + sc

(c, z)

H(az − tc, m)

?

= c

y “hides” the secret part H outputs sparse binary polynomials But now u = ay not SIS as y not small → use y ←$ Dn

σ

July 1st, 2019 21 / 27

slide-56
SLIDE 56

Fiat-Shamir lattice-based signatures

Mimic DSA with discrete Gaussians:

Alice (prover) Bob (verifier) Public: a ∈ R Secret short s Message m Public t ≡ as mod q y ←$ Dn

σ

u = ay mod q c = H(u, m) z = y + sc

(c, z)

H(az − tc, m)

?

= c z small?

July 1st, 2019 21 / 27

slide-57
SLIDE 57

Fiat-Shamir lattice-based signatures

Mimic DSA with discrete Gaussians:

Alice (prover) Bob (verifier) Public: a ∈ R Secret short s Message m Public t ≡ as mod q y ←$ Dn

σ

u = ay mod q c = H(u, m) z = y + sc

(c, z)

H(az − tc, m)

?

= c z small?

But now still leaking noisy information on s Use Fiat-Shamir with Aborts!

July 1st, 2019 21 / 27

slide-58
SLIDE 58

Fiat-Shamir lattice-based signatures

Fiat-Shamir with discrete Gaussians and aborts:

Alice (prover) Bob (verifier) Public: a ∈ R Secret short s Message m Public t ≡ as mod q y ←$ Dn

σ

u = ay mod q c = H(u, m) z = y + sc Abort w.p. ρ(z)

(c, z)

H(az − tc, m)

?

= c z small?

Signatures statistically independent of s, i.e. z ∼ Dn

σ

July 1st, 2019 21 / 27

slide-59
SLIDE 59

Fiat-Shamir lattice-based signatures

Fiat-Shamir with discrete Gaussians and aborts:

Alice (prover) Bob (verifier) Public: a ∈ R Secret short s Message m Public t ≡ as mod q y ←$ Dn

σ

u = ay mod q c = H(u, m) z = y + sc Abort w.p. ρ(z)

(c, z)

H(az − tc, m)

?

= c z small?

Signatures statistically independent of s, i.e. z ∼ Dn

σ

Several optimizations (i.e. BLISS)

July 1st, 2019 21 / 27

slide-60
SLIDE 60

Implementation Issues

July 1st, 2019 22 / 27

slide-61
SLIDE 61

Lattice-based signatures: side-channel attacks!

Can we now replace (EC)DSA/RSA with e.g. BLISS?

July 1st, 2019 23 / 27

slide-62
SLIDE 62

Lattice-based signatures: side-channel attacks!

Can we now replace (EC)DSA/RSA with e.g. BLISS? Kinda, it depends... Watch out for side-channel attacks!

C r y p t

  • g

r a p h i c

  • p

e r a t i

  • n

Input Output Secret key Side-channel attack Data acquisition: power information, fault information, timings, etc. Analysis Key recovered! July 1st, 2019 23 / 27

slide-63
SLIDE 63

Side-channel attacks on lattice-based signatures

Signature z = y + sc, c y ←$ Dn

σ looks nice and short on paper...

  • 40
  • 20

20 40 x 0.01 0.02 0.03 0.04 Dσ (x)

: σ = 10 : σ = 20 : σ = 30

July 1st, 2019 24 / 27

slide-64
SLIDE 64

Side-channel attacks on lattice-based signatures

Signature z = y + sc, c y ←$ Dσ looks nice and short on paper... ...but very nasty in code: about 30% of the running time! Good target for a side-channel attack

July 1st, 2019 24 / 27

slide-65
SLIDE 65

Side-channel attacks on lattice-based signatures

Signature z = y + sc, c y ←$ Dσ looks nice and short on paper... ...but very nasty in code: about 30% of the running time! Good target for a side-channel attack In 2016, we showed how to break BLISS with cache-attacks From noisy information on y, construct an “easy lattice problem” All discrete Gaussian samplers have vulnerabilities

July 1st, 2019 24 / 27

slide-66
SLIDE 66

Side-channel attacks on lattice-based signatures

Signature z = y + sc, c y ←$ Dσ looks nice and short on paper... ...but very nasty in code: about 30% of the running time! Good target for a side-channel attack In 2016, we showed how to break BLISS with cache-attacks From noisy information on y, construct an “easy lattice problem” All discrete Gaussian samplers have vulnerabilities Possibly the reason why BLISS was not submitted to NIST

July 1st, 2019 24 / 27

slide-67
SLIDE 67

Lattice-based signatures 2.0

Discrete Gaussian sampling problematic Use small uniform noise instead?

July 1st, 2019 25 / 27

slide-68
SLIDE 68

Lattice-based signatures 2.0

Discrete Gaussian sampling problematic Use small uniform noise instead? Possible, but signatures become larger Dilithium and TESLA still reasonable size

July 1st, 2019 25 / 27

slide-69
SLIDE 69

Lattice-based signatures 2.0

Discrete Gaussian sampling problematic Use small uniform noise instead? Possible, but signatures become larger Dilithium and TESLA still reasonable size Additionally remove sampling all-together, i.e. deterministic schemes

July 1st, 2019 25 / 27

slide-70
SLIDE 70

Lattice-based signatures 2.0

Discrete Gaussian sampling problematic Use small uniform noise instead? Possible, but signatures become larger Dilithium and TESLA still reasonable size Additionally remove sampling all-together, i.e. deterministic schemes In 2018, we showed several differential fault attacks TESLA is now randomized again

July 1st, 2019 25 / 27

slide-71
SLIDE 71

Lattice-based cryptography: the takeaways

For key-exchange/encryption, several good options Many design choices! (ring-)LWE, NTRU, LWR; IND-CPA/CCA.

July 1st, 2019 26 / 27

slide-72
SLIDE 72

Lattice-based cryptography: the takeaways

For key-exchange/encryption, several good options Many design choices! (ring-)LWE, NTRU, LWR; IND-CPA/CCA. For digital signatures, sampling randomness can be problematic. Watch out for side-channel attacks, i.e. write constant-time code! Many ongoing improvements to signature schemes and samplers

July 1st, 2019 26 / 27

slide-73
SLIDE 73

Lattice-based cryptography: the takeaways

For key-exchange/encryption, several good options Many design choices! (ring-)LWE, NTRU, LWR; IND-CPA/CCA. For digital signatures, sampling randomness can be problematic. Watch out for side-channel attacks, i.e. write constant-time code! Many ongoing improvements to signature schemes and samplers Questions?

July 1st, 2019 26 / 27

slide-74
SLIDE 74

Further reading

LWE and Ring-LWE Goldreich, Goldwasser, and Halevi, “Public-Key Cryptosystems from Lattice Reduction Problems”, 1997 Regev, “On lattices, learning with errors, random linear codes, and cryptography”, 2009 Lyubashevsky, Peikert, and Regev, “On Ideal Lattices and Learning with Errors over Rings”, 2010 Silverman, “Lattices, cryptography, and the NTRU public key cryptosystem”, 2000 Lyubashevsky, Peikert, and Regev, “A Toolkit for Ring-LWE Cryptography”, 2013

July 1st, 2019 27 / 27

slide-75
SLIDE 75

Further reading

Lattice-based key-exchange/encryption Ding, “A Simple Provably Secure Key Exchange Scheme Based on the Learning with Errors Problem”, 2012 Bos, Costello, Naehrig, and Stebila, “Post-quantum key exchange for the TLS protocol from the ring learning with errors problem”, 2014 Alkim, Ducas, P¨

  • ppelmann, and Schwabe, “Post-quantum Key

Exchange - A New Hope”, 2016 Bos, Costello, Ducas, Mironov, Naehrig, Nikolaenko, Raghunathan, and Stebila, “Frodo: Take off the Ring! Practical, Quantum-Secure Key Exchange from LWE”, 2016

July 1st, 2019 27 / 27

slide-76
SLIDE 76

Further reading

More Lattice-based key-exchange/encryption Bernstein, Chuengsatiansup, Lange, and Vredendaal, “NTRU Prime: Reducing Attack Surface at Low Cost”, 2017 Bos, Ducas, Kiltz, Lepoint, Lyubashevsky, Schanck, Schwabe, Seiler, and Stehl´ e, “CRYSTALS - Kyber: A CCA-Secure Module-Lattice-Based KEM”, 2018 Baan, Bhattacharya, Fluhrer, Garc´ ıa-Morch´

  • n, Laarhoven, Rietman,

Saarinen, Tolhuizen, and Zhang, “Round5: Compact and Fast Post-Quantum Public-Key Encryption”, 2019 Bos, Costello, Ducas, Mironov, Naehrig, Nikolaenko, Raghunathan, and Stebila, “Frodo: Take off the Ring! Practical, Quantum-Secure Key Exchange from LWE”, 2016

July 1st, 2019 27 / 27

slide-77
SLIDE 77

Further reading

Reaction attacks and attacks on lattice cryptography designs Fluhrer, “Cryptanalysis of ring-LWE based key exchange with key share reuse”, 2016 Bernstein, Groot Bruinderink, Lange, and Panny, “HILA5 Pindakaas: On the CCA Security of Lattice-Based Encryption with Error Correction”, 2018 Cramer, Ducas, Peikert, and Regev, “Recovering Short Generators of Principal Ideals in Cyclotomic Rings”, 2016 Bauch, Bernstein, Valence, Lange, and Vredendaal, “Short Generators Without Quantum Computers: The Case of Multiquadratics”, 2017

July 1st, 2019 27 / 27

slide-78
SLIDE 78

Further reading

Lattice-based signatures Lyubashevsky, “Fiat-Shamir with Aborts: Applications to Lattice and Factoring-Based Signatures”, 2009 Ducas, Durmus, Lepoint, and Lyubashevsky, “Lattice Signatures and Bimodal Gaussians”, 2013 Ducas, Lepoint, Lyubashevsky, Schwabe, Seiler, and Stehl´ e, “CRYSTALS - Dilithium: Digital Signatures from Module Lattices”, 2017 Alkim, Bindel, Buchmann, and Dagdelen, “TESLA: Tightly-Secure Efficient Signatures from Standard Lattices”, 2015

July 1st, 2019 27 / 27

slide-79
SLIDE 79

Further reading

Learning attacks on lattice-based signatures Nguyen and Regev, “Learning a Parallelepiped: Cryptanalysis of GGH and NTRU Signatures”, 2006 Ducas and Nguyen, “Learning a Zonotope and More: Cryptanalysis of NTRUSign Countermeasures”, 2012 Yu and Ducas, “Learning Strikes Again: The Case of the DRS Signature Scheme”, 2018

July 1st, 2019 27 / 27

slide-80
SLIDE 80

Further reading

Side-channel attacks on lattice-based signatures Groot Bruinderink, H¨ ulsing, Lange, and Yarom, “Flush, Gauss, and Reload - A Cache Attack on the BLISS Lattice-Based Signature Scheme”, 2016 Pessl, Groot Bruinderink, and Yarom, “To BLISS-B or not to be: Attacking strongSwan’s Implementation of Post-Quantum Signatures”, 2017 Espitau, Fouque, G´ erard, and Tibouchi, “Side-Channel Attacks on BLISS Lattice-Based Signatures: Exploiting Branch Tracing against strongSwan and Electromagnetic Emanations in Microcontrollers”, 2017 Groot Bruinderink and Pessl, “Differential Fault Attacks on Deterministic Lattice Signatures”, 2018

July 1st, 2019 27 / 27