blake3-team / blake3-specs Goto Github PK
View Code? Open in Web Editor NEWThe BLAKE3 paper: specifications, analysis, and design rationale
Home Page: https://blake3.io
License: Other
The BLAKE3 paper: specifications, analysis, and design rationale
Home Page: https://blake3.io
License: Other
Hello,
I'm working on a new release of the CycloneDX software bill of material specification and I'm including BLAKE2b and would like to include BLAKE3 as well.
This is a non-technical question about how the output length value affects the label in which end users apply to BLAKE3 when using it.
BLAKE2b-256:
b2sum -l 256
returns 64 hex characters.
by contrast:
b3sum -l 32
returns 64 hex characters.
Should this be referred to as BLAKE3-32? If not, what should it be labeled as?
Also, one additional question. What is the highest length you envision the 'real world' would use. My initial thought would be a length of 128 which would produce a 256 character hex string.
If this is the case, then would labeling these as:
make sense?
Sorry for the noob questions. Just now installed BLAKE3 so completely unaware of the specs or history and I'm nearing the release of CycloneDX v1.2 and I'd like to get the labeling correct.
Transferring this from BLAKE3-team/BLAKE3#347 created by @dralley
The OpenSSL project states that "a necessary condition to include a new algorithm into the main code base is that the algorithm should be part of a standard from a recognized standardization body", and also that "Informational RFCs are sufficient for adopting an algorithm by OpenSSL."
It would be great to (eventually) see an implementation of Blake3 in OpenSSL, because that would open the door to it being included in places like the Python standard library. It seems like they might be open to it, but this would be a prerequisite.
As an example here is the informational RFC for Blake 2 https://www.rfc-editor.org/rfc/rfc7693.html
Hello.
Comparing to what I see at RFC for BLAKE2, where table with similar role called 'SIGMA', data for BLAKE3 not full at specification.
For another side, something might be missed by me, so addition description about this situation would be nice.
That why no accompanying pull request for this issue exists at this moment.
If it was created it will contain rest of table that can be founded at Rust and C reference implementations.
- 2 & 6 & 3 & 10 & 7 & 0 & 4 & 13 & 1 & 11 & 12 & 5 & 9 & 14 & 15 & 8 \\
+ 2 & 6 & 3 & 10 & 7 & 0 & 4 & 13 & 1 & 11 & 12 & 5 & 9 & 14 & 15 & 8 \\ \midrule
+ 3 & 4 & 10 & 12 & 13 & 2 & 7 & 14 & 6 & 5 & 9 & 0 & 11 & 15 & 8 & 1 \\ \midrule
+ 10 & 7 & 12 & 9 & 14 & 3 & 13 & 15 & 4 & 0 & 11 & 2 & 5 & 8 & 1 & 6 \\ \midrule
+ 12 & 13 & 9 & 11 & 15 & 10 & 14 & 8 & 7 & 2 & 5 & 3 & 0 & 1 & 6 & 4 \\ \midrule
+ 9 & 14 & 11 & 5 & 8 & 12 & 15 & 1 & 13 & 3 & 0 & 10 & 2 & 6 & 4 & 7 \\ \midrule
+ 11 & 15 & 5 & 0 & 1 & 9 & 8 & 6 & 14 & 10 & 2 & 12 & 3 & 4 & 7 & 13 \\
Thank you.
Dear team,
I'm working on a simple took to test the speed of Blake3 vs the SHA implementations. I have this code saved to GitHub. While the code is just as fast as b3sum, my HTOP is not showing that multiple threads are being engaged. Could it be that it is that fast? Could you spend a second looking at my Cargo.toml to make sure that I have the proper features for multi-threading? Thank you in advance.
This thread will be an ongoing collection of issues with the BLAKE3 design (not the implementation) that have been reported since release. The BLAKE3 paper itself isn't indended to be a living document, so folks working on future hash function designs might want to consider this thread an appendix to the paper. To be clear, we aren't aware of any major issues leading to practical attacks.
Hello,
in $2.6 of this spec, "BLAKE3 can produce outputs of any byte length 0 < 2^64."
I know the output length could be extended according the 64bit counter t, so the output could have 2^64's block for maximum.
But the output of one block is 512 bit (64 byte), why not the max output is 64 * 2^64 byte?
Thanks
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.