Hacker News new | ask | show | jobs
by GoblinSlayer 1786 days ago
BLAKE3 has a large state, it's a tree hash, so you need to keep the tree of hashes, which is proportional to logarithm of the message size. SHA has fixed state for any message.
1 comments

Huh, I didn't know that.

https://github.com/BLAKE3-team/BLAKE3/blob/b404c851c284ed01f...

I peeked at the reference impl (380 lines of safe Rust) and found this. It has a 1,728-byte array for tree state, which is enough for 2 ^ 64 bytes.

So in practice it's also fixed.