SPHINCS+ - Quantum-Safe Digital Signatures

SPHINCS+ is a stateless hash-based digital signature algorithm designed to be secure against quantum computer attacks.

Key Generation

Generate a SPHINCS+ key pair for signing and verification

Key generation is quick, but signing can take several seconds, especially for the "f" (small signature) variants.

Sign File

Upload a file and sign it with your private key

Verify Signature

Verify a file's signature using the signer's public key

Paste the signature or upload a signature file

About SPHINCS+

SPHINCS+ is a stateless hash-based digital signature algorithm designed to be secure against attacks from quantum computers. It was selected by NIST as one of the standardized post-quantum signature algorithms in 2022.

Key Features:
  • Type: Stateless hash-based digital signature algorithm
  • Security Basis: Security of cryptographic hash functions
  • Quantum Resistance: Extremely high confidence in resistance to quantum attacks
  • Stateless: Unlike some other hash-based signatures, SPHINCS+ does not require maintaining state between signatures
  • Parameter Sets: Multiple parameter sets offering different trade-offs between signature size, signing speed, and security level
How SPHINCS+ Works:

SPHINCS+ is based on a hyper-tree structure that combines several cryptographic primitives:

  1. Few-Time Signatures: SPHINCS+ uses WOTS+ (Winternitz One-Time Signature) for signing individual messages
  2. Merkle Trees: Multiple layers of Merkle trees are used to authenticate many WOTS+ public keys with a single SPHINCS+ public key
  3. Hyper-Tree: A hyper-tree structure combines multiple Merkle trees to create a large virtual tree
  4. Hash Functions: All operations rely on the security of cryptographic hash functions
Parameter Sets:

SPHINCS+ offers several parameter sets with different trade-offs:

Parameter Set Security Level Signature Size Signing Speed
SPHINCS+-128s NIST Level 1 (128-bit classical) ~8 KB Faster
SPHINCS+-128f NIST Level 1 (128-bit classical) ~17 KB Slower
SPHINCS+-192s NIST Level 3 (192-bit classical) ~17 KB Faster
SPHINCS+-192f NIST Level 3 (192-bit classical) ~35 KB Slower
SPHINCS+-256s NIST Level 5 (256-bit classical) ~29 KB Faster
SPHINCS+-256f NIST Level 5 (256-bit classical) ~49 KB Slower

The "s" variants prioritize smaller signatures at the cost of slower signing, while the "f" variants prioritize faster signing at the cost of larger signatures.

Advantages of SPHINCS+:
  • Strong Security Guarantees: Based only on the security of cryptographic hash functions, which are believed to be quantum-resistant
  • Stateless: Unlike some other hash-based signatures, SPHINCS+ does not require maintaining state between signatures
  • Minimal Assumptions: Requires fewer cryptographic assumptions than lattice-based or code-based alternatives
  • Standardization: Selected by NIST for standardization, indicating high confidence in its security
Limitations:
  • Signature Size: Significantly larger signatures compared to classical algorithms and some other post-quantum alternatives
  • Performance: Slower signing operations, especially for the small-signature variants
Note: SPHINCS+ is primarily designed for applications where the highest level of security assurance is required, and where signature size and performance are less critical. For applications with tighter constraints, other post-quantum algorithms like Dilithium or Falcon might be more suitable.