https://github.com/systemslibrarian/crypto-lab-babel-hash
Browser-based demo of cryptographic hash functions — SHA-256, SHA3-256, and BLAKE3. Live avalanche effect visualizer, length extension attack against SHA-256, and why HMAC exists. Hash functions are the silent foundation of every other primitive.
https://github.com/systemslibrarian/crypto-lab-babel-hash
avalanche-effect blake3 browser-demo crypto-compare cryptography hash-functions hmac keccak length-extension-attack merkle-damgard nist-fips-180-4 nist-fips-202 sha-256 sha3-256 typescript vite
Last synced: 13 days ago
JSON representation
Browser-based demo of cryptographic hash functions — SHA-256, SHA3-256, and BLAKE3. Live avalanche effect visualizer, length extension attack against SHA-256, and why HMAC exists. Hash functions are the silent foundation of every other primitive.
- Host: GitHub
- URL: https://github.com/systemslibrarian/crypto-lab-babel-hash
- Owner: systemslibrarian
- Created: 2026-04-06T20:51:13.000Z (2 months ago)
- Default Branch: main
- Last Pushed: 2026-04-08T04:49:02.000Z (2 months ago)
- Last Synced: 2026-04-08T06:25:43.491Z (2 months ago)
- Topics: avalanche-effect, blake3, browser-demo, crypto-compare, cryptography, hash-functions, hmac, keccak, length-extension-attack, merkle-damgard, nist-fips-180-4, nist-fips-202, sha-256, sha3-256, typescript, vite
- Language: Shell
- Homepage: https://systemslibrarian.github.io/crypto-lab-babel-hash/
- Size: 45.9 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# crypto-lab-babel-hash
> **[Live demo →](https://systemslibrarian.github.io/crypto-lab-babel-hash/)**
`crypto-lab-babel-hash` is the hash-functions entry in the `crypto-compare` portfolio. The browser demo lives in `demos/babel-hash/`.
## Hash Functions catalog entry
| Field | Value |
|---|---|
| Algorithms | SHA-256 (FIPS 180-4), SHA3-256 (FIPS 202), BLAKE3 |
| Output size | 256 bits (32 bytes) for all three |
| Constructions | Merkle–Damgård (SHA-256), Sponge / Keccak (SHA3), Tree (BLAKE3) |
| Attack shown | Length extension attack against SHA-256 |
| Defense shown | HMAC-SHA256 |
| Key property | Avalanche effect — ~50% output bits change per input bit flip |
## Why this demo matters
Hash functions are the silent foundation under the rest of the portfolio:
- [`crypto-lab-sphincs-ledger`](https://github.com/systemslibrarian/crypto-lab-sphincs-ledger) — SPHINCS / SLH-DSA reduces to hash security assumptions.
- [`crypto-lab-ratchet-wire`](https://github.com/systemslibrarian/crypto-lab-ratchet-wire) — HKDF-SHA256 drives every Double Ratchet step.
- [`crypto-lab-iron-serpent`](https://github.com/systemslibrarian/crypto-lab-iron-serpent) — HMAC-SHA256 authenticates each ciphertext, which is why this demo shows HMAC instead of bare SHA-256.
- [`crypto-lab-dead-sea-cipher`](https://github.com/systemslibrarian/crypto-lab-dead-sea-cipher) — authenticated encryption depends on strong integrity primitives in the same historical arc.
## Local run
```bash
cd demos/babel-hash
npm install
npm run dev
```
See [`demos/babel-hash/README.md`](./demos/babel-hash/README.md) for the full walkthrough, references, and implementation notes.