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

Advanced Security Constructions and Key Management Class 16.
Digital Signatures Good properties of hand-written signatures: 1. Signature is authentic. 2. Signature is unforgeable. 3. Signature is not reusable (it.
Session 5 Hash functions and digital signatures. Contents Hash functions – Definition – Requirements – Construction – Security – Applications 2/44.
The School of Electrical Engineering and Computer Science (EECS) CS/ECE Network Security Hash-based Primitives Credits: Dr. Peng Ning and Dr. Adrian Perrig.
Introduction to Modern Cryptography Homework assignments.
Asymmetric Cryptography part 1 & 2 Haya Shulman Many thanks to Amir Herzberg who donated some of the slides from
Announcements: 1. HW6 due now 2. HW7 posted Questions? This week: Discrete Logs, Diffie-Hellman, ElGamal Discrete Logs, Diffie-Hellman, ElGamal Hash Functions.
Chapter 7-1 Signature Schemes.
Authenticating streamed data in the presence of random packet loss March 17th, Philippe Golle, Stanford University.
Security Arguments for Digital Signatures and Blind Signatures Journal of Cryptology, (2000) 13: Authors: D. Pointcheval and J. Stern Presented.
Security Arguments for Digital Signatures and Blind Signatures Journal of Cryptology, (2000) 13: Authors: D. Pointcheval and J. Stern Presented.
Foundations of Cryptography Lecture 8 Lecturer: Moni Naor.
XMSS - A Practical Forward Secure Signature Scheme based on Minimal Security Assumptions J. Buchmann, E. Dahmen, A. Hülsing | TU Darmstadt |
Bob can sign a message using a digital signature generation algorithm
1 Lect. 15 : Digital Signatures RSA, ElGamal, DSA, KCDSA, Schnorr.
CS555Topic 211 Cryptography CS 555 Topic 21: Digital Schemes (1)
Digital Signatures Good properties of hand-written signatures: 1. Signature is authentic. 2. Signature is unforgeable. 3. Signature is not reusable (it.
Hash Functions A hash function H accepts a variable-length block of data M as input and produces a fixed-size hash value h = H(M) Principal object is.
Lecture 4.1: Hash Functions, and Message Authentication Codes CS 436/636/736 Spring 2015 Nitesh Saxena.
Cryptography Lecture 9 Stefan Dziembowski
Identity based signature schemes by using pairings Parshuram Budhathoki Department of Mathematical Science FAU 02/21/2013 Cyber Security Seminar, FAU.
Prepared by Dr. Lamiaa Elshenawy
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
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
DTTF/NB479: Dszquphsbqiz Day 26
B504/I538: Introduction to Cryptography
CS/ECE 578 Cyber-Security
Digital signatures.
Topic 14: Random Oracle Model, Hashing Applications
Digital Signature Schemes and the Random Oracle Model
Cryptographic Hash Functions Part I
Long-term secure signatures for the IoT
Hash-based signatures & Hash-and-sign without collision-resistance
ICS 454 Principles of Cryptography
Broadcast Encryption Amos Fiat & Moni Naor Advances in Cryptography - CRYPTO ’93 Proceeding, LNCS, Vol. 773, 1994, pp Multimedia Security.
Mitigating Multi-Target-Attacks in Hash-based Signatures
Digital Signature Schemes and the Random Oracle Model
SPHINCS: practical stateless hash-based signatures
CS/ECE 478 Introduction to Network Security
Introduction to Provable Security
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
Digital Signatures.
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
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
The power of Pairings towards standard model security
An attempt to simplify security arguments for hash-based signatures
Lecture 4: Hash Functions
Cryptography Lecture 26.
Presentation transcript:

Hash-based Signatures Andreas Hülsing

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

Hash-based Signature Schemes [Mer89] Post quantum Only secure hash function Security well understood Fast 1-12-2018

RSA – DSA – EC-DSA... RSA, DH, SVP, MQ, … Intractability Assumption Cryptographic hash function RSA, DH, SVP, MQ, … Digital signature scheme 1-12-2018

(Hash) function families 𝐻 𝑛 ≔ ℎ 𝑘 : {0,1} 𝑚 𝑛 → {0,1} 𝑛 𝑚(𝑛)≥𝑛 „efficient“ {0,1} 𝑛 ℎ 𝑘 {0,1} 𝑚 𝑛

One-wayness 𝐻 𝑛 ≔ ℎ 𝑘 : {0,1} 𝑚 𝑛 → {0,1} 𝑛 ℎ 𝑘 $ 𝐻 𝑛 𝑥 $ {0,1} 𝑚 𝑛 𝐻 𝑛 ≔ ℎ 𝑘 : {0,1} 𝑚 𝑛 → {0,1} 𝑛 ℎ 𝑘 $ 𝐻 𝑛 𝑥 $ {0,1} 𝑚 𝑛 𝑦 𝑐 ← ℎ 𝑘 𝑥 Success if ℎ 𝑘 𝑥 ∗ = 𝑦 𝑐 𝑦 𝑐 ,𝑘 𝑥 ∗

Collision resistance 𝐻 𝑛 ≔ ℎ 𝑘 : {0,1} 𝑚 𝑛 → {0,1} 𝑛 ℎ 𝑘 $ 𝐻 𝑛 𝐻 𝑛 ≔ ℎ 𝑘 : {0,1} 𝑚 𝑛 → {0,1} 𝑛 ℎ 𝑘 $ 𝐻 𝑛 Success if ℎ 𝑘 𝑥 1 ∗ = ℎ 𝑘 𝑥 2 ∗ 𝑘 (𝑥 1 ∗ , 𝑥 2 ∗ )

Second-preimage resistance 𝐻 𝑛 ≔ ℎ 𝑘 : {0,1} 𝑚 𝑛 → {0,1} 𝑛 ℎ 𝑘 $ 𝐻 𝑛 𝑥 𝑐 $ {0,1} 𝑚 𝑛 Success if ℎ 𝑘 𝑥 𝑐 = ℎ 𝑘 𝑥 ∗ 𝑥 𝑐 ,𝑘 𝑥 ∗

Undetectability 𝐻 𝑛 ≔ ℎ 𝑘 : {0,1} 𝑚 𝑛 → {0,1} 𝑛 ℎ 𝑘 $ 𝐻 𝑛 𝑏 $ {0,1} If 𝑏=1 𝑥 $ {0,1} 𝑚 𝑛 𝑦 𝑐 ← ℎ 𝑘 (𝑥) else 𝑦 𝑐 $ {0,1} 𝑛 𝑦 𝑐 ,𝑘 𝑏*

Pseudorandomness 𝐻 𝑛 ≔ ℎ 𝑘 : {0,1} 𝑚 𝑛 → {0,1} 𝑛 𝑏 1 𝑛 𝑥 If 𝑏 = 1 𝐻 𝑛 ≔ ℎ 𝑘 : {0,1} 𝑚 𝑛 → {0,1} 𝑛 1 𝑛 𝑏 𝑥 If 𝑏 = 1 𝑔 $ 𝐻 𝑛 else 𝑔 $ 𝑈 𝑚 𝑛 ,𝑛 g 𝑦 = 𝑔(𝑥) 𝑏*

Hash-function properties stronger / easier to break Collision-Resistance Assumption / Attacks 2nd-Preimage-Resistance One-way Pseudorandom weaker / harder to break 1-12-2018

Attacks on Hash Functions MD5 Collisions (theo.) MD5 Collisions (practical!) MD5 & SHA-1 No (Second-) Preimage Attacks! SHA-1 Collisions (theo.) 2004 2005 2008 2015 1-12-2018

Basic Construction 1-12-2018

Lamport-Diffie OTS [Lam79] Message M = b1,…,bm, OWF H = n bit SK PK Sig * sk1,0 sk1,1 skm,0 skm,1 Mux b1 Mux b2 Mux bm H H H H H H pk1,0 pk1,1 pkm,0 pkm,1 sk1,b1 skm,bm 1-12-2018

EU-CMA for OTS 𝑠𝑘 𝑝𝑘, 1 𝑛 𝑀 SIGN (𝜎,𝑀) 1. Dezember 2018 EU-CMA for OTS 𝑝𝑘, 1 𝑛 SIGN 𝑠𝑘 𝑀 (𝜎,𝑀) ( 𝜎 ∗ , 𝑀 ∗ ) Success if 𝑀 ∗ ≠𝑀 and Verify 𝑝𝑘, 𝜎 ∗ , 𝑀 ∗ = Accept 23.09.2013 | TU Darmstadt | Andreas Hülsing | 15 |

Security Theorem: If H is one-way then LD-OTS is one-time eu-cma- secure.

Reduction Input: 𝑦 𝑐 ,𝑘 Set 𝐻← ℎ 𝑘 Replace random pki,b H H H H H H sk1,0 sk1,1 skm,0 skm,1 H H H H H H pk1,0 pk1,1 𝑦 𝑐 pkm,0 pkm,1

Reduction Input: 𝑦 𝑐 ,𝑘 Set 𝐻← ℎ 𝑘 Replace random pki,b Adv. Message: M = b1,…,bm If bi = b return fail else return Sign(M) Input: 𝑦 𝑐 ,𝑘 Set 𝐻← ℎ 𝑘 Replace random pki,b ? sk1,0 sk1,1 skm,0 skm,1 Mux b1 Mux b2 Mux bm H H H H H pk1,0 pk1,1 𝑦 𝑐 pkm,0 pkm,1 sk1,b1 skm,bm

Reduction Input: 𝑦 𝑐 ,𝑘 Set 𝐻← ℎ 𝑘 Choose random pki,b Forgery: M* = b1*,…,bm*, 𝜎= 𝜎 1 ,…, 𝜎 𝑚 If bi ≠ b return fail Else return 𝜎 𝑖 ∗ Input: 𝑦 𝑐 ,𝑘 Set 𝐻← ℎ 𝑘 Choose random pki,b ? sk1,0 sk1,1 𝜎 𝑖 ∗ 𝜎 𝑖 ∗ skm,0 skm,1 H H H H H pk1,0 pk1,1 𝑦 𝑐 pkm,0 pkm,1

Reduction - Analysis Abort in two cases: 1. bi = b probability ½ : b is a random bit 2. bi ≠ b probability 1 - 1/m: At least one bit has to flip as M* ≠ M Reduction succeeds with A‘s success probability times 1/2m.

Merkle’s Hash-based Signatures PK SIG = (i=2, , , , , ) H OTS H H H H H H H H H H H H H H OTS OTS OTS OTS OTS OTS OTS OTS SK 1-12-2018

Security Theorem: MSS is eu-cma-secure if OTS is a one-time eu-cma secure signature scheme and H is a random element from a family of collision resistant hash functions.

Reduction Input: 𝑘, 𝑝𝑘 𝑂𝑇𝑆 Choose random 0≤𝑖< 2 ℎ Generate key pair using 𝑝𝑘 𝑂𝑇𝑆 as 𝑖th OTS public key and 𝐻← ℎ 𝑘 Answer all signature queries using sk or sign oracle (for index 𝑖) Extract OTS-forgery or collision from forgery

Reduction (Step 4, Extraction) Forgery: ( 𝑖 ∗ ,𝜎 𝑂𝑇𝑆 ∗ , 𝑝𝑘 𝑂𝑇𝑆 ∗ , AUTH) If 𝑝𝑘 𝑂𝑇𝑆 ∗ equals OTS pk we used for 𝑖 ∗ OTS, we got an OTS forgery. Can only be used if 𝑖 ∗ =𝑖. Else adversary used different OTS pk. Hence, different leaves. Still same root! Pigeon-hole principle: Collision on path to root.

Winternitz-OTS

Recap LD-OTS [Lam79] Message M = b1,…,bm, OWF H = n bit SK PK Sig H H * sk1,0 sk1,1 skm,0 skm,1 Mux b1 Mux b2 Mux bn H H H H H H pk1,0 pk1,1 pkm,0 pkm,1 sk1,b1 skm,bm

LD-OTS in MSS Verification: 1. Verify 2. Verify authenticity of SIG = (i=2, , , , , ) Verification: 1. Verify 2. Verify authenticity of We can do better!

Trivial Optimization Message M = b1,…,bm, OWF H = n bit SK H H H H H H * SK sk1,0 sk1,1 skm,0 skm,1 Mux b1 Mux ¬b1 Mux bm Mux ¬bm H H H H H H PK pk1,0 pk1,1 pkm,0 pkm,1 Sig sig1,0 sig1,1 sigm,0 sigm,1

Optimized LD-OTS in MSS X SIG = (i=2, , , , , ) Verification: 1. Compute from 2. Verify authenticity of Steps 1 + 2 together verify

Germans love their „Ordnung“! Message M = b1,…,bm, OWF H SK: sk1,…,skm,skm+1,…,sk2m PK: H(sk1),…,H(skm),H(skm+1),…,H(sk2m) Encode M: M‘ = M||¬M = b1,…,bm,¬b1,…,¬bm (instead of b1, ¬b1,…,bm, ¬bm ) ski , if bi = 1 Sig: sigi = H(ski) , otherwise Checksum with bad performance!

Optimized LD-OTS Message M = b1,…,bm, OWF H SK: sk1,…,skm,skm+1,…,skm+log m PK: H(sk1),…,H(skm),H(skm+1),…,H(skm+log m) Encode M: M‘ = b1,…,bm,¬ 1 𝑚 𝑏 𝑖 ski , if bi = 1 Sig: sigi = H(ski) , otherwise IF one bi is flipped from 1 to 0, another bj will flip from 0 to 1

1. Dezember 2018 Function chains Function family: 𝐻 𝑛 ≔ ℎ 𝑘 : {0,1} 𝑛 → {0,1} 𝑛 ℎ 𝑘 $ 𝐻 𝑛 Parameter 𝑤 Chain: c0(x) = x 𝒄 𝒘−𝟏 (𝑥) 𝑐1(𝑥) = ℎ 𝑘 (𝑥) |

1. Dezember 2018 WOTS Winternitz parameter w, security parameter n, message length m, function family 𝐻 𝑛 Key Generation: Compute 𝑙, sample ℎ 𝑘 c0(sk1) = sk1 pk1 = cw-1(sk1) c1(sk1) One promissing group of candidates are hash-based signature schemes They start from an OTS – a signature scheme where a key pair can only be used for one signature. The central idea – proposed by Merkle - is to authenticate many OTS keypairs using a binary hash tree These schemes have many advantages over the beforementioned Quantum computers do not harm their security – the best known quantum attack is Grovers algorithm – allowing exhaustiv search in a set with n elements in time squareroot of n using log n space. They are provably secure in the standard model And they can be instantiated using any secure hash function. On the downside, they produce long signatures. c1(skl ) pkl = cw-1(skl ) c0(skl ) = skl |

WOTS Signature generation 1. Dezember 2018 WOTS Signature generation M b1 b2 b3 b4 … … … … … … … bm‘ bm‘+1 bm‘+2 … … bl c0(sk1) = sk1 pk1 = cw-1(sk1) C σ1=cb1(sk1) Signature: σ = (σ1, …, σl ) Well, this work is concerned with the OTS. There are several OTS schemes. LD, Merkle-OTS which is a specific instance of the W-OTS, the BM-OTS and Biba and HORS. The most interesting one is the Winternitz OTS as it allows for a time-memory trade-off and even more important - It is possible to compute the public verification key given a signature. This reduces the signature size of a hash based signature scheme as normaly the public key of the OTS has to be included in a signature of the scheme. Now for WOTS this isn‘t necessary anymore. pkl = cw-1(skl ) c0(skl ) = skl σl =cbl (skl ) |

WOTS Signature Verification 1. Dezember 2018 WOTS Signature Verification Verifier knows: M, w b1 b2 b3 b4 … … … … … … … bm‘ bm‘+1 bl 1+2 … … bl 𝒄 𝟏 (σ1) 𝒄 𝟑 (σ1) pk1 =? σ1 𝒄 𝟐 (σ1) 𝒄 𝒘−𝟏− 𝒃 𝟏 (σ1) Signature: σ = (σ1, …, σl ) Well, this work is concerned with the OTS. There are several OTS schemes. LD, Merkle-OTS which is a specific instance of the W-OTS, the BM-OTS and Biba and HORS. The most interesting one is the Winternitz OTS as it allows for a time-memory trade-off and even more important - It is possible to compute the public verification key given a signature. This reduces the signature size of a hash based signature scheme as normaly the public key of the OTS has to be included in a signature of the scheme. Now for WOTS this isn‘t necessary anymore. pkl =? σl 𝒄 𝒘−𝟏− 𝒃 𝒍 (σl ) |

WOTS Function Chains For 𝑥∈ 0,1 𝑛 define 𝑐 0 𝑥 =𝑥 and

WOTS Security Theorem (informally): 1. Dezember 2018 WOTS Security Theorem (informally): W-OTS is strongly unforgeable under chosen message attacks if 𝐻 𝑛 is a collision resistant family of undetectable one-way functions. W-OTS$ is existentially unforgeable under chosen message attacks if 𝐻 𝑛 is a pseudorandom function family. W-OTS+ is strongly unforgeable under chosen message attacks if 𝐻 𝑛 is a 2nd-preimage resistant family of undetectable one-way functions. In our work we showed that we can slightly change the original WOTS construction, such that it uses a function family instead of the hash function family. The resulting scheme is existentially unforgeable under chosen message attacks, if the function family is pseudorandom. This result has two implications: |

XMSS

XMSS Tree: Uses bitmasks Leafs: Use binary tree with bitmasks OTS: WOTS+ Mesage digest: Randomized hashing Collision-resilient -> signature size halved bi

Multi-Tree XMSS Uses multiple layers of trees -> Key generation (= Building first tree on each layer) Θ(2h) → Θ(d*2h/d) -> Allows to reduce worst-case signing times Θ(h/2) → Θ(h/2d)

How to Eliminate the State

Protest? 1-12-2018

Few-Time Signature Schemes 1-12-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 1-12-2018

HORS [RR02] Message M, OWF H, CRHF H’ = n bit Parameters t=2a,k, with m = ka (typical a=16, k=32) SK PK * sk1 sk2 skt-1 skt H H H H H H pk1 pk1 pkt-1 pkt 1-12-2018

HORS mapping function Message M, OWF H, CRHF H’ = n bit Parameters t=2a,k, with m = ka (typical a=16, k=32) * M H’ b1 b2 ba bar i1 ik 1-12-2018

HORS Message M, OWF H, CRHF H’ = n bit Parameters t=2a,k, with m = ka (typical a=16, k=32) * SK sk1 sk2 skt-1 skt H H H H H H PK pk1 pk1 pkt-1 pkt H’(M) b1 b2 ba ba+1 bka-2 bka-1 bka Mux Mux i1 ik ski1 skik 1-12-2018

HORS Security 𝑀 mapped to 𝑘 element index set 𝑀 𝑖 ∈ {1,…,𝑡} 𝑘 Each signature publishes 𝑘 out of 𝑡 secrets Either break one-wayness or… r-Subset-Resilience: After seeing index sets 𝑀 𝑗 𝑖 for 𝑟 messages 𝑚𝑠𝑔 𝑗 , 1 ≤𝑗≤𝑟, hard to find 𝑚𝑠𝑔 𝑟+1 ≠ 𝑚𝑠𝑔 𝑗 such that 𝑀 𝑟+1 𝑖 ∈ ⋃ 1 ≤𝑗≤𝑟 𝑀 𝑗 𝑖 . Best generic attack: Succr-SSR(𝐴,𝑞) = 𝑞 𝑟𝑘 𝑡 𝑘 → Security shrinks with each signature! 1-12-2018

HORST Using HORS with MSS requires adding PK (tn) to MSS signature. HORST: Merkle Tree on top of HORS-PK New 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 Use randomized message hash 1-12-2018

SPHINCS Stateless Scheme XMSSMT + HORST + (pseudo-)random index Collision-resilient Deterministic signing SPHINCS-256: 128-bit post-quantum secure Hundrest of signatures / sec 41 kb signature 1 kb keys

Thank you! Questions? For references & further literature see https://huelsing.wordpress.com/hash-based-signature-schemes/literature/ 1-12-2018