Skip to content

Repository for the XMSS reference code, accompanying RFC 8391, XMSS: eXtended Merkle Signature Scheme

License

Notifications You must be signed in to change notification settings

omibo/hash-based-mss

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Hash-Based Signature Schemes

This project uses the XMSS reference implementation that accompanies RFC 8391 to implement PRF-based OTS (POTS).

Added Implementation

PRF-based One-Time Signature (POTS)

  • A novel implementation of a one-time signature scheme based on pseudorandom functions/permutations.
  • Implemented in pots.c

Building and Running

Dependencies

  • OpenSSL (required for SHA-256 and SHA-512 hash functions)
    • macOS: brew install openssl

Configuration

  • Set OPENSSL_PREFIX in Makefile to your OpenSSL installation path
  • macOS Homebrew installations are automatically detected

Benchmarks

# Compare AES vs SHA performance
make benchmark/aes_hash

# Measure POTS performance (keygen, sign, verify)
make benchmark/pots

# Measure WOTS performance (keygen, sign, verify)
make benchmark/wots

# Clean built files
make clean

License

This implementation extends the original XMSS reference code written by Andreas Hülsing and Joost Rijneveld. The original code and extensions are available under the CC0 1.0 Universal Public Domain Dedication.

Note

This implementation is intended for research and experimentation. Production use requires careful consideration of deployment scenarios and threat models, particularly for stateful signature schemes.

About

Repository for the XMSS reference code, accompanying RFC 8391, XMSS: eXtended Merkle Signature Scheme

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 97.6%
  • Makefile 2.4%