FrodoKEM practical quantum-secure key encapsulation from generic - - PowerPoint PPT Presentation

frodokem practical quantum secure key encapsulation from
SMART_READER_LITE
LIVE PREVIEW

FrodoKEM practical quantum-secure key encapsulation from generic - - PowerPoint PPT Presentation

FrodoKEM practical quantum-secure key encapsulation from generic lattices Erdem Alkim Joppe W. Bos L eo Ducas Patrick Longa Ilya Mironov Michael Naehrig Valeria Nikolaenko Chris Peikert Ananth Raghunathan Douglas Stebila 1 / 11 Concrete


slide-1
SLIDE 1

FrodoKEM practical quantum-secure key encapsulation from generic lattices

Erdem Alkim Joppe W. Bos L´ eo Ducas Patrick Longa Ilya Mironov Michael Naehrig Valeria Nikolaenko Chris Peikert Ananth Raghunathan Douglas Stebila

1 / 11

slide-2
SLIDE 2

FrodoPKE (IND-CPA) FrodoKEM (IND-CCA)

[FujisakiOkamoto’99,HHK’17] (generic transform)

Concrete Instantiations

1 FrodoKEM-640: targets Level 1 security (≥ AES-128) 2 FrodoKEM-976: targets Level 3 security (≥ AES-192) 3 FrodoKEM-1344 (new, round 2): Level 5 security (≥ AES-256)

FrodoKEM

FrodoKEM’s security derives from plain Learning With Errors

  • n algebraically unstructured lattices,

parameterized cautiously to avoid known risk categories, and to conform to a worst-case/average-case reduction.

2 / 11

slide-3
SLIDE 3

FrodoPKE (IND-CPA) FrodoKEM (IND-CCA)

[FujisakiOkamoto’99,HHK’17] (generic transform)

Concrete Instantiations

1 FrodoKEM-640: targets Level 1 security (≥ AES-128) 2 FrodoKEM-976: targets Level 3 security (≥ AES-192) 3 FrodoKEM-1344 (new, round 2): Level 5 security (≥ AES-256)

FrodoKEM

FrodoKEM’s security derives from plain Learning With Errors

  • n algebraically unstructured lattices,

parameterized cautiously to avoid known risk categories, and to conform to a worst-case/average-case reduction.

2 / 11

slide-4
SLIDE 4

FrodoPKE (IND-CPA) FrodoKEM (IND-CCA)

[FujisakiOkamoto’99,HHK’17] (generic transform)

Concrete Instantiations

1 FrodoKEM-640: targets Level 1 security (≥ AES-128) 2 FrodoKEM-976: targets Level 3 security (≥ AES-192) 3 FrodoKEM-1344 (new, round 2): Level 5 security (≥ AES-256)

FrodoKEM

FrodoKEM’s security derives from plain Learning With Errors

  • n algebraically unstructured lattices,

parameterized cautiously to avoid known risk categories, and to conform to a worst-case/average-case reduction.

2 / 11

slide-5
SLIDE 5

Concrete Instantiations

1 FrodoKEM-640: targets Level 1 security (≥ AES-128) 2 FrodoKEM-976: targets Level 3 security (≥ AES-192) 3 FrodoKEM-1344 (new, round 2): Level 5 security (≥ AES-256)

FrodoKEM

FrodoKEM’s security derives from plain Learning With Errors

  • n algebraically unstructured lattices,

parameterized cautiously to avoid known risk categories, and to conform to a worst-case/average-case reduction. FrodoPKE (IND-CPA)

[FujisakiOkamoto’99,HHK’17] (generic transform)

FrodoKEM (IND-CCA)

2 / 11

slide-6
SLIDE 6

FrodoKEM

FrodoKEM’s security derives from plain Learning With Errors

  • n algebraically unstructured lattices,

parameterized cautiously to avoid known risk categories, and to conform to a worst-case/average-case reduction. FrodoPKE (IND-CPA)

[FujisakiOkamoto’99,HHK’17] (generic transform)

FrodoKEM (IND-CCA)

Concrete Instantiations

1 FrodoKEM-640: targets Level 1 security (≥ AES-128) 2 FrodoKEM-976: targets Level 3 security (≥ AES-192) 3 FrodoKEM-1344 (new, round 2): Level 5 security (≥ AES-256)

2 / 11

slide-7
SLIDE 7

breaking random inputs = ⇒ solving famous problems on any lattice.

“[This] assures us that attacks on the cryptographic construction are likely to be effective only for small choices of parameters and not

  • asymptotically. In other words . . . there are no fundamental flaws in the

design of our cryptographic construction.” [MicciancioRegev’09]

I LWE has been heavily used and cryptanalyzed by countless works.

Public-Key Encryption/Key Exchange

I Many schemes with tight (CPA-)security from LWE:

[Regev’05,PVW’08,GPV’08,P’09,LP’11,. . . ]

I FrodoCCS [BCDMNNRS’16] instantiated and implemented [LP’11], using pseudorandom public matrix A to reduce public key size. I FrodoPKE/KEM [this work]: wider error, new params, CCA security

Pedigree

Learning With Errors (LWE) [Regev’05]

I Lineage of [Ajtai’96,AjtaiDwork’97]: worst-case/average-case reductions:

3 / 11

slide-8
SLIDE 8

“[This] assures us that attacks on the cryptographic construction are likely to be effective only for small choices of parameters and not

  • asymptotically. In other words . . . there are no fundamental flaws in the

design of our cryptographic construction.” [MicciancioRegev’09]

I LWE has been heavily used and cryptanalyzed by countless works.

Public-Key Encryption/Key Exchange

I Many schemes with tight (CPA-)security from LWE:

[Regev’05,PVW’08,GPV’08,P’09,LP’11,. . . ]

I FrodoCCS [BCDMNNRS’16] instantiated and implemented [LP’11], using pseudorandom public matrix A to reduce public key size. I FrodoPKE/KEM [this work]: wider error, new params, CCA security

Pedigree

Learning With Errors (LWE) [Regev’05]

I Lineage of [Ajtai’96,AjtaiDwork’97]: worst-case/average-case reductions: breaking random inputs = ⇒ solving famous problems on any lattice.

3 / 11

slide-9
SLIDE 9

I LWE has been heavily used and cryptanalyzed by countless works.

Public-Key Encryption/Key Exchange

I Many schemes with tight (CPA-)security from LWE:

[Regev’05,PVW’08,GPV’08,P’09,LP’11,. . . ]

I FrodoCCS [BCDMNNRS’16] instantiated and implemented [LP’11], using pseudorandom public matrix A to reduce public key size. I FrodoPKE/KEM [this work]: wider error, new params, CCA security

Pedigree

Learning With Errors (LWE) [Regev’05]

I Lineage of [Ajtai’96,AjtaiDwork’97]: worst-case/average-case reductions: breaking random inputs = ⇒ solving famous problems on any lattice.

“[This] assures us that attacks on the cryptographic construction are likely to be effective only for small choices of parameters and not

  • asymptotically. In other words . . . there are no fundamental flaws in the

design of our cryptographic construction.” [MicciancioRegev’09]

3 / 11

slide-10
SLIDE 10

Public-Key Encryption/Key Exchange

I Many schemes with tight (CPA-)security from LWE:

[Regev’05,PVW’08,GPV’08,P’09,LP’11,. . . ]

I FrodoCCS [BCDMNNRS’16] instantiated and implemented [LP’11], using pseudorandom public matrix A to reduce public key size. I FrodoPKE/KEM [this work]: wider error, new params, CCA security

Pedigree

Learning With Errors (LWE) [Regev’05]

I Lineage of [Ajtai’96,AjtaiDwork’97]: worst-case/average-case reductions: breaking random inputs = ⇒ solving famous problems on any lattice.

“[This] assures us that attacks on the cryptographic construction are likely to be effective only for small choices of parameters and not

  • asymptotically. In other words . . . there are no fundamental flaws in the

design of our cryptographic construction.” [MicciancioRegev’09]

I LWE has been heavily used and cryptanalyzed by countless works.

3 / 11

slide-11
SLIDE 11

I FrodoCCS [BCDMNNRS’16] instantiated and implemented [LP’11], using pseudorandom public matrix A to reduce public key size. I FrodoPKE/KEM [this work]: wider error, new params, CCA security

Pedigree

Learning With Errors (LWE) [Regev’05]

I Lineage of [Ajtai’96,AjtaiDwork’97]: worst-case/average-case reductions: breaking random inputs = ⇒ solving famous problems on any lattice.

“[This] assures us that attacks on the cryptographic construction are likely to be effective only for small choices of parameters and not

  • asymptotically. In other words . . . there are no fundamental flaws in the

design of our cryptographic construction.” [MicciancioRegev’09]

I LWE has been heavily used and cryptanalyzed by countless works.

Public-Key Encryption/Key Exchange

I Many schemes with tight (CPA-)security from LWE:

[Regev’05,PVW’08,GPV’08,P’09,LP’11,. . . ]

3 / 11

slide-12
SLIDE 12

I FrodoPKE/KEM [this work]: wider error, new params, CCA security

Pedigree

Learning With Errors (LWE) [Regev’05]

I Lineage of [Ajtai’96,AjtaiDwork’97]: worst-case/average-case reductions: breaking random inputs = ⇒ solving famous problems on any lattice.

“[This] assures us that attacks on the cryptographic construction are likely to be effective only for small choices of parameters and not

  • asymptotically. In other words . . . there are no fundamental flaws in the

design of our cryptographic construction.” [MicciancioRegev’09]

I LWE has been heavily used and cryptanalyzed by countless works.

Public-Key Encryption/Key Exchange

I Many schemes with tight (CPA-)security from LWE:

[Regev’05,PVW’08,GPV’08,P’09,LP’11,. . . ]

I FrodoCCS [BCDMNNRS’16] instantiated and implemented [LP’11], using pseudorandom public matrix A to reduce public key size.

3 / 11

slide-13
SLIDE 13

Pedigree

Learning With Errors (LWE) [Regev’05]

I Lineage of [Ajtai’96,AjtaiDwork’97]: worst-case/average-case reductions: breaking random inputs = ⇒ solving famous problems on any lattice.

“[This] assures us that attacks on the cryptographic construction are likely to be effective only for small choices of parameters and not

  • asymptotically. In other words . . . there are no fundamental flaws in the

design of our cryptographic construction.” [MicciancioRegev’09]

I LWE has been heavily used and cryptanalyzed by countless works.

Public-Key Encryption/Key Exchange

I Many schemes with tight (CPA-)security from LWE:

[Regev’05,PVW’08,GPV’08,P’09,LP’11,. . . ]

I FrodoCCS [BCDMNNRS’16] instantiated and implemented [LP’11], using pseudorandom public matrix A to reduce public key size. I FrodoPKE/KEM [this work]: wider error, new params, CCA security

3 / 11

slide-14
SLIDE 14

Assumption: for uniformly random matrix A over Zq and S from χ, [A , B ≈ SA]

c

≡ uniform over Zq.

(Images courtesy xkcd.org)

LWE and FrodoPKE

Learning With Errors

I Dimension n, modulus q, error distribution χ on ‘small’ integers.

4 / 11

slide-15
SLIDE 15

(Images courtesy xkcd.org)

LWE and FrodoPKE

Learning With Errors

I Dimension n, modulus q, error distribution χ on ‘small’ integers. Assumption: for uniformly random matrix A over Zq and S from χ, [A , B ≈ SA]

c

≡ uniform over Zq.

4 / 11

slide-16
SLIDE 16

(Images courtesy xkcd.org)

LWE and FrodoPKE

Learning With Errors

I Dimension n, modulus q, error distribution χ on ‘small’ integers. Assumption: for uniformly random matrix A over Zq and S from χ, [A , B ≈ SA]

c

≡ uniform over Zq. Bounded-distance decoding on a random ‘q-ary’ lattice defined by A:

(0, q) (q, 0) 4 / 11

slide-17
SLIDE 17

C ≈ AR C0 ≈ BR + q

2 · M

M ∈ {0, 1}k×` C0 − SC ≈ q

2 · M

(A, B, C, C0)

c

≡ unif

LWE and FrodoPKE

Learning With Errors

I Dimension n, modulus q, error distribution χ on ‘small’ integers. Assumption: for uniformly random matrix A over Zq and S from χ, [A , B ≈ SA]

c

≡ uniform over Zq. pk = seedA , B ≈ SA S ← χk×n

(A = expand(seedA) ∈ Zn

q ×n ) (Images courtesy xkcd.org) 4 / 11

slide-18
SLIDE 18

C ≈ AR C0 ≈ BR + q

2 · M

C0 − SC ≈ q

2 · M

(A, B, C, C0)

c

≡ unif

LWE and FrodoPKE

Learning With Errors

I Dimension n, modulus q, error distribution χ on ‘small’ integers. Assumption: for uniformly random matrix A over Zq and S from χ, [A , B ≈ SA]

c

≡ uniform over Zq. pk = seedA , B ≈ SA S ← χk×n

(A = expand(seedA) ∈ Zn

q ×n )

M ∈ {0, 1}k×`

(Images courtesy xkcd.org) 4 / 11

slide-19
SLIDE 19

C0 − SC ≈ q

2 · M

(A, B, C, C0)

c

≡ unif

LWE and FrodoPKE

Learning With Errors

I Dimension n, modulus q, error distribution χ on ‘small’ integers. Assumption: for uniformly random matrix A over Zq and S from χ, [A , B ≈ SA]

c

≡ uniform over Zq. pk = seedA , B ≈ SA S ← χk×n

(A = expand(seedA) ∈ Zn

q ×n )

C ≈ AR M ∈ {0, 1}k×`

q

C0 ≈ BR + 2 · M

(Images courtesy xkcd.org) 4 / 11

slide-20
SLIDE 20

(A, B, C, C0)

c

≡ unif

LWE and FrodoPKE

Learning With Errors

I Dimension n, modulus q, error distribution χ on ‘small’ integers. Assumption: for uniformly random matrix A over Zq and S from χ, [A , B ≈ SA]

c

≡ uniform over Zq. pk = seedA , B ≈ SA S ← χk×n

(A = expand(seedA) ∈ Zn

q ×n )

C ≈ AR C0 − SC ≈ q

2

M ∈ {0, 1}k×` C0 ≈ BR + q

2 · M

· M

(Images courtesy xkcd.org) 4 / 11

slide-21
SLIDE 21

LWE and FrodoPKE

Learning With Errors

I Dimension n, modulus q, error distribution χ on ‘small’ integers. Assumption: for uniformly random matrix A over Zq and S from χ, [A , B ≈ SA]

c

≡ uniform over Zq. pk = seedA , B ≈ SA S ← χk×n

(A = expand(seedA) ∈ Zn

q ×n )

C ≈ AR C0 − SC ≈ q

2

M ∈ {0, 1}k×` C0 ≈ BR + q

2 · M

· M

c

(A, B, C, C0) ≡ unif

(Images courtesy xkcd.org) 4 / 11

slide-22
SLIDE 22

Distinctive Features of FrodoPKE/KEM

1 Generic, algebraically unstructured lattices: plain LWE.

(No algebraic ring structure for potential exploitation.)

2 ‘Medium-sized’ errors conforming to a worst-case/average-case

reduction from a previously studied lattice problem (BDD with DGS).

3 Very simple design and constant-time implementation:

F power-of-2 modulus q for cheap & easy modular arithmetic F straightforward error sampling F no ‘reconciliation’ or error-correcting codes for removing noise F x64 implementation: 256 lines of plain C code

(+ preexisting symmetric primitives)

5 / 11

slide-23
SLIDE 23

Distinctive Features of FrodoPKE/KEM

1 Generic, algebraically unstructured lattices: plain LWE.

(No algebraic ring structure for potential exploitation.)

2 ‘Medium-sized’ errors conforming to a worst-case/average-case

reduction from a previously studied lattice problem (BDD with DGS).

3 Very simple design and constant-time implementation:

F power-of-2 modulus q for cheap & easy modular arithmetic F straightforward error sampling F no ‘reconciliation’ or error-correcting codes for removing noise F x64 implementation: 256 lines of plain C code

(+ preexisting symmetric primitives)

5 / 11

slide-24
SLIDE 24

Distinctive Features of FrodoPKE/KEM

1 Generic, algebraically unstructured lattices: plain LWE.

(No algebraic ring structure for potential exploitation.)

2 ‘Medium-sized’ errors conforming to a worst-case/average-case

reduction from a previously studied lattice problem (BDD with DGS).

3 Very simple design and constant-time implementation:

F power-of-2 modulus q for cheap & easy modular arithmetic F straightforward error sampling F no ‘reconciliation’ or error-correcting codes for removing noise F x64 implementation: 256 lines of plain C code

(+ preexisting symmetric primitives)

5 / 11

slide-25
SLIDE 25

Medium-Sized Errors

Choosing an Error Distribution

I Narrower errors = ⇒ smaller parameters q, n = ⇒ better efficiency.

2

New Worst-Case Hardness

6 / 11

slide-26
SLIDE 26

Medium-Sized Errors

Choosing an Error Distribution

I Narrower errors = ⇒ smaller parameters q, n = ⇒ better efficiency. I But how narrow can the error distribution safely be?

2

New Worst-Case Hardness

6 / 11

slide-27
SLIDE 27

given large-poly(n)-many samples. (PKEs don’t reveal this many!)

2 Prior worst-case hardness needs Gaussian error of σ > √n/(2π).

Or narrower error, but only for few LWE samples. (PKEs reveal more!) = ⇒ Sizeable gap between known-vulnerable and worst-case-hard params.

New Worst-Case Hardness

I A latent reduction from [R’05,PRS’17] works for our σ ≈ η(Z). I Works for a bounded poly(n) number of LWE samples: covers PKEs!

Medium-Sized Errors

Choosing an Error Distribution

I Narrower errors = ⇒ smaller parameters q, n = ⇒ better efficiency. I But how narrow can the error distribution safely be?

Risk Category: Small Errors

1 LWE with O(1)-bounded error is poly(n)-time solvable [AG’11,ACFP’14]

6 / 11

slide-28
SLIDE 28

2 Prior worst-case hardness needs Gaussian error of σ > √n/(2π).

Or narrower error, but only for few LWE samples. (PKEs reveal more!) = ⇒ Sizeable gap between known-vulnerable and worst-case-hard params.

New Worst-Case Hardness

I A latent reduction from [R’05,PRS’17] works for our σ ≈ η(Z). I Works for a bounded poly(n) number of LWE samples: covers PKEs!

Medium-Sized Errors

Choosing an Error Distribution

I Narrower errors = ⇒ smaller parameters q, n = ⇒ better efficiency. I But how narrow can the error distribution safely be?

Risk Category: Small Errors

1 LWE with O(1)-bounded error is poly(n)-time solvable [AG’11,ACFP’14]

given large-poly(n)-many samples. (PKEs don’t reveal this many!)

6 / 11

slide-29
SLIDE 29

Or narrower error, but only for few LWE samples. (PKEs reveal more!) = ⇒ Sizeable gap between known-vulnerable and worst-case-hard params.

New Worst-Case Hardness

I A latent reduction from [R’05,PRS’17] works for our σ ≈ η(Z). I Works for a bounded poly(n) number of LWE samples: covers PKEs!

Medium-Sized Errors

Choosing an Error Distribution

I Narrower errors = ⇒ smaller parameters q, n = ⇒ better efficiency. I But how narrow can the error distribution safely be?

Risk Category: Small Errors

1 LWE with O(1)-bounded error is poly(n)-time solvable [AG’11,ACFP’14]

given large-poly(n)-many samples. (PKEs don’t reveal this many!)

2 Prior worst-case hardness needs Gaussian error of σ > √

n/(2π).

6 / 11

slide-30
SLIDE 30

= ⇒ Sizeable gap between known-vulnerable and worst-case-hard params.

New Worst-Case Hardness

I A latent reduction from [R’05,PRS’17] works for our σ ≈ η(Z). I Works for a bounded poly(n) number of LWE samples: covers PKEs!

Medium-Sized Errors

Choosing an Error Distribution

I Narrower errors = ⇒ smaller parameters q, n = ⇒ better efficiency. I But how narrow can the error distribution safely be?

Risk Category: Small Errors

1 LWE with O(1)-bounded error is poly(n)-time solvable [AG’11,ACFP’14]

given large-poly(n)-many samples. (PKEs don’t reveal this many!)

2 Prior worst-case hardness needs Gaussian error of σ > √

n/(2π). Or narrower error, but only for few LWE samples. (PKEs reveal more!)

6 / 11

slide-31
SLIDE 31

New Worst-Case Hardness

I A latent reduction from [R’05,PRS’17] works for our σ ≈ η(Z). I Works for a bounded poly(n) number of LWE samples: covers PKEs!

Medium-Sized Errors

Choosing an Error Distribution

I Narrower errors = ⇒ smaller parameters q, n = ⇒ better efficiency. I But how narrow can the error distribution safely be?

Risk Category: Small Errors

1 LWE with O(1)-bounded error is poly(n)-time solvable [AG’11,ACFP’14]

given large-poly(n)-many samples. (PKEs don’t reveal this many!)

2 Prior worst-case hardness needs Gaussian error of σ > √

n/(2π). Or narrower error, but only for few LWE samples. (PKEs reveal more!) = ⇒ Sizeable gap between known-vulnerable and worst-case-hard params.

6 / 11

slide-32
SLIDE 32

I Works for a bounded poly(n) number of LWE samples: covers PKEs!

Medium-Sized Errors

Choosing an Error Distribution

I Narrower errors = ⇒ smaller parameters q, n = ⇒ better efficiency. I But how narrow can the error distribution safely be?

Risk Category: Small Errors

1 LWE with O(1)-bounded error is poly(n)-time solvable [AG’11,ACFP’14]

given large-poly(n)-many samples. (PKEs don’t reveal this many!)

2 Prior worst-case hardness needs Gaussian error of σ > √

n/(2π). Or narrower error, but only for few LWE samples. (PKEs reveal more!) = ⇒ Sizeable gap between known-vulnerable and worst-case-hard params.

New Worst-Case Hardness

I A latent reduction from [R’05,PRS’17] works for our σ ≈ η(Z).

6 / 11

slide-33
SLIDE 33

Medium-Sized Errors

Choosing an Error Distribution

I Narrower errors = ⇒ smaller parameters q, n = ⇒ better efficiency. I But how narrow can the error distribution safely be?

Risk Category: Small Errors

1 LWE with O(1)-bounded error is poly(n)-time solvable [AG’11,ACFP’14]

given large-poly(n)-many samples. (PKEs don’t reveal this many!)

2 Prior worst-case hardness needs Gaussian error of σ > √

n/(2π). Or narrower error, but only for few LWE samples. (PKEs reveal more!) = ⇒ Sizeable gap between known-vulnerable and worst-case-hard params.

New Worst-Case Hardness

I A latent reduction from [R’05,PRS’17] works for our σ ≈ η(Z). I Works for a bounded poly(n) number of LWE samples: covers PKEs!

6 / 11

slide-34
SLIDE 34

2 cSHAKE → SHAKE, refined domain separation, fewer calls to Keccak 3 QFO6⊥ → FO6⊥ transformation: removed extra hash value in ct.

Rationale: (non-tight) QROM proof [JZCWM’18] of OW-CPA PKE ⇒ IND-CCA KEM.

4 Detailed, tight ROM proof [HHK’17,LSS’14] of

IND-CPA PKE ⇒ OW-PCA PKE ⇒ IND-CCA KEM, with ‘R´ enyi switch’ at OW-PCA step.

5 WIP: Cortex M4 implementation with 2x memory improvement

What’s New in Round 2

1 Level 5 parameter set: FrodoKEM-1344

7 / 11

slide-35
SLIDE 35

3 QFO6⊥ → FO6⊥ transformation: removed extra hash value in ct.

Rationale: (non-tight) QROM proof [JZCWM’18] of OW-CPA PKE ⇒ IND-CCA KEM.

4 Detailed, tight ROM proof [HHK’17,LSS’14] of

IND-CPA PKE ⇒ OW-PCA PKE ⇒ IND-CCA KEM, with ‘R´ enyi switch’ at OW-PCA step.

5 WIP: Cortex M4 implementation with 2x memory improvement

What’s New in Round 2

1 2

Level 5 parameter set: FrodoKEM-1344 cSHAKE → SHAKE, refined domain separation, fewer calls to Keccak

7 / 11

slide-36
SLIDE 36

Rationale: (non-tight) QROM proof [JZCWM’18] of OW-CPA PKE ⇒ IND-CCA KEM.

4 Detailed, tight ROM proof [HHK’17,LSS’14] of

IND-CPA PKE ⇒ OW-PCA PKE ⇒ IND-CCA KEM, with ‘R´ enyi switch’ at OW-PCA step.

5 WIP: Cortex M4 implementation with 2x memory improvement

What’s New in Round 2

1 2 3

Level 5 parameter set: FrodoKEM-1344 cSHAKE → SHAKE, refined domain separation, fewer calls to Keccak QFO6⊥ → FO6⊥ transformation: removed extra hash value in ct.

7 / 11

slide-37
SLIDE 37

4 Detailed, tight ROM proof [HHK’17,LSS’14] of

IND-CPA PKE ⇒ OW-PCA PKE ⇒ IND-CCA KEM, with ‘R´ enyi switch’ at OW-PCA step.

5 WIP: Cortex M4 implementation with 2x memory improvement

What’s New in Round 2

1 2 3

Level 5 parameter set: FrodoKEM-1344 cSHAKE → SHAKE, refined domain separation, fewer calls to Keccak QFO6⊥ → FO6⊥ transformation: removed extra hash value in ct. Rationale: (non-tight) QROM proof [JZCWM’18] of OW-CPA PKE ⇒ IND-CCA KEM.

7 / 11

slide-38
SLIDE 38

5 WIP: Cortex M4 implementation with 2x memory improvement

What’s New in Round 2

1 2 3 4

Level 5 parameter set: FrodoKEM-1344 cSHAKE → SHAKE, refined domain separation, fewer calls to Keccak QFO6⊥ → FO6⊥ transformation: removed extra hash value in ct. Rationale: (non-tight) QROM proof [JZCWM’18] of OW-CPA PKE ⇒ IND-CCA KEM. Detailed, tight ROM proof [HHK’17,LSS’14] of IND-CPA PKE ⇒ OW-PCA PKE ⇒ IND-CCA KEM, with ‘R´ enyi switch’ at OW-PCA step.

7 / 11

slide-39
SLIDE 39

What’s New in Round 2

1 2 3 4

Level 5 parameter set: FrodoKEM-1344 cSHAKE → SHAKE, refined domain separation, fewer calls to Keccak QFO6⊥ → FO6⊥ transformation: removed extra hash value in ct. Rationale: (non-tight) QROM proof [JZCWM’18] of OW-CPA PKE ⇒ IND-CCA KEM. Detailed, tight ROM proof [HHK’17,LSS’14] of IND-CPA PKE ⇒ OW-PCA PKE ⇒ IND-CCA KEM, with ‘R´ enyi switch’ at OW-PCA step. WIP: Cortex M4 implementation with 2x memory improvement

5

7 / 11

slide-40
SLIDE 40

I For worst-case hardness, FrodoPKE uses ‘ideal’ Gaussian errors. For implementation, FrodoKEM uses ‘approximate’ Gaussian errors. I Switch at OW-PCA (search), security loss ≈ 0 by R´ enyi div [LSS’14].

(Precise, tiny bounds given in spec.)

Alternative Assumption: OW-PCA of T[FrodoPKE]

I OW-PCA ≡ OW-CPA, unless attacker queries an m 6= Dec(Enc(m)). I Costs more than claimed security for our FrodoKEM params [DVV’19]. I So, ≈ OW-CPA of T[FrodoPKE] also suffices for CCA.

Tight ROM Proof of CCA Security

I Generic, tight transforms following [HHK’17]: FrodoPKE (IND-CPA) T[FrodoPKE] (OW-PCA) U 6⊥ T FrodoKEM (IND-CCA)

8 / 11

slide-41
SLIDE 41

I Switch at OW-PCA (search), security loss ≈ 0 by R´ enyi div [LSS’14].

(Precise, tiny bounds given in spec.)

Alternative Assumption: OW-PCA of T[FrodoPKE]

I OW-PCA ≡ OW-CPA, unless attacker queries an m 6= Dec(Enc(m)). I Costs more than claimed security for our FrodoKEM params [DVV’19]. I So, ≈ OW-CPA of T[FrodoPKE] also suffices for CCA.

Tight ROM Proof of CCA Security

I Generic, tight transforms following [HHK’17]: FrodoPKE (IND-CPA) T[FrodoPKE] (OW-PCA) U 6⊥ T FrodoKEM (IND-CCA) I For worst-case hardness, FrodoPKE uses ‘ideal’ Gaussian errors. For implementation, FrodoKEM uses ‘approximate’ Gaussian errors.

8 / 11

slide-42
SLIDE 42

Alternative Assumption: OW-PCA of T[FrodoPKE]

I OW-PCA ≡ OW-CPA, unless attacker queries an m 6= Dec(Enc(m)). I Costs more than claimed security for our FrodoKEM params [DVV’19]. I So, ≈ OW-CPA of T[FrodoPKE] also suffices for CCA.

Tight ROM Proof of CCA Security

I Generic, tight transforms following [HHK’17]: FrodoPKE (IND-CPA) T[FrodoPKE] (OW-PCA) U 6⊥ T FrodoKEM (IND-CCA) I For worst-case hardness, FrodoPKE uses ‘ideal’ Gaussian errors. For implementation, FrodoKEM uses ‘approximate’ Gaussian errors. I Switch at OW-PCA (search), security loss ≈ 0 by R´ enyi div [LSS’14].

(Precise, tiny bounds given in spec.)

8 / 11

slide-43
SLIDE 43

I Costs more than claimed security for our FrodoKEM params [DVV’19]. I So, ≈ OW-CPA of T[FrodoPKE] also suffices for CCA.

Tight ROM Proof of CCA Security

I Generic, tight transforms following [HHK’17]: FrodoPKE (IND-CPA) T[FrodoPKE] (OW-PCA) U 6⊥ T FrodoKEM (IND-CCA) I For worst-case hardness, FrodoPKE uses ‘ideal’ Gaussian errors. For implementation, FrodoKEM uses ‘approximate’ Gaussian errors. I Switch at OW-PCA (search), security loss ≈ 0 by R´ enyi div [LSS’14].

(Precise, tiny bounds given in spec.)

Alternative Assumption: OW-PCA of T[FrodoPKE]

I OW-PCA ≡ OW-CPA, unless attacker queries an m 6= Dec(Enc(m)).

8 / 11

slide-44
SLIDE 44

I So, ≈ OW-CPA of T[FrodoPKE] also suffices for CCA.

Tight ROM Proof of CCA Security

I Generic, tight transforms following [HHK’17]: FrodoPKE (IND-CPA) T[FrodoPKE] (OW-PCA) U 6⊥ T FrodoKEM (IND-CCA) I For worst-case hardness, FrodoPKE uses ‘ideal’ Gaussian errors. For implementation, FrodoKEM uses ‘approximate’ Gaussian errors. I Switch at OW-PCA (search), security loss ≈ 0 by R´ enyi div [LSS’14].

(Precise, tiny bounds given in spec.)

Alternative Assumption: OW-PCA of T[FrodoPKE]

I OW-PCA ≡ OW-CPA, unless attacker queries an m 6= Dec(Enc(m)). I Costs more than claimed security for our FrodoKEM params [DVV’19].

8 / 11

slide-45
SLIDE 45

Tight ROM Proof of CCA Security

I Generic, tight transforms following [HHK’17]: FrodoPKE (IND-CPA) T[FrodoPKE] (OW-PCA) U 6⊥ T FrodoKEM (IND-CCA) I For worst-case hardness, FrodoPKE uses ‘ideal’ Gaussian errors. For implementation, FrodoKEM uses ‘approximate’ Gaussian errors. I Switch at OW-PCA (search), security loss ≈ 0 by R´ enyi div [LSS’14].

(Precise, tiny bounds given in spec.)

Alternative Assumption: OW-PCA of T[FrodoPKE]

I OW-PCA ≡ OW-CPA, unless attacker queries an m 6= Dec(Enc(m)). I Costs more than claimed security for our FrodoKEM params [DVV’19]. I So, ≈ OW-CPA of T[FrodoPKE] also suffices for CCA.

8 / 11

slide-46
SLIDE 46

This significantly underestimates the cost of known attacks, but it is prudent to expect better lower-order terms with further research. I LWE and classical CCA security (end-to-end from ROM proof): LWE Security CCA (ROM) n q σ C ≥ Q ≥ Sec ≥ FrodoKEM-640 640 215 2.75 145 104 141 FrodoKEM-976 976 216 2.3 210 150 206 FrodoKEM-1344 1344 216 1.4 275 197 268

Concrete Parameters and Security

I Use ‘core-SVP’ methodology [ADPS’16] to lower-bound the first-order exponential time (and space) of SVP in appropriate dimension.

9 / 11

slide-47
SLIDE 47

I LWE and classical CCA security (end-to-end from ROM proof): LWE Security CCA (ROM) n q σ C ≥ Q ≥ Sec ≥ FrodoKEM-640 640 215 2.75 145 104 141 FrodoKEM-976 976 216 2.3 210 150 206 FrodoKEM-1344 1344 216 1.4 275 197 268

Concrete Parameters and Security

I Use ‘core-SVP’ methodology [ADPS’16] to lower-bound the first-order exponential time (and space) of SVP in appropriate dimension. This significantly underestimates the cost of known attacks, but it is prudent to expect better lower-order terms with further research.

9 / 11

slide-48
SLIDE 48

Concrete Parameters and Security

I Use ‘core-SVP’ methodology [ADPS’16] to lower-bound the first-order exponential time (and space) of SVP in appropriate dimension. This significantly underestimates the cost of known attacks, but it is prudent to expect better lower-order terms with further research. I LWE and classical CCA security (end-to-end from ROM proof): LWE Security CCA (ROM) n q σ C ≥ Q ≥ Sec ≥ FrodoKEM-640 640 215 2.75 145 104 141 FrodoKEM-976 976 216 2.3 210 150 206 FrodoKEM-1344 1344 216 1.4 275 197 268

9 / 11

slide-49
SLIDE 49

I Speed (in kilocycles, 3.4GHz Intel Core i7-6700 Skylake, AES-NI): KeyGen Encaps Decaps FrodoKEM-640 1,384 1,858 1,749 FrodoKEM-976 2,820 3,559 3,400 FrodoKEM-1344 4,756 5,981 5,748 I Cache A ← seedA for pk lifetime: save ≈ 40% in Encaps/Decaps

Performance

I Sizes (in bytes): secret key public key ciphertext FrodoKEM-640 FrodoKEM-976 FrodoKEM-1344 10,272 15,664 21,568 9,616 15,632 21,520 9,720 15,744 21,632

10 / 11

slide-50
SLIDE 50

I Cache A ← seedA for pk lifetime: save ≈ 40% in Encaps/Decaps

Performance

I Sizes (in bytes): secret key public key ciphertext FrodoKEM-640 FrodoKEM-976 FrodoKEM-1344 10,272 15,664 21,568 9,616 15,632 21,520 9,720 15,744 21,632 I Speed (in kilocycles, 3.4GHz Intel Core i7-6700 Skylake, AES-NI): KeyGen Encaps Decaps FrodoKEM-640 FrodoKEM-976 FrodoKEM-1344 1,384 2,820 4,756 1,858 3,559 5,981 1,749 3,400 5,748

10 / 11

slide-51
SLIDE 51

Performance

I Sizes (in bytes): secret key public key ciphertext FrodoKEM-640 10,272 9,616 9,720 FrodoKEM-976 15,664 15,632 15,744 FrodoKEM-1344 21,568 21,520 21,632 I Speed (in kilocycles, 3.4GHz Intel Core i7-6700 Skylake, AES-NI): KeyGen Encaps Decaps FrodoKEM-640 1,384 1,858 1,749 FrodoKEM-976 2,820 3,559 3,400 FrodoKEM-1344 4,756 5,981 5,748 I Cache A ← seedA for pk lifetime: save ≈ 40% in Encaps/Decaps

10 / 11

slide-52
SLIDE 52

Parting Thought

FrodoKEM’s security derives from plain Learning With Errors

  • n algebraically unstructured lattices,

parameterized cautiously to avoid known risk categories, and to conform to a worst-case/average-case reduction.

https://FrodoKEM.org Thanks!

11 / 11