Getting Post-Quantum Crypto Algorithms Ready for Deployment End of - - PowerPoint PPT Presentation

getting post quantum crypto algorithms ready for
SMART_READER_LITE
LIVE PREVIEW

Getting Post-Quantum Crypto Algorithms Ready for Deployment End of - - PowerPoint PPT Presentation

Getting Post-Quantum Crypto Algorithms Ready for Deployment End of ECRYPT II Event: Crypto for 2020 Tim Gneysu Hardware Security Group Horst Grtz Institute for IT-Security, Bochum 1/24/2013 Outline Introduction Alternative Public-Key


slide-1
SLIDE 1 Tim Güneysu Hardware Security Group Horst Görtz Institute for IT-Security, Bochum

1/24/2013

Getting Post-Quantum Crypto Algorithms Ready for Deployment

End of ECRYPT II Event: Crypto for 2020

slide-2
SLIDE 2

Outline

  • Introduction
  • Alternative Public-Key Cryptosystems (APKC)
  • Practical Considerations of APKCs
  • Case Studies on Lattice-based Cryptography
  • Conclusions
slide-3
SLIDE 3

Public-Key Crypto – Situation Today

  • PKCs used in practice are

in fact RSA and ECC

  • Underlying problems

(factorization/dlog) are both closely related

  • As learned from Tanja‘s talk

yesterday, both are dead when quantum-computing comes into play

slide-4
SLIDE 4

Public-Key Crypto – A Wishlist

  • Add some alternative PK-

cryptosystems to our basket

  • Security reductions based
  • n known hard problems
  • No possible poly-time

attack algorithms (e.g., Shor) with quantum computers

  • Efficiency in implementations

comparable to RSA and ECC

slide-5
SLIDE 5

Outline

  • Introduction
  • Alternative Public-Key Cryptosystems (APKC)
  • Practical Considerations of APKCs
  • Case Studies on Lattice-based Cryptography
  • Conclusions
slide-6
SLIDE 6

Alternative Public-Key Cryptography

  • Four main branches
  • f post-quantum crypto:

– Code-based – Hash-based – Multivariate-quadratic – Lattice-based

  • Can potentially provide PK encryption

and/or signature schemes

slide-7
SLIDE 7

Alternative Public-Key Cryptography (APKC)

  • But: Why haven‘t we seen any APKC in

real-world systems yet?

– Many constructions are too novel and hardly analyzed/not mature enough – Potential of possible attacks is not fully captured yet – No concrete instances/parameters given – Implementations of „secure“ instances seem to be much too huge and/or slow – Skeptics still like to keep ECC/RSA or just don‘t believe in quantum computers

slide-8
SLIDE 8

Alternative Public-Key Cryptography (APKC)

  • How to get APKCs ready for deployment?

– Pick APKCs for which sufficient confidence of security and defined instances/parameters exist – Make sure their description is comprehensible for implementers – Evaluate efficiency of APKC implementations in particular on constrained embedded devices – Disseminate APKCs to crypto libraries and (international) standards

slide-9
SLIDE 9

Outline

  • Introduction
  • Alternative Public-Key Cryptosystems (APKC)
  • Practical Considerations of APKCs

– Code-based Cryptography – Hash-based Cryptography – Multivariate-Quadratic-based Cryptography – Lattice-based Cryptography

  • Conclusions
slide-10
SLIDE 10

Disclaimer Slide

A Word of Warning…

  • The following overview on PQC systems

does not claim to be complete.

  • It rather focusses on selected systems

that are suitable to provide evidence on

  • Activities within each PQC branch
  • Good and (some) bad constructions
  • Constructions that provide concrete instances or only “some” parameters
  • Constructions that provide efficient instances
  • Some (important) parameters are also omitted from some slides
  • See http://pqcrypto.org for more works and definitions
slide-11
SLIDE 11

Code-based Cryptography – Basics

  • Hard problem(s): decoding a syndrome/random linear code
  • Principle:
  • Hide the code generating matrix G by multiplication with

permutation P and a scrambling matrix S (remark: the latter is not required in all cases)  Public Key G’=SGP

  • Add errors e during cryptographic operation
  • Decoding is only efficiently possible if the generator matrix

is known  Secret Key G

  • The general concept of “decoding with errors” is also picked

up by other constructions (e.g., in lattice-based crypto)

slide-12
SLIDE 12

Code-based Encryption Schemes

McEliece [M78] Niederreiter [N86]

Taxonomy of Code-based Encryption

Generalized Reed-Solomon Goppa Reed Muller Concatenated Turbo/LDCP/MDCP Srivastava Elliptic

slide-13
SLIDE 13

Code-based Encryption Schemes

McEliece [M78] Niederreiter [N86]

Taxonomy of Code-based Encryption

Generalized Reed-Solomon Goppa Reed Muller Concatenated Srivastava Elliptic Turbo/LDCP/MDCP

slide-14
SLIDE 14

Code-based Encryption Schemes

McEliece [M78] Niederreiter [N86]

Taxonomy of Code-based Encryption

Key sizes for ≈ 80-bit equivalent symmetric security.

Generalized Reed-Solomon Goppa Reed Muller Concatenated Srivastava Elliptic Turbo/LDCP/MDCP

PK: 0.6 kB SK: 180 B PK: 63 kB SK: 2.5 kB PK: 2.5 kB SK: 1.5 kB
slide-15
SLIDE 15

Code-based Signature Schemes

Courtois, Finiasz, Sendrier (CFS) Signatures

Taxonomy of Code-based Signatures

Original [CFS01] Parallel CFS [F10]

slide-16
SLIDE 16

Code-based Signature Schemes

Courtois, Finiasz, Sendrier (CFS) Signatures

Taxonomy of Code-based Signatures

Original [CFS01] Parallel CFS [F10]

slide-17
SLIDE 17

Code-based Signature Schemes

Courtois, Finiasz, Sendrier (CFS) Signatures

Taxonomy of Code-based Signatures

Original [CFS01] Parallel CFS [F10]

PK: 5 MB SK: few kB Sig: < 0.5 KB Key sizes for ≈ 80-bit equivalent symmetric security.
slide-18
SLIDE 18

Key Aspects of Code-based Systems

  • Focus on encryption, signature schemes are less efficient
  • Selection of underlying code is the most critical issue
  • Structures in codes reduce key sizes, but often enable also attacks
  • Encoding is a very fast operation on most platforms (matrix multiplication)
  • Decoding is typically a more complex process (fast decoders are available)
  • Reasonably small public and private keys for encryption
  • Additional computational efforts on constant weight encoding

algorithm for Niederreiter’s scheme

  • Encryption schemes are quite mature (McEliece proposed in ’78,

Niederreiter ‘83)  CCA2-conversion available

slide-19
SLIDE 19

Hints on Efficiency: McEliece vs. Niederreiter

  • McEliece (using binary Goppa codes, 80 bit equiv. security)
  • Existing implementations:
  • PC (HyMES ‘08) : 140 cycles/bit enc. 2714 cycles/bit dec.
  • AVR µC [EGH09] : 7200 cycles/bit enc. 11300 cycles/bit dec.
  • FPGA [SWM+09] : 160 cycles/bit enc. 446 cycles/bit dec.
  • Niederreiter (using binary Goppa codes, 80 bit equiv. security)
  • Existing implementations:
  • PC (public domain) : returns a segfault (?)
  • AVR µC [H11] : 267 cycles/bit enc 30000 cycles/bit dec.
  • FPGA

: see next slide

slide-20
SLIDE 20

Implementation Results

Niederreiter McEliece [enc] [dec] [enc] [dec] Niederreiter [enc] [dec] McEliece [enc] [dec] Niederreiter [enc] [dec]
  • Results on FPGAs for roughly 80 bit of equivalent symmetric security
  • Parameter set (n=2048, k=1751, t=27) using Goppa codes
slide-21
SLIDE 21

Outline

  • Introduction
  • Alternative Public-Key Cryptosystems (APKC)
  • Practical Considerations of APKCs

– Code-based Cryptography – Hash-based Cryptography – Multivariate-Quadratic-based Cryptography – Lattice-based Cryptography

  • Conclusions
slide-22
SLIDE 22

Hash-based Cryptography – Basics

  • Hard problem: find (second) preimages of cryptographic

hash functions

  • Build OTS scheme using a cryptographic hash function
  • A Hash tree reduces many OTS public keys to a single root
slide-23
SLIDE 23

Hash-based Signature Schemes

Merkle Signature Scheme MSS [Mer89] CMSS [BCD+06]

W-OTS [Mer89, DSS05, RED+08] LD-OTS [LD79]

XMSS [BDH11]

Taxonomy of Hash-based Signatures

GMSS [BDK+07] SPR-MSS [DOTV08]

slide-24
SLIDE 24

Hash-based Signature Schemes

MSS [Mer89] CMSS [BCD+06]

W-OTS [Mer89,DSS05] LD-OTS [LD79]

XMSS [BDH11]

Taxonomy of Hash-based Signatures

GMSS [BDK+07] SPR-MSS [DOTV08]

Key sizes for ≈ 80-bit equivalent symmetric security (≈ 1M #Sigs) H=16 PK: 16 Byte SK: 1.4 kB Sig: 2.29 kB H=20 PK: 46 Byte SK: 1.86 kB Sig: 7 kB H=20 PK: 0.93 kB SK: 152 Bit Sig: 8.31 kB H=20 PK: 0.91 kB SK: 152 Bit Sig: 2.39 kB
slide-25
SLIDE 25

Hash-based Encryption Schemes

Taxonomy of Hash-based Encryption

{ }

slide-26
SLIDE 26

Key Aspects of Hash-based Systems

  • Only signature schemes available, no encryption
  • Moderate requirements for implementations
  • Second preimage (older schemes: collision) resistant hash function
  • Pseudorandom functions for OTS (XMSS)
  • Hard limitation on the number of signatures per tree
  • Height of the tree determines max. # of signatures

(issue with DoS attacks for real-world systems)

  • Requires track record of signatures already used

(critical in untrusted environments!)

  • Increasing tree height increases memory requirements and

computational complexity

slide-27
SLIDE 27

Implementation Results

  • Lots of hash functions available, but not many implementations
  • f hash-based crypto

Results for XMSS with H=20 [BDH11] presented on PQCrypto 2011 Platform: Intel Core i5 M540@2.53GHz; Figure marked with (*) uses AES NI

slide-28
SLIDE 28

Outline

  • Introduction
  • Alternative Public-Key Cryptosystems (APKC)
  • Practical Considerations of APKCs

– Code-based Cryptography – Hash-based Cryptography – Multivariate-Quadratic-based Cryptography – Lattice-based Cryptography

  • Case Studies on Lattice-based Cryptography
  • Conclusions
slide-29
SLIDE 29

Multivariate-quadratic Cryptography – Basics

  • Hard problem: Find the solution for a set of MQ equations
  • Given F and P MQ maps and two linear maps S and T
  • P has no special structure and is large, therefore hard to invert
  • A special (secret) structure in F is necessary to allow easy inversion
  • This secret structure is hidden by mappings S and T
slide-30
SLIDE 30

MQ-based Signature Schemes

Oil and Vinegar Stepwise Triangular Systems (STS)

(C)UOV [KPG99, PTBW11] Original OV [Pat97] Hidden-Field Equations

Taxonomy of Multivariate-Quadratic Signatures

Matsumoto-Imai A

HFE(F) [Pat96] HFE± HFEv HFEv- (Quartz) (enhanced) TTS Tractable Rational Maps Rainbow MIA [IM85] C* [MI88] Flash/SFlash [PGC01]
slide-31
SLIDE 31

MQ-based Signature Schemes

Oil and Vinegar Stepwise Triangular Systems (STS)

(C)UOV [KPG99, PTBW11] Original OV [Pat97] Hidden-Field Equations

Taxonomy of Multivariate-Quadratic Signatures

Matsumoto-Imai A

HFE(F) [Pat96] HFE± HFEv HFEv- (Quartz) (enhanced) TTS Tractable Rational Maps Rainbow MIA [IM85] C* [MI88] Flash/SFlash [PGC01]
slide-32
SLIDE 32

MQ-based Signature Schemes

Oil and Vinegar Stepwise Triangular Systems (STS)

(C)UOV [PTBW11] Original OV [Pat97] Hidden-Field Equations

Taxonomy of Multivariate-Quadratic Signatures

Matsumoto-Imai A

HFE(F) [Pat96] HFE± HFEv HFEv- (Quartz) (enhanced) TTS Tractable Rational Maps Rainbow MIA [IM85] C* [MI88] Flash/SFlash [PGC01] PK: 27.9 kB SK: 19.6 kB Sig: 256 Bit Key sizes for ≈ 80-bit eqivalent symmetric security. PK: 3.9 kB SK: 71 kB Sig: 128 Bit PK: 8.9 kB SK: 75.3kB Sig: 624 Bit PK: 49.6 kB SK: 4.5 kB Sig: 256 Bit
slide-33
SLIDE 33

MQ Encryption Schemes

Taxonomy of Multivariate-Quadratic Encryption

{ }

slide-34
SLIDE 34

Key Aspects of MQ-based Systems

  • Only signature schemes available, no encryption
  • Basic operations are efficient
  • Mainly linear operations over finite field (e.g., Gaussian elimination)
  • Operations are simple to implement on any platform
  • Large public and private key (but the latter is certainly more critical)
  • Embedded microcontrollers/smart cards have <16 KB internal Flash
  • High number of memory accesses required
  • Extra external (permanent) memory for keys required
slide-35
SLIDE 35

Sign Verify

  • Some implementations of an 80-bit level of equivalent security targeting

an AVR microcontroller:

  • Comparison with

ECC/RSA on the same platform

Implementation Results

slide-36
SLIDE 36

Outline

  • Introduction
  • Alternative Public-Key Cryptosystems (APKC)
  • Practical Considerations of APKCs

– Multivariate-Quadratic-based Cryptography – Hash-based Cryptography – Code-based Cryptography – Lattice-based Cryptography

  • Conclusions
slide-37
SLIDE 37

Lattice-based Cryptography – Basics

  • Hard problem: Shortest/Closest Vector Problem

(SVP/CVP) in the worst case

  • Typically thought to be

– Unpractical but provably secure – Practical but without proof (GGH/NTRU) – Lately: Ideal lattices can potentially combine both

  • More constructions feasible beyond classical PKC:

hash functions, PRFs, identity-based encryption, homomorphic encryption

slide-38
SLIDE 38

Lattice-based Signature Schemes

Taxonomy of Lattice-based Signatures

NTRU Sign/GGH Hash-and-sign [GPV08] [HPS01] [HHGP+03] [GGH97] Fiat-Shamir [FS86] [Lyu09] [Lyu12] [GLP12] [MP12]

slide-39
SLIDE 39

Lattice-based Signature Schemes

Taxonomy of Lattice-based Signatures

NTRU Sign/GGH Hash-and-sign [GPV08] [HPS01] [HHGP+03] [GS02] [NR09] [GGH97] Fiat-Shamir [Lyu09] [Lyu12] [GLP12] [MP12]

slide-40
SLIDE 40

Lattice-based Signature Schemes

Taxonomy of Lattice-based Signatures

NTRU Sign/GGH Hash-and-sign [GPV08] [HPS01] [HHGP+03] [GS02] [NR09] [GGH97] Fiat-Shamir [Lyu09] [Lyu12] [GLP12] [MP12]

PK: 44.1 kB PK: 2 kB SK: 2 kB Sig: 6 kB PK: 1.5 kB SK: 0.2 kB Sig: 1 kB PK: 362 kB SK: 831 kB Sig: 2.3 kB Note: Most proposed signatures do not come with parameters Key sizes for medium security (roughly 128-bit?)
slide-41
SLIDE 41

Lattice-based Encryption Schemes

Taxonomy of Lattice-based Encryption

NTRU [HHHW09] [HPS98] LWE-[Reg05] Micciancio- Regev [MR08] Lindner-Peikert [LP10] (R)-LWE NTRU-Variant [SS11]

Standard Lattices Ideal Lattices

slide-42
SLIDE 42

Lattice-based Encryption Schemes

Taxonomy of Lattice-based Encryption

NTRU [HHHW09] [HPS98] LWE-[Reg05] Micciancio- Regev [MR08] Lindner-Peikert [LP10] (R)-LWE NTRU-Variant [SS11]

Standard Lattices Ideal Lattices

slide-43
SLIDE 43

Lattice-based Encryption Schemes

Taxonomy of Lattice-based Encryption

NTRU [HHHW09] [HPS98] LWE-[Reg05] Micciancio- Regev [MR08] Lindner-Peikert [LP10] (R)-LWE NTRU-Variant [SS11]

Standard Lattices Ideal Lattices

x

slide-44
SLIDE 44

Lattice-based Encryption Schemes

Taxonomy of Lattice-based Encryption

NTRU [HHHW09] [HPS98] LWE-[Reg05] Micciancio- Regev [MR08] Lindner-Peikert [LP10] (R)-LWE NTRU-Variant [SS11]

Standard Lattices Ideal Lattices

Key sizes for medium security (roughly 128-bit?)

x

Standard: PK: 48 kB Msg: 0.5 kB Ideal: PK: 0.4 kB Msg: 0.81 kB Standard: PK: 732 kB Msg: 0.3 kB PK: 1.5 kB SK: 1.8 kB Msg: 1.5 kB
slide-45
SLIDE 45

Key Aspects of Lattice-based Systems

  • Encryption and signature systems are both feasible
  • Undesired message expansion for LWE encryption
  • Rare decryption error probability in LWE encryption
  • Random Sampling not only from uniform but also from Gaussian

distributions (not trivial)

  • Most underlying operations are efficient and parallizable
  • (Ideal lattices) Make use of FFT for polynomial multiplication
  • (Standard lattices) Matrix-vector arithmetic
  • Reasonably large public and private keys
  • True for encryption/signatures constructions
  • Unclear for more complex services such as homomorphic/IBE
slide-46
SLIDE 46

Outline

  • Introduction
  • Alternative Public-Key Cryptosystems (APKC)
  • Practical Considerations of APKCs
  • Case Studies on Lattice-based Cryptography
  • Conclusions
slide-47
SLIDE 47

Case Study #1: LWE-Encryption

  • CPA-secure public key encryption scheme for standard and

ideal lattices introduced by Lindner and Peikert in 2010.

  • GEN(a): KeyGen(a): Choose 𝑠1, 𝑠2 ← 𝜓 from a small Gaussian

distribution and let 𝑞 = 𝑠1 − 𝑏 ∙ 𝑠2. Public key 𝒒 and secret key 𝒔𝟑.

  • ENC(a,p,m): choose 𝑓1, 𝑓2, 𝑓3 ← 𝜓. Let 𝑛

= encode(𝑛) in 𝑆𝑞. The ciphertext is 𝑑1 = 𝑏 ∙ 𝑓1 + 𝑓2, 𝑑2 = 𝑞 ∙ 𝑓1 + 𝑓3 + 𝑛

  • DEC((c1,c2),r2): output decode(c1 ∙ r2+c2)

Review of Operations:

  • Polynomial multiplication
  • Gaussian sampling
slide-48
SLIDE 48

Implementation Aspects and Results

  • One message bit is encoded using a threshhold scheme into one

coefficient (𝟏 ⇒ 𝟏, 𝟐 ⇒ q/2)  (rare) probability of (yet unhandled) decryption errors

  • Performance results for LWE-Encryption [GFSHB12]
  • Intel/AMD Core 2 Duo@3.00 GHz:
  • 195ms keygen/ 1.52ms enc/ 0.57 ms dec

 reasonably fast (but uses only NTL)

  • Hardware (using a very very expensive FPGAs):
  • Virtex-7 2000T: 320816 LUTs/ 143396 registers/ ~8µs enc

Virtex-7 2000T: 124265LUTs/ 65174 registers/ ~8µs dec  much too costly

slide-49
SLIDE 49

Case Study #2: An Improved Signature Schemes

  • n Ideal Lattices
  • Signature scheme by Lyubashevsky [Lyu12] provable

secure in random oracle model (ROM)

  • Efficiency improvement by a different hardness

assumption: (Decisional) Ring-LWE with “aggressive” parameters

  • Internal values s1,s2 only have -1/0/1 coefficients

instead of using a Gaussian distribution (like in [LPR10]), for other values uniform distributions are sufficient

slide-50
SLIDE 50

Signing and Verification [GLP12]

  • GEN
  • 1. Pick a from 𝑆 = 𝑎𝑞[𝑦]/(xn+1) and s1,s2 from subset R1. Compute t = as1+s2
  • 2. Secret key sk = (s1,s2), Public key pk = (a, t)
  • SIGN(m,sk)

1. Pick y1,y2 from uniformly sampled distribution 𝑆𝑙 from [-k,k] 2. c=H(Transform(r=ay1+y2),m) 3. z1=s1c+y1, z2=s2c+y2 4. If z1, z2 not in 𝑆k-32 goto 1. 5. z2‘=Compress(ay1+y2-z2,z2,p, k-32) 6. Return σ=(z1, z2‘, c)

Review of Operations:

  • Polynomial multiplication

in steps 2,3 (sign), 2 (verify)

  • Aggressive signature size

reduction by

  • Hashing of high-order bits

(transform/compress)

  • Rejection step (only for

signing)

  • VER(σ=(z1,z2‘,c),pk=(a,t), m)

1. If z1,z2‘ not in Rk-32 reject 2. If c=H(Transform(az1+z2‘-tc), m) then accept else reject

slide-51
SLIDE 51

Implementation Results

Lattice-based Signature [GLP12]

  • Implementations on reconfigurable hardware
  • Parameters (p=8383489, n=512, k=214)
slide-52
SLIDE 52

Lattice-based -Cryptography: Research Directions and Future Work

  • More cryptanalysis on lattice-based constructions
  • FFT/NTT techniques to accelerate polynomial multiplication

in 𝑆 = 𝑎𝑞[𝑦]/(xn+1) (required by many lattice-based schemes)

  • High-speed implementations targeting specific processor

instruction sets (vector units, FFT/MAC instructions)

  • Efficient Gaussian sampling on constrained devices
  • Implementation and acceleration of high-level constructions

like homomorphic encryption or IBE

  • CCA2-secure conversions for encryption schemes
slide-53
SLIDE 53

Outline

  • Introduction
  • Alternative Public-Key Cryptosystems (APKC)
  • Practical Considerations of APKCs
  • Case Studies on Lattice-based Cryptography
  • Conclusions
slide-54
SLIDE 54

Conclusions

  • Looking back at the four branches of PQC…

– Code-based encryption schemes are the most mature and practical APKCs today – But lattice-based cryptography looks very promising

  • For deployment in real-world systems, we need to

– Need many more (solid) implementations for efficiency evaluation – Investigate physical security aspects of PQC – Standardize parameters and instances

slide-55
SLIDE 55 Tim Güneysu Hardware Security Group Horst Görtz Institute for IT-Security, Bochum

1/24/2013

Getting Post-Quantum Crypto Algorithms Ready for Deployment

End of ECRYPT II Event: Crypto for 2020

Questions?