hash based signatures
play

Hash-based Signatures IETF/IRTF CFRG Draft on XMSS Fraunhofer - PowerPoint PPT Presentation

Hash-based Signatures IETF/IRTF CFRG Draft on XMSS Fraunhofer Workshop Series 01 Post-Quantum Cryptography in Practice Speaker: Dr. Bernhard Jungk 1 eXtended Merkle Signature Scheme 2 eXtended Merkle Signature Scheme Why should we look


  1. Hash-based Signatures IETF/IRTF CFRG Draft on XMSS Fraunhofer Workshop Series 01 – Post-Quantum Cryptography in Practice Speaker: Dr. Bernhard Jungk 1

  2. eXtended Merkle Signature Scheme 2

  3. eXtended Merkle Signature Scheme Why should we look into XMSS? Hash-based signatures have many advantages: • Based on well understood security notions » Cryptographic hash functions are hard to invert, also for quantum computers » Merkle trees well studied since the 1980ies • Hash functions are well understood (especially after SHA-3 competition) • Fast signing and verification operations possible • Relatively easy to understand and implement 3

  4. eXtended Merkle Signature Scheme Why should we look into XMSS? XMSS is a promising candidate for • Applications with relatively low amount of signatures • One- or many-times firmware updates • Digital signatures for documents (e.g. contracts, email) • Long-term archival of important digital assets • PKI Certificates (e.g. Root CA) 4

  5. eXtended Merkle Signature Scheme Why should we look into XMSS? IRTF is part of IETF • Oriented towards research and long-term trends Important trend – PQC • Quantum computer attacks are likely • Design of replacements for traditional public key crypto Standardization needed • Interoperability • Implementation Guidelines 5

  6. eXtended Merkle Signature Scheme Our Contribution Implementation experience • Benchmarking against other schemes • Learn good trade-offs for different application scenarios, cost reductions, side-channels, etc. Target Platform: Hardware, i.e. FPGAs and ASICs Cooperation: • Yale University in New Haven, US • Fraunhofer SIT in Darmstadt, Germany • Fraunhofer Singapore 6

  7. Recap Winternitz One-Time Signatures 7

  8. Winternitz One-Time Scheme+ Basic Principle – Public Key Generation Public Key Chain 3 Chain 2 Chain 1 Chain 0 Public Seed 8 Private Key

  9. Winternitz One-Time Scheme+ Basic Principle – Signature Generation Signature Chain 3 Chain 2 Chain 1 Chain 0 Public Seed 9 Private Key

  10. Winternitz One-Time Scheme+ Basic Principle – Signature Verification Output == Public Key? Chain 3 Chain 2 Chain 1 Chain 0 Public Seed 10

  11. Winternitz One-Time Scheme+ Basic Principle Problem: Signer reveals how to sign other messages with Chain 3 the same key Chain 2 Chain 1 Chain 0 Seed 11

  12. Winternitz One-Time Scheme+ Basic Principle Message Checksum Solution: Checksum Chain Chain 0,3 1,3 Chain Chain 0,2 1,2 Chain Chain 0,1 1,1 Chain Chain 0,0 1,0 Seed Seed 12 SK1 SK0

  13. Winternitz One-Time Scheme+ Chaining Function for XMSS Output ‘Key’ Hash Address PRF F ‘Mask’ PRF Seed PRF – Pseudorandom function F – Keyed hash function Input 13

  14. eXtended Merkle Signature Scheme 14

  15. eXtended Merkle Signature Scheme L-Tree – Public Key Generation Compressed WOTS+ Public Key PK0 PK1 PK2 PK3 PK4 PK5 PK6 PK7 PK8 15

  16. eXtended Merkle Signature Scheme XMSS Tree – Public Key Generation XMSS Public Key Tree height h=3 Up to 2 3 =8 signature generations L-Tree L-Tree L-Tree L-Tree L-Tree L-Tree L-Tree L-Tree 16

  17. eXtended Merkle Signature Scheme The Complete Picture – Public Key Generation XMSS Public Key 2 h times SK0 SK1 SK2 SK3 SK4 SK5 SK6 SK7 SK8 17

  18. eXtended Merkle Signature Scheme rand_hash Output ‘Key’ Hash Address PRF H ‘Mask0’ PRF Seed PRF – Pseudorandom function ‘Mask1’ H – Keyed hash function PRF Left Right 18

  19. eXtended Merkle Signature Scheme Signature Generation – Message 1 WOTS+ Signature Merkle Tree Authentication Path Node to be computed SK0 SK1 SK2 SK3 SK4 SK5 SK6 SK7 SK8 19

  20. eXtended Merkle Signature Scheme Signature Generation – Message 1 SK0 SK1 SK2 SK3 SK4 SK5 SK6 SK7 SK8 20

  21. eXtended Merkle Signature Scheme Signature Generation – Message 2 WOTS+ Signature Merkle Tree Authentication Path Node to be computed SK9 SK10 SK11 SK12 SK13 SK14 SK15 SK16 SK17 21

  22. eXtended Merkle Signature Scheme Signature Verification – Message 2 Output == XMSS Public Key? WOTS+ Signature Merkle Tree Authentication Path Node to be computed 22

  23. Performance Estimates 23

  24. Performace Consideration Public Key Generation – WOTS+ IRTF Parameters: WOTS+ chain length w=16 Merkle tree height h=10, h=16, or h=20 256 Bit Hashes (e.g. SHA-256) SK9 SK10 SK11 SK12 SK13 SK14 SK15 SK16 SK17 24

  25. Performace Consideration Public Key Generation – WOTS+ IRTF Parameters: WOTS+ chain length w=16 Merkle tree height h=10, h=16, or h=20 256 Bit Hashes (e.g. SHA-256) 3 Hash Function Calls SK9 SK10 SK11 SK12 SK13 SK14 SK15 SK16 SK17 25

  26. Performace Consideration Public Key Generation – WOTS+ IRTF Parameters: WOTS+ chain length w=16 Merkle tree height h=10, h=16, or h=20 256 Bit Hashes (e.g. SHA-256) 3*w = 48 Hash Function Calls SK9 SK10 SK11 SK12 SK13 SK14 SK15 SK16 SK17 26

  27. Performace Consideration Public Key Generation – WOTS+ IRTF Parameters: WOTS+ chain length w=16 Merkle tree height h=10, h=16, or h=20 256 Bit Hashes (e.g. SHA-256) 48*67 = 3216 Hash Function Calls SK9 SK10 SK11 SK12 SK13 SK14 SK15 SK16 SK17 27

  28. Performace Consideration Public Key Generation – WOTS+ IRTF Parameters: WOTS+ chain length w=16 Merkle tree height h=10, h=16, or h=20 256 Bit Hashes (e.g. SHA-256) 3216*2 h Hash Function Calls 2 h times SK9 SK10 SK11 SK12 SK13 SK14 SK15 SK16 SK17 28

  29. Performace Consideration Public Key Generation – L-Tree IRTF Parameters: WOTS+ chain length w=16 Merkle tree height h=10, h=16, or h=20 256 Bit Hashes (e.g. SHA-256) 4 Hash Function Calls SK9 SK10 SK11 SK12 SK13 SK14 SK15 SK16 SK17 29

  30. Performace Consideration Public Key Generation – L-Tree IRTF Parameters: WOTS+ chain length w=16 Merkle tree height h=10, h=16, or h=20 256 Bit Hashes (e.g. SHA-256) 4*65 = 268 Hash Function Calls SK9 SK10 SK11 SK12 SK13 SK14 SK15 SK16 SK17 30

  31. Performace Consideration Public Key Generation – L-Tree IRTF Parameters: WOTS+ chain length w=16 Merkle tree height h=10, h=16, or h=20 256 Bit Hashes (e.g. SHA-256) 260*2 h Hash Function Calls 2 h times SK9 SK10 SK11 SK12 SK13 SK14 SK15 SK16 SK17 31

  32. Performace Consideration Public Key Generation – XMSS IRTF Parameters: WOTS+ chain length w=16 Merkle tree height h=10, h=16, or h=20 256 Bit Hashes (e.g. SHA-256) 4*(2 h -1) = 4*2 h -4 Hash Function Calls SK9 SK10 SK11 SK12 SK13 SK14 SK15 SK16 SK17 32

  33. Performace Consideration Public Key Generation – XMSS IRTF Parameters: WOTS+ chain length w=16 Merkle tree height h=10, h=16, or h=20 256 Bit Hashes (e.g. SHA-256) 3480*2 h -4 Total Hash Function Calls SK9 SK10 SK11 SK12 SK13 SK14 SK15 SK16 SK17 33

  34. Performance Consideration Hash Function Calls h=10 h=16 h=20 Signatures 1024 65,536 1,048,576 Public Key 3,563,520 228,065,280 3,649,044,480 Generation Signature ~5,560 ~263,684 ~4,195,828 Generation Signature ~1,908 ~1,932 ~1,948 Verification 34

  35. Performance with SHA-256 h=10 h=16 h=20 Signatures 1024 65,536 1,048,576 27*10 9 434*10 9 Public Key 423,099,648 Generation clock cycles clock cycles clock cycles With 400 <1.1 s <70 s <1085 s MHz Sign < 2 ms < 70 ms < 1 s Verify < 1 ms < 1 ms < 1 ms 35

  36. Performance with SHA-3 h=10 h=16 h=20 Signatures 1024 65,536 1,048,576 5*10 9 81*10 9 Public Key 79,159,200 Generation clock cycles clock cycles clock cycles With 400 < 200 ms <12.5 s < 203 s MHz Sign < 1 ms < 12.5 ms < 200 ms Verify < 1 ms < 1 ms < 1 ms 36

  37. Comparison with ECC FPGA Implementation Estimates (Virtex-5) Ed25519 XMSS-SHA3 h=10 Public Key < 1 ms < 200 ms Generation Sign < 1 ms < 1 ms Verify < 2 ms < 1 ms 37

  38. Optimisations and Trade-Offs Parallelization and Caching • Parallelization • WOTS+ trivial to compute in parallel • L-Tree and XMSS more difficult to parallelize • More/Less Caching • More caching of XMSS for authentication path (costs more memory) è Improves the signing performance • Less caching to save memory è In the worst case, signing almost as slow as public key generation è Useful for lightweight applications with low memory 38

  39. Thank you for your attention! 39

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