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 c649c5ac94 Eliminate the need for permute() by generating code for each round 2020-01-12 14:47:47 +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 Eliminate the need for permute() by generating code for each round 2020-01-12 14:47:47 +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.