A pure-Go implementation of the BLAKE3 cryptographic hash function
This repository has been archived on 2023-05-01. You can view files and clone it, but cannot push or open issues or pull requests.
Go to file
renthraysk c931fb704d Switch to named return value for compress() saves copying. 2020-01-12 14:55:44 +00:00
gen Eliminate the need for permute() by generating code for each round 2020-01-12 14:47:47 +00:00
testdata initial commit 2020-01-09 15:10:01 -05:00
LICENSE initial commit 2020-01-09 15:10:01 -05:00
README.md update README 2020-01-09 23:09:57 -05:00
blake3.go Switch to named return value for compress() saves copying. 2020-01-12 14:55:44 +00:00
blake3_test.go reorder some functions and get 100% coverage 2020-01-11 21:45:09 -05:00
go.mod initial commit 2020-01-09 15:10:01 -05:00

README.md

blake3

GoDoc Go Report Card

go get lukechampine.com/blake3

blake3 implements the BLAKE3 cryptographic hash function.

This implementation is a port of the Rust reference implementation, refactored into more idiomatic Go style and with a handful of performance tweaks. Performance is not great, not terrible. Eventually an assembly-optimized implementation will be merged into x/crypto, and then you should switch to that. In the meantime, you can use this package for code that needs BLAKE3 compatibility and doesn't need to be blazing fast.