Presentation is loading. Please wait.

Presentation is loading. Please wait.

SPHINCS: practical stateless hash-based signatures

Similar presentations


Presentation on theme: "SPHINCS: practical stateless hash-based signatures"— Presentation transcript:

1 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

2 Digital Signatures are Important!
Software updates E-Commerce … and many others

3 What if…

4 Problem? RSA DL Pairings DH

5 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

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

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

8 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

9 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

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

11 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

12 Advantages of Hash-based Signatures

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

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

15 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

16 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

17 Forward Security

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

19 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

20 SPHINCS: Stateless Practical Hash-based Incredibly Nice Cryptographic Signatures

21 Goals Stateless 128bit Quantum Security Practical Speed
Practical Signature Size

22 How to Eliminate the State

23 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

24 Approach 1: Message Hash
i = Hash(Message); 128bit Quantum Sec. → n = 256 bit Hash [Ber09] → #Indices = → 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)

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

26 Few-Time Signature Schemes

27 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

28 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

29 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!

30 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

31 SPHINCS

32 SPHINCS Signature

33 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)

34 SPHINCS-256

35 SPHINCS-256 Speed Key generation: 3,051,562 cycles
Verification: ,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

36 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

37 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

38 Thank you! Questions?


Download ppt "SPHINCS: practical stateless hash-based signatures"

Similar presentations


Ads by Google