https://github.com/systemslibrarian/crypto-lab-sphincs-ledger
Browser-based demo of SLH-DSA (SPHINCS+), a hash-based post-quantum digital signature scheme standardized as NIST FIPS 205
https://github.com/systemslibrarian/crypto-lab-sphincs-ledger
browser-demo crypto-lab cryptography digital-signatures hash-based-signatures javascript nist-fips-205 post-quantum-cryptography slh-dsa sphincs-plus
Last synced: 16 days ago
JSON representation
Browser-based demo of SLH-DSA (SPHINCS+), a hash-based post-quantum digital signature scheme standardized as NIST FIPS 205
- Host: GitHub
- URL: https://github.com/systemslibrarian/crypto-lab-sphincs-ledger
- Owner: systemslibrarian
- Created: 2026-04-06T10:15:14.000Z (2 months ago)
- Default Branch: main
- Last Pushed: 2026-04-11T22:48:45.000Z (2 months ago)
- Last Synced: 2026-04-12T00:33:23.255Z (2 months ago)
- Topics: browser-demo, crypto-lab, cryptography, digital-signatures, hash-based-signatures, javascript, nist-fips-205, post-quantum-cryptography, slh-dsa, sphincs-plus
- Homepage: https://systemslibrarian.github.io/crypto-lab-sphincs-ledger/
- Size: 117 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# crypto-lab-sphincs-ledger
## What It Is
This project is a browser demo of SLH-DSA (SPHINCS+), with supporting SHA-256 Merkle tree and WOTS+ visualizations that make the signing flow easier to inspect. SLH-DSA solves the digital-signature problem: a signer produces a public verifiable proof that a message came from the holder of the private key and was not modified. The scheme is an asymmetric, hash-based, post-quantum signature system standardized in NIST FIPS 205. In this demo, the security story is presented honestly: the production signing path is SLH-DSA, while the Merkle tree and WOTS+ tabs are educational views of the primitives beneath it.
## When to Use It
- Use it for long-lived software releases or archive signatures when conservative post-quantum assurances matter more than compact signatures.
- Use it for offline or low-frequency signing workflows because SLH-DSA trades very large signatures for a hash-only security foundation.
- Use it for teaching or internal reviews when you need to show how SHA-256 Merkle trees, WOTS+, and SLH-DSA fit together in one place.
- Do not use it for bandwidth-sensitive or latency-sensitive protocols because the signature sizes in the implemented parameter sets are much larger than RSA, Ed25519, or ML-DSA.
## Live Demo
Live demo: [https://systemslibrarian.github.io/crypto-lab-sphincs-ledger/](https://systemslibrarian.github.io/crypto-lab-sphincs-ledger/)
The demo lets you generate keys, sign messages, verify signatures, inspect a SHA-256 Merkle tree authentication path, experiment with a WOTS+ chain reveal, and append signed entries to a browser-side ledger. The main controls are the Parameter set selector, Message to sign textarea, Number of leaves selector, Message nibble input, and Chain index input.
## How to Run Locally
```bash
git clone https://github.com/systemslibrarian/crypto-lab-sphincs-ledger.git
cd crypto-lab-sphincs-ledger/demos/sphincs-ledger
npm install
npm run dev
```
No environment variables are required.
## Part of the Crypto-Lab Suite
This demo is one part of the broader Crypto-Lab suite at [https://systemslibrarian.github.io/crypto-lab/](https://systemslibrarian.github.io/crypto-lab/).
Whether you eat or drink or whatever you do, do it all for the glory of God. — 1 Corinthians 10:31