Researchers

Empirical research notes

ForgeHash-B3 v1 — living notes (2026-07-20). Hub: researchers. Full markdown: docs/RESEARCH_REPORT.md.

Not a security proof. Prefer Argon2id, scrypt, bcrypt, or platform password APIs for production credentials. AI tools assisted some drafting; most of this report was written by hand — see AI.md.

1. Purpose

ForgeHash-B3 is a configurable, memory-hard password hashing construction on BLAKE3. The project publishes a versioned specification, frozen vectors, multi-language ports, and tooling for empirical study.

2. Construction (short)

PieceRole
SeedBLAKE3 derive-key, context ForgeHash/v1/seed
ExpandBLAKE3 XOF, prefix ForgeHash/v1/expand
Memory1024-byte blocks / 128×u64 LE words
ForgeMix8 rounds + perm + feed-forward
AddressingPassword-dependent FastRange
Encoding$forgeh$v=1$m,t,p$salt$hash

Normative text: SPECIFICATION.md.

3. Conformance

Claim ForgeHash-B3 v1 compatible only when all official vectors match bit-exactly.

VectorhashHex (prefix…)
150aa2141…be4e
202acdfa7…6a98
3fc2f2e6b…61ba
4158230bd…0b3d

.NET, Rust, Node.js, and Python references pass all four. C++/PHP wrap the Rust C ABI.

4. Collision campaigns

Engine: ForgeHash.Analysis.CollisionCampaign (xUnit + Collision Lab). Empirical uniqueness smoke hunts — not birthday-bound proofs.

100 000 random pairs (2026-07-20)

KindRandomPairs
Samples100 000
Collisions0
ParametersDevelopment (8192 KiB, t=1, p=1, out=32)
ToolCollision Lab (multi-worker)

No accidental final-hash collision among 10⁵ random password/salt pairs at Development cost. Encouraging consistency data — not a collision-resistance proof.

dotnet run --project src/ForgeHash.CollisionLab -c Release

5. Reference / TMTO snapshot

From ForgeHash.Visualizer at 8192 KiB, t=1, p=2:

  • 8188 total references; 97 cross-lane (~1.18%)
  • Stride retention heuristic: keepEvery 2 → ~1.50× est. extra ForgeMix; keepEvery 8 → ~4.50×

TMTO ladder is a diagnostic model, not an adversarial lower bound.

dotnet run --project src/ForgeHash.Visualizer -c Release -- all --out artifacts/analysis --memory 8192 --iterations 1 --parallelism 2

6. Other automated checks

  • Avalanche smoke: single-bit flips change ~35–65% of output bits
  • Memory influence / reference distribution / parallel≡sequential
  • Strict parser + allocation limits

7. Intentional risks

Password-dependent addressing can frustrate some cracking schedules and increases local side-channel exposure. No side-channel lab measurements ship yet.

8. Open questions

  1. Irregular TMTO checkpoints cheaper than the stride model?
  2. ForgeMix efficiency on GPU shared memory / registers?
  3. Short cycles or pathological salts in the reference graph?
  4. Practical timing leakage on shared cloud hosts?
  5. Same 10⁵ uniqueness campaigns at Interactive / Sensitive cost?
  6. Independent re-implementation review outside this repo?

9. Closing

ForgeHash-B3 v1 is ready for experimentation, porting, and measurement. It is not ready for protecting production credentials.