Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Start here

HashSigs RHDL is easiest to understand in four layers:

  1. Cryptographic contract. Learn the two profiles, WOTS parameters, message digest boundary, and one-time-key requirement.
  2. Task graph. Follow one signer or verifier job through contexts, tags, hash lanes, result framing, and backpressure.
  3. Source hierarchy. Move from host-side oracle types to leaf kernels, cluster controllers, production tops, and deterministic RTL export.
  4. Evidence. Ask what was actually executed: source simulation, generated RTL, synthesis, route, or a card.

The project is not a Solana integration. It also does not implement a Merkle tree or turn WOTS into a many-time signature. Applications that need many signatures must supply a reviewed one-time-key allocation and authentication scheme above this primitive.

Fast orientation

QuestionAnswer
What is signed?An already-hashed, domain-separated 32-byte message digest
Signature size2,144 bytes: 67 × 32-byte chain values
Public key wire size64 bytes: public seed plus endpoint hash
Fused signer output2,208 bytes in 35 512-bit beats
Active signerSHA-256, three clusters, four contexts each
Active hardware verifierSHA-256 only, three clusters, four contexts each
Legacy compatibilitySoftware oracle plus Keccak/RHDL compatibility tests
Hardware languageCryptographic datapaths are Rust/RHDL; Verilog is generated

Next, make a first change in 30 minutes, choose a reading path, or build locally.