for hash based signatures
play

for hash-based signatures Andreas Hlsing Eindhoven University of - PowerPoint PPT Presentation

Simplified security arguments for hash-based signatures Andreas Hlsing Eindhoven University of Technology The quantum threat Shors algorithm breaks RSA, (EC)DSA, (EC)DH, Grovers algorithm asymptotically reduces complexity of


  1. Simplified security arguments for hash-based signatures Andreas Hülsing Eindhoven University of Technology

  2. The quantum threat • Shor’s algorithm breaks RSA, (EC)DSA, (EC)DH,… • Grover’s algorithm asymptotically reduces complexity of brute-force search attacks by a square-root factor. 18.06.2019 https://huelsing.net 2

  3. Why care today • EU launched a one billion Euro project on quantum technologies • Similar range is spent in China • US administration passed a bill on spending $1.275 billion US dollar on quantum computing research • Google , IBM , Microsoft , Alibaba , and others run their own research programs. 18.06.2019 https://huelsing.net 3

  4. It‘s a question of risk assessment 18.06.2019 https://huelsing.net 4

  5. Real world cryptography development Select best Integrate Analyze Develop Implement systems and systems into Role out secure Analyze security implementation systems systems standardize products & products security them protocols 18.06.2019 https://huelsing.net 5

  6. Who would store all encrypted data traffic? That must be expensive! 18.06.2019 https://huelsing.net 6

  7. Long-lived systems • Development time easily 10+ years • Lifetime easily 10+ years • At least make sure you got a secure update channel! 18.06.2019 https://huelsing.net 7

  8. Hash-based signatures [Lam79,Mer89] No new hardness assumptions* Provably (post-quantum) secure if (post-quantum) secure hash function is used Basic concept extremely easy Stateful * We only assume hash functions do not show non-random behaviour. 18.06.2019 https://huelsing.net 8

  9. Basic construction 18.06.2019 https://huelsing.net 9

  10. Lamport OTS [Lam79] Message M = b1,…,bm, OWF H = n bit * SK sk 1,0 sk 1,1 sk m,0 sk m,1 H H H H H H PK pk 1,0 pk 1,1 pk m,0 pk m,1 b1 Mux b2 Mux bm Mux Sig sk 1,b1 sk m,bm 18.06.2019 https://huelsing.net 10

  11. Merkle’s Hash-based Signatures PK SIG = ( i=2 , , , , , ) H H H OTS H H H H H H H H H H H H OTS OTS OTS OTS OTS OTS OTS OTS SK 18.06.2019 https://huelsing.net 11

  12. Winternitz-OTS 18.06.2019 https://huelsing.net 12

  13. Lamport-OTS in MSS SIG = ( i=2 , , , , , ) Verification: 1. Verify 2. Verify authenticity of We can do better! 18.06.2019 https://huelsing.net 13

  14. WOTS in MSS X SIG = ( i=2 , , , , , ) Verification: 1. Compute from 2. Verify authenticity of Steps 1 + 2 together verify 18.06.2019 https://huelsing.net 14

  15. Function chains Hash function ℎ ∶ {0,1} 𝑜 → {0,1} 𝑜 Parameter 𝑥 Chain: 𝑑 𝑗 𝑦 = ℎ 𝑑 𝑗−1 𝑦 = ℎ ∘ ℎ ∘ ⋯ ∘ ℎ(𝑦) i-times c 0 ( x ) = x 𝒅 𝒙−𝟐 (𝑦) 𝑑 1 (𝑦) = ℎ(𝑦) 18.06.2019 https://huelsing.net 15

  16. WOTS Winternitz parameter w (usually a power of 2), security parameter n , message length m , hash function ℎ Key Generation: Compute 𝑚 , sample ℎ 𝑙 pk 1 = c w -1 (sk 1 ) c 0 (sk 1 ) = sk 1 c 1 (sk 1 ) c 1 (sk l pk l = c w -1 (sk l l ) l ) c 0 (sk l l ) = sk l l 18.06.2019 https://huelsing.net 16

  17. WOTS Signature generation M b 1 b 2 b 3 b 4 b m‘ … … b l b m ‘ +1 b m‘+2 … … … … … … … pk 1 = c w -1 (sk 1 ) c 0 (sk 1 ) = sk 1 C σ 1 = c b1 (sk 1 ) Signature: σ = ( σ 1 , …, σ l ) pk l = c w -1 (sk l l ) σ l = c b l (sk l ) c 0 (sk l l ) = sk l l 18.06.2019 https://huelsing.net 17

  18. WOTS Signature Verification Verifier knows: M, w b 1 b 2 b 3 b 4 b m‘ … … b l b m‘+1 b l 1+2 … … … … … … … 𝒅 𝟐 ( σ 1 ) 𝒅 𝟒 ( σ 1 ) pk 1 = ? σ 1 𝒅 𝟑 ( σ 1 ) 𝒅 𝒙−𝟐−𝒄 𝟐 ( σ 1 ) Signature: σ = ( σ 1 , …, σ l ) pk l = ? 𝒅 𝒙−𝟐−𝒄 𝒎 ( σ l ) σ l 18.06.2019 https://huelsing.net 18

  19. Multi-Tree MSS 18.06.2019 https://huelsing.net 19

  20. Multi-Tree MSS / Hypertree Uses multiple layers of trees to reduce key generation time -> Key state generation & stateless signing (= Building one tree on each layer) Θ 2 ℎ → Θ 𝑒2 ℎ/𝑒 -> Worst-case stateful signing times Θ ℎ/2 → Θ ℎ/2𝑒 -> Increases signature size by d-1 one-time signatures 18.06.2019 https://huelsing.net 20

  21. SPHINCS Joint work with Daniel J. Bernstein, Daira Hopwood, Tanja Lange, Ruben Niederhagen, Louiza Papachristodoulou, Michael Schneider, Peter Schwabe, and Zooko Wilcox- O’Hearn 21.06.2019 https://huelsing.net 21

  22. Stateless hash-based signatures [NY89,Gol87,Gol04] OTS Goldreich’s approach [Gol04]: Security parameter 𝜇 = 128 OTS OTS Use binary tree as in Merkle, but... • …for security OTS OTS • pick index i at random; • requires huge tree to avoid index OTS OTS collisions (e.g., height h = 2𝜇 = 256 ). • …for efficiency: • use binary certification tree of OTS key pairs (= Hypertree with 𝑒 = ℎ), • all OTS secret keys are OTS OTS generated pseudorandomly. 18-6-2019 PAGE 22

  23. SPHINCS [BHH + 15] • Select index pseudo-randomly • Use a few-time signature key-pair on leaves to sign messages • Few index collisions allowed • Allows to reduce tree height • Use hypertree: Use d << h. 18.06.2019 https://huelsing.net 23

  24. Security arguments 18.06.2019 https://huelsing.net 24

  25. Requirements Reductions should lead to • collision-resilience, • multi-target attack protection, • tight security reductions, and allow for • easy verification, and • maintainability. 18.06.2019 https://huelsing.net 25

  26. Multi-target attacks • WOTS & Lamport need hash function ℎ to be one-way • Hypertree of total height 60 with WOTS (w=16) leads > 2 60 ∙ 67 ≈ 2 66 images. • Inverting one of them allows existential forgery (at least massively reduces complexity) • q-query brute-force succeeds with probability 𝑟 2 𝑟 Θ 2 𝑜−66 conventional and Θ 2 𝑜−66 quantum • We loose 66 bits of security! (33 bits quantum) 18.06.2019 https://huelsing.net 26

  27. Multi-target attacks: Mitigation • Mitigation: Separate targets [HRS16] • Common approach: • In addition to hash function description and „input“ take • Hash „Address“ (uniqueness in key pair) • Hash „key“ used for all hashes of one key pair (uniqueness among key pairs) 18.06.2019 https://huelsing.net 27

  28. Multi-target attacks: Mitigation • Mitigation: Separate targets [HRS16] • Common approach: • In addition to hash function description and „input“ take • Hash „Address“ (uniqueness in key pair) • Hash „key“ used for all hashes of one key pair (uniqueness among key pairs) 18.06.2019 https://huelsing.net 28

  29. New intermediate abstraction: Tweakable Hash Function [SPHINCS+] • Tweakable Hash Function: 𝐔𝐢 𝑄, 𝑈, 𝑁 → 𝑁𝐸 P: Public parameters (one per key pair) T: Tweak (one per hash call) M: Message MD: Message Digest • Security in two steps: 1. Prove security of SPHINCS(+), XMSS, LMS,..... using tweakable hash functions 2. Prove tweakable hash function security So what properties do we need? 18.06.2019 https://huelsing.net 29

  30. Single-function multi-target collision resistance for distinct tweaks • Intuition: • Adversary gets black box access to 𝐔𝐢(𝑄 , ⋅ , ⋅ ) for random P. • Adversary can adapatively query with restriction to use each tweak only once. • Adversary receives P and has to find second-preimage for one of its previous queries (such that P and T are the same). • This is what the hashing in [HRS16] already tightly achieves! • Generating pseudorandom bitmasks & function keys from P and T. 18.06.2019 https://huelsing.net 30

  31. Decisional second-preimage resistance (https://ia.cr/2019/492) • (actually: Single-function multi-target decisional second preimage resistance for distinct tweaks) • [HRS16] required statistical property: Every message input has to have a sibling (colliding value) under 𝐔𝐢(𝑄 , ⋅ , ⋅ ) for the length- preserving case (|M| = |MD|). • Reason: Want reduction using SPR instead of OW. 21.06.2019 https://huelsing.net 31

  32. WOTS reduction from PRE (assume adversary that always inverts one of the signature query elements) b 1 b 2 b 3 b 4 b m‘ … … b l b m ‘ +1 b m‘+2 … … … … … … … pk 1 = c w -1 (sk 1 ) σ 1 = target1 Signature: σ = ( σ 1 , …, σ l ) pk l = c w -1 (sk l l ) σ l = target l 18.06.2019 https://huelsing.net 32

  33. Decisional second-preimage resistance (https://ia.cr/2019/492) • (actually: Single-function multi-target decisional second preimage resistance for distinct tweaks) • HRS16 required statistical property: Every message input has to have a sibling (colliding value) under 𝐔𝐢(𝑄 , ⋅ , ⋅ ) for the length- preserving case (|M| = |MD|). • Reason: Want reduction using SPR instead of OW. • WOTS reduction fails if guess was incorrect (Recall, in SPHINCS we have to make ≈ 2 66 guesses) • When reducing SPR, we know full chain -> no guesses • WOTS reduction gives us Inverter with non-negligible success probability 21.06.2019 https://huelsing.net 33

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend