SLH-DSA

Digital signature scheme for Post-Quantum Cryptography

What is SPHINCS?

What is SLH-DSA?

SLH-DSA is a stateless, hash-based signature scheme that protects data against quantum computing attacks. It is based on the hardness of finding preimages of hash functions. The hardness assumption is well studied and trusted, leading SLH-DSA and the most conservative choice for digital signing algorithms.

SLH-DSA is a special-purpose digital signature scheme that can be used in systems with low throughput and high memory footprints. An example of usage would be in code signing, where long signing times and large signature sizes are not prohibitive. Due to the small public key sizes, it is also an attractive solution for systems that are agnostic to timings and signature sizes but have little space for public keys. SLH-DSA is not meant as a general replacement for protocols like TLS.

SLH-DSA Parameter Sets

SLH-DSA has 12 parameter sets. The large number of
parameter sets are broken down into three different security levels.
At each level there is a choice of the hash function (SHA2 or SHAKE)
and small or fast signatures. Small signatures have an _s_ suffix
while the larger, faster signatures have an _f_ suffix.


4 Column Table

Parameter Set

Security Level

AES Equivalent

RSA Equivalent

SLH-DSA-SHA2-128s
SLH-DSA-SHA2-128f
SLH-DSA-SHAKE-128s
SLH-DSA-SHAKE-128f

1

AES-128

RSA3072

SLH-DSA-SHA2-192
SLH-DSA-SHA2-192f
SLH-DSA-SHAKE-192s
SLH-DSA-SHAKE-192f

3

AES-192

RSA7680

 

SLH-DSA-SHA2-256s
SLH-DSA-SHA2-256f
SLH-DSA-SHAKE-256s
SLH-DSA-SHAKE-256f

5

AES-256

RSA15360

```

What is SPHINCS?

SLH-DSA By the Numbers

SLH-DSA's high security assurances come with a tradeoff. It is much slower and much larger than traditional primitives. When designing a system, it is important to make sure the signatures will properly fit. The good news is that SLH-DSA public and private keys are smaller than RSA keys. Below is a list of the sizes of SLH-DSA with comparisons with its RSA and ECC counterparts. RSA 2048 and Ed25519 are used as the comparison since they are the most widely used RSA and ECC signature schemes for certificates.


4 Column Table

 

Private Key

Public Key

Signature

SLH-DSA-SHA2-128s
SLH-DSA-SHAKE-128s

64

32

7856

SLH-DSA-SHA2-128f
SLH-DSA-SHAKE-128f

64

32

17088

SLH-DSA-SHA2-192s
SLH-DSA-SHAKE-192s

96

48

16224

SLH-DSA-SHA2-192f
SLH-DSA-SHAKE-192f

96

48

35664

SLH-DSA-SHA2-256s
SLH-DSA-SHAKE-256s

128

64

29792

SLH-DSA-SHA2-256f
SLH-DSA-SHAKE-256f

128

64

49856

 

Table 1 – SLH-DSA key and signature sizes in bytes.


4 Column Table

 

Private Key

Public Key

Signature

RSA 2048

1060

256

256

Ed25519

32

32

64

 

Table 2 – RSA and ECC key and signature sizes in bytes.


4 Column Table

RSA 2048

Private Key
1 (baseline)

Public Key
1 (baseline)

Signature
1 (baseline)

SLH-DSA-SHA2-128s
SLH-DSA-SHAKE-128s

0.06

0.13

31

SLH-DSA-SHA2-128f
SLH-DSA-SHAKE-128f

0.06

0.13

67

SLH-DSA-SHA2-192s
SLH-DSA-SHAKE-192s

0.09

0.19

63

SLH-DSA-SHA2-192f
SLH-DSA-SHAKE-192f

0.09

0.19

139

SLH-DSA-SHA2-256s
SLH-DSA-SHAKE-256s

0.12

0.25

116

SLH-DSA-SHA2-256f
SLH-DSA-SHAKE-256f

0.12

0.25

195

 

Table 3 – Normalized RSA 2048 compared to SLH-DSA key and signature sizes.


4 Column Table

Ed25519

Private Key
1 (baseline)

Public Key
1 (baseline)

Signature
1 (baseline)

SLH-DSA-SHA2-128s
SLH-DSA-SHAKE-128s

2.00

1.00

123

SLH-DSA-SHA2-128f
SLH-DSA-SHAKE-128f

2.00

1.00

267

SLH-DSA-SHA2-192s
SLH-DSA-SHAKE-192s

3.00

1.50

254

SLH-DSA-SHA2-192f
SLH-DSA-SHAKE-192f

3.00

1.50

557

SLH-DSA-SHA2-256s
SLH-DSA-SHAKE-256s

4.00

2.00

466

SLH-DSA-SHA2-256f
SLH-DSA-SHAKE-256f

4.00

2.00

779

 

Table 4 – Normalized Ed25519 compared to SLH-DSA key and signature sizes.

NIST Standardized

NIST Standardized

In Autust 2024, the United States National Institute of Standards and Technology (NIST) standardized SLH-DSA in their FIPS 205 (link to: https://csrc.nist.gov/pubs/fips/205/final) document. They assert that SLH-DSA is usable by US government organizations for sensitive information.

Further, NIST has given guidance that organizations should switch to PQC by 2030. They have also commented that after 2035 PQC cryptography will be mandatory for government agencies.