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

hash based signatures
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

1

IETF/IRTF CFRG Draft on XMSS

Hash-based Signatures

Fraunhofer Workshop Series 01 – Post-Quantum Cryptography in Practice Speaker: Dr. Bernhard Jungk

slide-2
SLIDE 2

2

eXtended Merkle Signature Scheme

slide-3
SLIDE 3

3

Why should we look into XMSS?

eXtended Merkle Signature Scheme

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
slide-4
SLIDE 4

4

Why should we look into XMSS?

eXtended Merkle Signature Scheme

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)
slide-5
SLIDE 5

5

Why should we look into XMSS?

eXtended Merkle Signature Scheme

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
slide-6
SLIDE 6

6

Our Contribution

eXtended Merkle Signature Scheme

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
slide-7
SLIDE 7

7

Recap Winternitz One-Time Signatures

slide-8
SLIDE 8

8

Basic Principle – Public Key Generation

Winternitz One-Time Scheme+

Chain Public Seed 1 2 3 Chain Chain Chain Private Key Public Key

slide-9
SLIDE 9

9

Basic Principle – Signature Generation

Winternitz One-Time Scheme+

Chain 1 2 3 Chain Chain Chain Private Key Signature Public Seed

slide-10
SLIDE 10

10

Basic Principle – Signature Verification

Winternitz One-Time Scheme+

Chain 1 2 3 Chain Chain Chain == Public Key? Output Public Seed

slide-11
SLIDE 11

11

Basic Principle

Winternitz One-Time Scheme+

Chain Seed 1 2 3 Chain Chain Chain

Problem: Signer reveals how to sign

  • ther messages with

the same key

slide-12
SLIDE 12

12

Basic Principle

Winternitz One-Time Scheme+

Chain Seed 0,0 0,1 0,2 0,3 Chain Chain Chain

Solution: Checksum

Chain Seed 1,0 1,1 1,2 1,3 Chain Chain Chain SK0 SK1

Message Checksum

slide-13
SLIDE 13

13

Chaining Function for XMSS

Winternitz One-Time Scheme+

PRF Seed PRF F Hash Address

‘Mask’

‘Key’ Input Output PRF – Pseudorandom function F – Keyed hash function

slide-14
SLIDE 14

14

eXtended Merkle Signature Scheme

slide-15
SLIDE 15

15

L-Tree – Public Key Generation

eXtended Merkle Signature Scheme

Compressed WOTS+ Public Key

PK0 PK1 PK2 PK3 PK4 PK6 PK7 PK8 PK5

slide-16
SLIDE 16

16

XMSS Tree – Public Key Generation

eXtended Merkle Signature Scheme

L-Tree L-Tree L-Tree L-Tree L-Tree L-Tree L-Tree

XMSS Public Key

L-Tree

Tree height h=3 Up to 23=8 signature generations

slide-17
SLIDE 17

17

The Complete Picture – Public Key Generation

eXtended Merkle Signature Scheme

SK0 SK1 SK2 SK3 SK4 SK5 SK6 SK7 SK8

XMSS Public Key

2h times

slide-18
SLIDE 18

18

rand_hash

eXtended Merkle Signature Scheme

PRF Seed PRF H Hash Address

‘Mask0’

‘Key’ Left Output PRF

‘Mask1’

Right PRF – Pseudorandom function H – Keyed hash function

slide-19
SLIDE 19

19

Signature Generation – Message 1

eXtended Merkle Signature Scheme

SK0 SK1 SK2 SK3 SK4 SK5 SK6 SK7 SK8

WOTS+ Signature Merkle Tree Authentication Path Node to be computed

slide-20
SLIDE 20

20

Signature Generation – Message 1

eXtended Merkle Signature Scheme

SK0 SK1 SK2 SK3 SK4 SK5 SK6 SK7 SK8

slide-21
SLIDE 21

21

Signature Generation – Message 2

eXtended Merkle Signature Scheme

SK9 SK10 SK11 SK12 SK13 SK14 SK15 SK16 SK17

WOTS+ Signature Merkle Tree Authentication Path Node to be computed

slide-22
SLIDE 22

22

Signature Verification – Message 2

eXtended Merkle Signature Scheme

== XMSS Public Key? Output Node to be computed WOTS+ Signature Merkle Tree Authentication Path

slide-23
SLIDE 23

23

Performance Estimates

slide-24
SLIDE 24

24

Public Key Generation – WOTS+

Performace Consideration

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

slide-25
SLIDE 25

25

Public Key Generation – WOTS+

Performace Consideration

3 Hash Function Calls 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

slide-26
SLIDE 26

26

Public Key Generation – WOTS+

Performace Consideration

3*w = 48 Hash Function Calls 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

slide-27
SLIDE 27

27

Public Key Generation – WOTS+

Performace Consideration

48*67 = 3216 Hash Function Calls 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

slide-28
SLIDE 28

28

Public Key Generation – WOTS+

Performace Consideration

3216*2h Hash Function Calls 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

2h times

slide-29
SLIDE 29

29

Public Key Generation – L-Tree

Performace Consideration

4 Hash Function Calls 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

slide-30
SLIDE 30

30

Public Key Generation – L-Tree

Performace Consideration

4*65 = 268 Hash Function Calls 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

slide-31
SLIDE 31

31

Public Key Generation – L-Tree

Performace Consideration

260*2h Hash Function Calls 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

2h times

slide-32
SLIDE 32

32

Public Key Generation – XMSS

Performace Consideration

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*(2h-1) = 4*2h-4 Hash Function Calls

SK9 SK10 SK11 SK12 SK13 SK14 SK15 SK16 SK17

slide-33
SLIDE 33

33

Public Key Generation – XMSS

Performace Consideration

3480*2h -4 Total Hash Function Calls 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

slide-34
SLIDE 34

34

Hash Function Calls

Performance Consideration

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

slide-35
SLIDE 35

35

Performance with SHA-256

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

slide-36
SLIDE 36

36

Performance with SHA-3

h=10 h=16 h=20 Signatures 1024 65,536 1,048,576 Public Key Generation 79,159,200 clock cycles 5*109 clock cycles 81*109 clock cycles With 400 MHz < 200 ms <12.5 s < 203 s Sign < 1 ms < 12.5 ms < 200 ms Verify < 1 ms < 1 ms < 1 ms

slide-37
SLIDE 37

37

Comparison with ECC

Ed25519 XMSS-SHA3 h=10 Public Key Generation < 1 ms < 200 ms Sign < 1 ms < 1 ms Verify < 2 ms < 1 ms

FPGA Implementation Estimates (Virtex-5)

slide-38
SLIDE 38

38

Optimisations and Trade-Offs

  • 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

Parallelization and Caching

slide-39
SLIDE 39

39

Thank you for your attention!