-
Notifications
You must be signed in to change notification settings - Fork 17.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
x/crypto: add BLAKE3 support #36632
Comments
I can integrate https://github.com/lukechampine/blake3 in |
Hi,
There is support for BLAKE3 in Go. It's here: https://github.com/lukechampine/blake3 . You can download the library using
I don't think you can, unless the code author(s) sign the CLA and agree to re-license the code (it's MIT, I don't know if it's compatible with Go's BSD licence). In any case it's not as simple as "copy the code in lukechampine/blake3, and paste it in x/crypto". What you are asking is for a (semi)-officially supported BLAKE3 implementation in x/crypto. This is a fair request, but someone will have to do the work and maintain the code in the future. Is not as simple as dumping another implementation in x/crypto and leaving it there. |
Sure, all of this should be allowed by owner of repo, but we can just import and export the module from |
I'd be happy to transfer my package over to |
Oh, hello! I vote for adding it now, but of course it's for the decision on Go developers. I'm really happy that you're interested in improving standard libs too! |
https://github.com/zeebo/blake3 was published recently under CC0, with optimized AVX2 and SSE4.1 implementations. |
It's been about a year since this was last discussed. Have there been any more thoughts? |
Well, I have an update on my previous comment:
I've since added (avo-generated) asm for AVX2 and AVX-512 myself, so performance should be at least competitive with zeebo/blake3 and the official Rust implementation (I haven't benchmarked it on a proper desktop machine yet). |
What version of Go are you using (
go version
)?Does this issue reproduce with the latest release?
Yes
What operating system and processor architecture are you using (
go env
)?go env
OutputWhat did you do?
I found a new cryptographical hash function named BLAKE3:
https://github.com/BLAKE3-team/BLAKE3
It also has Go implementation:
https://github.com/lukechampine/blake3
What did you expect to see?
BLAKE3 support in Go
What did you see instead?
No BLAKE3 support in Go
The text was updated successfully, but these errors were encountered: