Choosing a hash function for 2030 and beyond: SHA-2 vs SHA-3 vs BLAKE3
Published:
An interesting blog post about SHA-256, SHA-512, and BLAKE3. Same as the author of that post, I have made BLAKE3 my hash function of choice for my personal projects wherever and whenever possible.
BLAKE3 is the successor to the BLAKE2 hash function (and a member of the BLAKE family of hash functions). See the informational IETF submission for the BLAKE3 Hashing Framework for extra fun.
I continue to use BLAKE2, the BLAKE2b variety, wherever BLAKE3 is not available. For example, I use BLAKE2b as the checksum function in btrfs, because BLAKE3 is not supported by btrfs.
mkfs.btrfs --csum blake2 /dev/foo
Another example is my Viua VM project, which runs on Linux, FreeBSD, and
OpenBSD.
Viua's linker offers several choices of the hash function used to create the
.note.gnu.build-id
ELF
section, but Linux is the only platform that has BLAKE3 available by
default.
The last time I looked it was a pain in the ass to get BLAKE3 on either
FreeBSD or OpenBSD.
Next: Control your monitor with ddcutil
Previous: Micron: WTF?