SPHINCS: practical stateless hash-based signatures

Slides:



Advertisements
Similar presentations
Hash Function. What are hash functions? Just a method of compressing strings – E.g., H : {0,1}*  {0,1} 160 – Input is called “message”, output is “digest”
Advertisements

Digital Signatures and Hash Functions. Digital Signatures.
Session 5 Hash functions and digital signatures. Contents Hash functions – Definition – Requirements – Construction – Security – Applications 2/44.
Introduction to Modern Cryptography Homework assignments.
Secure Hashing and DSS Sultan Almuhammadi ICS 454 Principles of Cryptography.
Fall 2010/Lecture 311 CS 426 (Fall 2010) Public Key Encryption and Digital Signatures.
Foundations of Cryptography Lecture 8 Lecturer: Moni Naor.
CSE 597E Fall 2001 PennState University1 Digital Signature Schemes Presented By: Munaiza Matin.
XMSS - A Practical Forward Secure Signature Scheme based on Minimal Security Assumptions J. Buchmann, E. Dahmen, A. Hülsing | TU Darmstadt |
Digital Signatures Slides by Kent Seamons and Tim van der Horst Last Updated: Oct 7, 2013.
Lecture slides prepared for “Computer Security: Principles and Practice”, 2/e, by William Stallings and Lawrie Brown, Chapter 21 “Public-Key Cryptography.
Topic 22: Digital Schemes (2)
EE515/IS523 Think Like an Adversary Lecture 4 Crypto in a Nutshell Yongdae Kim.
Basic Cryptography 1. What is cryptography? Cryptography is a mathematical method of protecting information –Cryptography is part of, but not equal to,
CS426Fall 2010/Lecture 51 Computer Security CS 426 Lecture 5 Cryptography: Cryptographic Hash Function.
Hashes Lesson Introduction ●The birthday paradox and length of hash ●Secure hash function ●HMAC.
| TU Darmstadt | Andreas Hülsing | 1 Optimal Parameters for XMSS MT Andreas Hülsing, Lea Rausch, and Johannes Buchmann.
COM 5336 Lecture 8 Digital Signatures
Use or disclosure of the contents of this page is restricted by the terms on the notice page Intel Strategy for Post Quantum Crypto Ernie Brickell Presentation.
Forward Secure Signatures on Smart Cards A. Hülsing, J. Buchmann, C. Busold | TU Darmstadt | A. Hülsing | 1.
| TU Darmstadt | Andreas Hülsing | 1 W-OTS + – Shorter Signatures for Hash-Based Signature Schemes Andreas Hülsing.
Data Integrity / Data Authentication. Definition Authentication (Signature) algorithm - A Verification algorithm - V Authentication key – k Verification.
SPHINCS: Practical Stateless Hash-based Signatures
CS/ECE 578 Cyber Security Dr. Attila Altay Yavuz
Cryptographic Hash Function
Public Key Encryption and Digital Signatures
CS/ECE 578 Cyber-Security
Digital signatures.
Digital Signature Schemes and the Random Oracle Model
Practical Aspects of Modern Cryptography
Cryptographic Hash Functions Part I
Cryptography Lecture 13.
Long-term secure signatures for the IoT
Hash-based signatures & Hash-and-sign without collision-resistance
ICS 454 Principles of Cryptography
Cryptography Lecture 19.
Mitigating Multi-Target-Attacks in Hash-based Signatures
Digital Signature Schemes and the Random Oracle Model
CS/ECE 478 Introduction to Network Security
Introduction to Symmetric-key and Public-key Cryptography
Hash-based Signatures
CS/ECE 478 Introduction to Network Security Dr. Attila Altay Yavuz
Hash-based Signatures
SPHINCS: practical stateless hash-based signatures
Towards A Standard for Practical Hash-based Signatures
Data Integrity: Applications of Cryptographic Hash Functions
XMSS Practical Hash-Based Signatures Andreas Hülsing joint work with Johannes Buchmann and Erik Dahmen | TU Darmstadt | Andreas Hülsing.
ICS 454 Principles of Cryptography
DTTF/NB479: Dszquphsbqiz Day 27
CS 394B Introduction Marco Canini.
Cryptographic Hash Functions Part I
Hash-based Primitives Credits: Dr. Peng Ning and Dr. Adrian Perrig
Chapter -7 CRYPTOGRAPHIC HASH FUNCTIONS
CIS 4930/6930 – Privacy-Preserving and Trustworthy Cyber-Systems Dr
One Time Signature.
Lecture 4.1: Hash Functions, and Message Authentication Codes
SPHINCS: practical stateless hash-based signatures
Introduction to Modern Cryptography
SPHINCS+ Submission to the NIST post-quantum project
Cryptography Lecture 14.
Hashing Hash are the auxiliary values that are used in cryptography.
Cryptography Lecture 13.
An attempt to simplify security arguments for hash-based signatures
Cryptography Lecture 13.
Cryptography Lecture 15.
Cryptography Lecture 18.
Lecture 4: Hash Functions
Hash Function Requirements
Digital Signature Standard (DSS)
Blockchains Lecture 4.
Presentation transcript:

SPHINCS: practical stateless hash-based signatures D. J. Bernstein, D. Hopwood, A. Hülsing, T. Lange, R. Niederhagen, L. Papachristodoulou, P. Schwabe, and Z. Wilcox O'Hearn

Digital Signatures are Important! Software updates E-Commerce … and many others 23-11-2018

What if… 23-11-2018

Problem? RSA DL Pairings DH … 23-11-2018

IBM 2012: „…optimism about superconducting qubits and the possibilities for a future quantum computer are rapidely growing.“ „Want to factor a 2000-bit number? Quantum computer runtime = 24h Number of physical qubits required = 500M Power required ~ dedicated nuclear power plant Lead time ~5 (research) + 10 (development) years Dollar required ~1 billion (CERN ~ 10 billion)“ Matteo Mariantoni, PQ-Crypto 2014 23-11-2018

Post-Quantum Signatures Lattice, MQ, Coding Signature and/or key sizes Runtimes Secure parameters 23-11-2018

Hash-based Signature Schemes [Mer89] Post quantum Only secure hash function Security well understood Fast Stateful 23-11-2018

Lamport-Diffie OTS [Lam79] Message M = b1,…,bn, OWF H = n bit SK PK Sig * sk1,0 sk1,1 skn,0 skn,1 Mux b1 Mux b2 Mux bn H H H H H H pk1,0 pk1,1 pkn,0 pkn,1 sk1,b1 skn,bn 23-11-2018

Merkle’s Hash-based Signatures Digital Signature PK SIG = (i=2, , , , , ) Encryption H OTS H H Cryptography H H H H H H H H H Legality H H H Hash Function OTS OTS OTS OTS OTS OTS OTS OTS MAC SK 23-11-2018

Known Improvements [BGD+06] Pseudorandom Key Generation: SK Hypertree: Key generation (== Building Trees on one path) O(2h) → O(d2h/d) F 23-11-2018

Known Improvements, cont’d Winternitz OTS [Mer‘89, …, BDE+11,Hül13] Smaller Sigs Minimum Security Assumptions Minimum Security Assumptions / Collision-Resilient Scheme [BDH11] XMSS requires only PRF & SPR 23-11-2018

Advantages of Hash-based Signatures 23-11-2018

RSA – DSA – EC-DSA... RSA, DH, SVP, MQ, … Intractability Assumption Collision resistant hash function RSA, DH, SVP, MQ, … Digital signature scheme 23-11-2018

Early Warning System Hash-function properties stronger / easier to break Collision-Resistance Assumption / Attacks 2nd-Preimage-Resistance One-way Pseudorandom weaker / harder to break 23-11-2018

Early Warning System Attacks on Hash Functions MD5 Collisions (theo.) MD5 Collisions (practical!) MD5 & SHA-1 No (Second-) Preimage Attacks! SHA-1 Collisions (theo.) 2004 2005 2008 2012 23-11-2018

Easy Redundancy Hash-Combiner - Collision-Resistance / 2nd-Preimage-Resistance: - PRF: No sudden break Replaces double signature Signature size only grows by h*n Runtime ~ doubled 23-11-2018

Forward Security 23-11-2018

Forward Security - cont‘d pk classical sk pk forward sec sk sk1 sk2 ski skT time t1 t2 ti tT Key gen. 23-11-2018

Long-Standing Problem: Statefulness No problem in many cases. Qualified signatures, Keys on smartcard, ... Necessary for forward-security! But: Key back-ups undermine security Parallel use of key problematic Multi-threading scenarios, Load balancing... Do not fit standard API 23-11-2018

SPHINCS: Stateless Practical Hash-based Incredibly Nice Cryptographic Signatures 23-11-2018

Goals Stateless 128bit Quantum Security Practical Speed Practical Signature Size 23-11-2018

How to Eliminate the State 23-11-2018

Cryptography Digital Signature Encryption Legality Hash Function MAC Straight Forward Run MSS without State Cryptography Digital Signature Encryption Hash Function Legality OTS H PK SK SIG = (i=2, , , , , ) MAC 23-11-2018

Approach 1: Message Hash i = Hash(Message); 128bit Quantum Sec. → n = 256 bit Hash [Ber09] → #Indices = 2256 → h = n = 256 h depends on n! Best we can do: tSign ≈ n3 / log n tHash= 2M tHash ≈ 15 min* |Sig| ≈ n3 / log n > 256 kb * (OpenSSL SHA2) 23-11-2018

Approach 2: Random Index 128bit Quantum Sec. → Sampled by Signer → #Indices determined by collision prob. → #Indices = 2256 → h = 256 Impossible to make this efficient, again… BUT h independent of n Statistical collision probability NOT collision resistance 23-11-2018

Few-Time Signature Schemes 23-11-2018

Recap LD-OTS Message M = b1,…,bn, OWF H = n bit SK PK Sig H H H H H H * sk1,0 sk1,1 skn,0 skn,1 Mux b1 Mux b2 Mux bn H H H H H H pk1,0 pk1,1 pkn,0 pkn,1 sk1,b1 skn,bn 23-11-2018

HORS [RR02] Message M = b1,…,bm, OWF H = n bit Parameters t=2a,k, with m = ka (typical a=16, k=32) SK PK M Sig * sk1 sk2 skt-1 skt H H H H H H pk1 pk1 pkt-1 pkt b1 b2 ba ba+1 bka-2 bka-1 bka Mux Mux i1 ik ski1 skik 23-11-2018

HORS Security Message M = Hash(msg) M mapped to k element index set Mi є {1,..,t}k Each signature publishes k out of t secrets Either break one-wayness or… r-Subset-Resilience: After seeing index sets Mij for r messages msgj, 1 <= j <= r, hard to find msgr+1 ≠ msgj such that Mir+1 є U1<=j<=r Mij . Best generic attack: Succr-SSR(A,q) = q(rk / t)k → Security shrinks with each signature! 23-11-2018

HORST Using HORS with MSS requires adding PK (tn) to MSS signature. HORST: Build a Merkle Tree on top of HORS-PK PK = Root Publish Authentication Paths for HORS signature values PK can be computed from Sig With optimizations: tn → (k(log t − x + 1) + 2x)n E.g. SPHINCS-256: 2 MB → 16 KB 23-11-2018

SPHINCS 23-11-2018

SPHINCS Signature 23-11-2018

SPHINCS Key Ideas Use HORST key pairs to sign messages Authenticate HORST key pairs using hypertree (of MSS trees) Use random index Select Parameters such that sumr є [0,∞)(Pr[r-times index collision] * Succr-SSR(A)) = negl(n) 23-11-2018

SPHINCS-256 23-11-2018

SPHINCS-256 Speed Key generation: 3,051,562 cycles Verification: 1,369,060 cycles Signature: 47,466,005 cycles Still hundreds of messages per second on a modern 4-core 3.5GHz Intel CPU (13ms / Sig) Remember: Straight Forward tSign ≈ 15 min* |Sig| > 256 kb 23-11-2018

In Paper (http://eprint.iacr.org/2014/795) Standard model security reduction without collision resistance Complexity of generic quantum attacks Efficient fixed-input length hashing Optimized implementation 23-11-2018

Conclusion If you can live with a state: Go for XMSS. Otherwise: Go for Sphincs-256! First stateless signature scheme with post-quantum secure parameters Practical Speed and Sizes 23-11-2018

Thank you! Questions? 23-11-2018