Home Terms & Conditions Privacy Policy Documentation Contact About

← Return to debugger

Generate key pairs, sign any value, and validate signatures — all in your browser. Pane 1 uses the post-quantum SLH-DSA (FIPS 205, formerly SPHINCS+) scheme; pane 2 uses RSA (PKCS#1 v1.5 and PSS); pane 3 uses ECC (ECDSA over P-256/P-384/P-521/secp256k1, EdDSA over Ed25519/Ed448, Schnorr over secp256k1, and BLS over BLS12-381); pane 4 uses the post-quantum ML-DSA (FIPS 204, formerly CRYSTALS-Dilithium). The RSA and ECDSA panes let you pair the signature with a wide range of hash algorithms — SHA-2, SHA-3, BLAKE2b, BLAKE3, and the legacy RIPEMD-160 / SHA-1 / MD5. Those four panes are asymmetric digital signatures; the panes below them are symmetric MACs (keyed-hash: HMAC / KMAC / keyed-BLAKE; block-cipher: AES-CMAC / CBC-MAC / GMAC; universal-hash: Poly1305 / SipHash), labelled separately because a MAC uses a shared secret and is not a true digital signature. No key material is stored: keys live only in this page and are never written to local storage.

Tip: click a pane's title to collapse/expand it.

SLH-DSA Digital Signature Asymmetric

Heads up: SLH-DSA runs entirely in JavaScript, so key generation and especially signing can take several seconds — the small-signature (s) and 256-bit parameter sets are the slowest. This is expected; give each operation a moment to finish.

Key Pair
RSA Digital Signature Asymmetric

Pick a padding scheme and any hash. Hashes marked legacy/insecure/broken are supported for interop/testing only — don't use them for real signatures. BLAKE2b-512 and BLAKE3-256 have no PKCS#1 v1.5 identifier, so use PSS with them.

Key Pair
ECC Digital Signature Asymmetric

ECDSA over any curve can use any hash. EdDSA (Ed25519 / Ed448), Schnorr (BIP-340) and BLS (BLS12-381) hash the message themselves, so the Hash selection is ignored for those. Schnorr and BLS keys export only as hex (no standard JWK). Hashes marked legacy/insecure/broken are for interop/testing only.

Key Pair
ML-DSA Digital Signature Asymmetric

Post-quantum ML-DSA (FIPS 204, formerly CRYSTALS-Dilithium). The primary NIST post-quantum signature standard; fast lattice-based signing.

Key Pair
Keyed-Hash MACs Symmetric (MAC)

A MAC authenticates with a single shared secret — it proves integrity and origin but gives no non-repudiation (both parties hold the same key), so it is not a digital signature. Compute a tag, or Verify a pasted tag.

Secret Key
Block-Cipher MACs Symmetric (MAC)

AES-based MACs. AES-CBC-MAC is legacy (insecure for variable-length messages). AES-GMAC here uses a fixed all-zero nonce for a deterministic demo tag — real GMAC needs a unique nonce per message.

Secret Key
Universal-Hash MACs Symmetric (MAC)

Poly1305 is a one-time authenticator — its 32-byte key must be unique per message. UMAC, VMAC, and PMAC are not offered: no maintained pure-JS implementation exists.

Secret Key