How the benchmark works, what we claim, where the evidence comes from, and what we've corrected.
The benchmark runs entirely in your browser. No data is sent to any server. Four algorithms are tested across four data sizes (1 KB, 100 KB, 1 MB, 10 MB).
crypto.subtle.digest() API. On devices with Intel SHA-NI or ARMv8 Crypto Extensions, this is hardware-accelerated. On older CPUs, it's native compiled code (faster than WASM but not hardware-accelerated). Requires HTTPS.data_size / median_time, reported in MB/s or GB/s.Promise.all() to avoid unfair per-call async overhead, but this may slightly overstate Web Crypto throughput compared to sequential calls.Every factual claim on the main page has been reviewed. Below are the primary sources for each section.
| Claim | Source |
|---|---|
| SHA-256 designed 2001, by NSA, published by NIST | NIST FIPS 180-4 |
| Sequential Merkle-Damgard construction | FIPS 180-4 Section 6.2; Merkle (1979); Damgard (1989) |
| Length extension vulnerability | Duong & Rizzo (2009); RFC 6234 |
| Claim | Source |
|---|---|
| Designed 2020 by O'Connor, Aumasson, Neves, Wilcox-O'Hearn | BLAKE3 paper |
| Merkle tree structure, parallel processing | BLAKE3 specification, Section 5 |
| Immune to length extension (finalization flags) | BLAKE3 specification, Section 5.1 |
| Verified streaming | Bao project |
| Built-in keyed hashing, KDF, PRF modes | BLAKE3 specification, Section 5.1 (flag definitions) |
| Open source (CC0 / Apache 2.0) | BLAKE3 GitHub |
| Claim | Source |
|---|---|
| Joux multicollisions (2^k collisions at k × 2^(n/2) cost) | Joux, "Multicollisions in Iterated Hash Functions," CRYPTO 2004 |
| Herding / Nostradamus attacks | Kelsey & Kohno, Eurocrypt 2006 |
| Long-message second preimage attacks | Kelsey & Schneier, Eurocrypt 2005 |
| Grover's algorithm halves preimage resistance | Grover (1996); Brassard, Hoyer, Tapp (1998) |
| Use case | Source |
|---|---|
| TLS/SSL certificates | CA/Browser Forum Baseline Requirements |
| 4G LTE / 5G key derivation | 3GPP TS 33.401 (LTE); TS 33.501 (5G) |
| Bitcoin double-SHA-256 | Bitcoin whitepaper (Nakamoto, 2008) |
| Docker image digests | OCI Image Specification |
| Git SHA-256 migration | Git hash function transition plan |
| iMessage | Apple Platform Security Guide |
| Signal Protocol / WhatsApp | Signal Protocol specifications |
| AWS Signature Version 4 | AWS SigV4 documentation |
| TOTP (2FA) | RFC 6238 (default: HMAC-SHA-1; SHA-256 optional) |
| WPA2 WiFi | IEEE 802.11i (uses PBKDF2-SHA-1, not SHA-256) |
| PBKDF2 password hashing | NIST SP 800-63B; NIST SP 800-132 |
| DKIM email signing | RFC 6376; RFC 8301 |
This site advocates for BLAKE3 adoption. We believe the technical case is strong, but some claims involve editorial judgment. Here's where we draw the line.
The hero section calls BLAKE3 "a faster, structurally stronger alternative." BLAKE3 has the same output size and security level (256-bit preimage, 128-bit collision) as SHA-256. "Structurally stronger" refers to architectural properties: immunity to length extension attacks, built-in domain separation, and avoidance of Merkle-Damgard generic weaknesses. SHA-256 has survived 25 years of intense cryptanalysis with no practical breaks — the most scrutiny any hash function has ever received. We chose "structurally stronger" over "more secure" because the two functions have equal security levels; BLAKE3's advantages are in design, not in raw cryptographic strength.
We say Bitcoin's double-SHA-256 is "likely a defense against the length extension attack." This is the most commonly cited explanation, but Satoshi Nakamoto never stated the reason explicitly. It may also be general defense-in-depth.
BLAKE3 is cryptographically sound and faster in software. However, it lacks NIST standardization, FIPS certification, and the decades of cryptanalysis that SHA-256 has undergone. In regulated contexts (government, finance, healthcare), SHA-256 or SHA-3 remain the mandated choices. Our claim that "BLAKE3 qualifies" applies to non-regulated applications where performance matters and standards compliance is not required.
We label the Web Crypto API implementation "SHA-256 (HW)" in benchmark results. On devices with Intel SHA-NI or ARMv8 Crypto Extensions, the browser does use hardware acceleration. On older CPUs without these instructions, Web Crypto is native compiled code — faster than WASM but not truly hardware-accelerated. The label is accurate for most modern phones and recent laptops.
We fact-checked every claim on this site and corrected the errors we found. Transparency matters.