Reference

Specification

Readable map of ForgeHash-B3. Normative text: SPECIFICATION.md. Paths: developers · researchers.

Final warning (spec §39). ForgeHash is educational and research software. It must not be used to protect production passwords without extensive independent review.

Identity

  • AlgorithmForgeHash-B3
  • Encoded idforgeh
  • Versionv=1
  • Encoded form$forgeh$v=1$m=<memoryKiB>,t=<iterations>,p=<parallelism>$<salt-b64>$<hash-b64>

Base64 is RFC 4648 without padding. Parameter order is always m,t,p. See spec §5–§6.

What the construction does

ForgeHash-B3 is a configurable, memory-hard password hashing construction. Design goals (§2) include unique salting, independently configurable memory / iterations / lanes, salt-dependent addressing, complete-state finalization, versioned encoding, defensive parsing, and constant-time verification.

Non-goals (§3) include formal security claims, Argon2 compatibility, automatic Unicode normalization, and replacing BLAKE3 itself. The experimental ForgeHash-X sandbox (custom ForgeX sponge, $forgehx$v=0$) is specified separately in SPECIFICATION_X.md and is not part of B3 v1 conformance.

Algorithm spine (high level)

  1. Seed — BLAKE3 derive-key with domain ForgeHash/v1/seed (§10)
  2. Expand / init — fill initial blocks via XOF expand (§12–§13)
  3. Fill — per-lane memory fill with ForgeMix compression and reference selection (§14–§16)
  4. Finalize — lane samples, 64-block groups, group root, root, output XOF (§17)
  5. Encode — canonical $forgeh$ string (§6)

Default profiles (§33)

ProfileMemoryIterationsParallelism
Development8192 KiB11
Interactive65536 KiB31
Sensitive262144 KiB42

Table of contents

Section numbers match SPECIFICATION.md. Use the full file for normative detail.