1/24/2013
Getting Post-Quantum Crypto Algorithms Ready for Deployment
End of ECRYPT II Event: Crypto for 2020
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
1/24/2013
Getting Post-Quantum Crypto Algorithms Ready for Deployment
End of ECRYPT II Event: Crypto for 2020
Outline
Public-Key Crypto – Situation Today
in fact RSA and ECC
(factorization/dlog) are both closely related
yesterday, both are dead when quantum-computing comes into play
Public-Key Crypto – A Wishlist
cryptosystems to our basket
attack algorithms (e.g., Shor) with quantum computers
comparable to RSA and ECC
Outline
Alternative Public-Key Cryptography
– Code-based – Hash-based – Multivariate-quadratic – Lattice-based
and/or signature schemes
Alternative Public-Key Cryptography (APKC)
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
Alternative Public-Key Cryptography (APKC)
– 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
Outline
– Code-based Cryptography – Hash-based Cryptography – Multivariate-Quadratic-based Cryptography – Lattice-based Cryptography
Disclaimer Slide
A Word of Warning…
does not claim to be complete.
that are suitable to provide evidence on
Code-based Cryptography – Basics
permutation P and a scrambling matrix S (remark: the latter is not required in all cases) Public Key G’=SGP
is known Secret Key G
up by other constructions (e.g., in lattice-based crypto)
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
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
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 kBCode-based Signature Schemes
Courtois, Finiasz, Sendrier (CFS) Signatures
Taxonomy of Code-based Signatures
Original [CFS01] Parallel CFS [F10]
Code-based Signature Schemes
Courtois, Finiasz, Sendrier (CFS) Signatures
Taxonomy of Code-based Signatures
Original [CFS01] Parallel CFS [F10]
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.Key Aspects of Code-based Systems
algorithm for Niederreiter’s scheme
Niederreiter ‘83) CCA2-conversion available
Hints on Efficiency: McEliece vs. Niederreiter
: see next slide
Implementation Results
Niederreiter McEliece [enc] [dec] [enc] [dec] Niederreiter [enc] [dec] McEliece [enc] [dec] Niederreiter [enc] [dec]Outline
– Code-based Cryptography – Hash-based Cryptography – Multivariate-Quadratic-based Cryptography – Lattice-based Cryptography
Hash-based Cryptography – Basics
hash functions
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]
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 kBHash-based Encryption Schemes
Taxonomy of Hash-based Encryption
Key Aspects of Hash-based Systems
(issue with DoS attacks for real-world systems)
(critical in untrusted environments!)
computational complexity
Implementation Results
Results for XMSS with H=20 [BDH11] presented on PQCrypto 2011 Platform: Intel Core i5 M540@2.53GHz; Figure marked with (*) uses AES NI
Outline
– Code-based Cryptography – Hash-based Cryptography – Multivariate-Quadratic-based Cryptography – Lattice-based Cryptography
Multivariate-quadratic Cryptography – Basics
MQ-based Signature Schemes
Oil and Vinegar Stepwise Triangular Systems (STS)
(C)UOV [KPG99, PTBW11] Original OV [Pat97] Hidden-Field EquationsTaxonomy 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]MQ-based Signature Schemes
Oil and Vinegar Stepwise Triangular Systems (STS)
(C)UOV [KPG99, PTBW11] Original OV [Pat97] Hidden-Field EquationsTaxonomy 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]MQ-based Signature Schemes
Oil and Vinegar Stepwise Triangular Systems (STS)
(C)UOV [PTBW11] Original OV [Pat97] Hidden-Field EquationsTaxonomy 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 BitMQ Encryption Schemes
Taxonomy of Multivariate-Quadratic Encryption
Key Aspects of MQ-based Systems
Sign Verify
an AVR microcontroller:
ECC/RSA on the same platform
Implementation Results
Outline
– Multivariate-Quadratic-based Cryptography – Hash-based Cryptography – Code-based Cryptography – Lattice-based Cryptography
Lattice-based Cryptography – Basics
(SVP/CVP) in the worst case
– Unpractical but provably secure – Practical but without proof (GGH/NTRU) – Lately: Ideal lattices can potentially combine both
hash functions, PRFs, identity-based encryption, homomorphic encryption
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]
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]
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?)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
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
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
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 kBKey Aspects of Lattice-based Systems
distributions (not trivial)
Outline
Case Study #1: LWE-Encryption
ideal lattices introduced by Lindner and Peikert in 2010.
distribution and let 𝑞 = 𝑠1 − 𝑏 ∙ 𝑠2. Public key 𝒒 and secret key 𝒔𝟑.
= encode(𝑛) in 𝑆𝑞. The ciphertext is 𝑑1 = 𝑏 ∙ 𝑓1 + 𝑓2, 𝑑2 = 𝑞 ∙ 𝑓1 + 𝑓3 + 𝑛
Review of Operations:
Implementation Aspects and Results
coefficient (𝟏 ⇒ 𝟏, 𝟐 ⇒ q/2) (rare) probability of (yet unhandled) decryption errors
reasonably fast (but uses only NTL)
Virtex-7 2000T: 124265LUTs/ 65174 registers/ ~8µs dec much too costly
Case Study #2: An Improved Signature Schemes
secure in random oracle model (ROM)
assumption: (Decisional) Ring-LWE with “aggressive” parameters
instead of using a Gaussian distribution (like in [LPR10]), for other values uniform distributions are sufficient
Signing and Verification [GLP12]
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:
in steps 2,3 (sign), 2 (verify)
reduction by
(transform/compress)
signing)
1. If z1,z2‘ not in Rk-32 reject 2. If c=H(Transform(az1+z2‘-tc), m) then accept else reject
Implementation Results
Lattice-based Signature [GLP12]
Lattice-based -Cryptography: Research Directions and Future Work
in 𝑆 = 𝑎𝑞[𝑦]/(xn+1) (required by many lattice-based schemes)
instruction sets (vector units, FFT/MAC instructions)
like homomorphic encryption or IBE
Outline
Conclusions
– Code-based encryption schemes are the most mature and practical APKCs today – But lattice-based cryptography looks very promising
– Need many more (solid) implementations for efficiency evaluation – Investigate physical security aspects of PQC – Standardize parameters and instances
1/24/2013
Getting Post-Quantum Crypto Algorithms Ready for Deployment
End of ECRYPT II Event: Crypto for 2020
Questions?