aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-02-28rename the "context string" to the "purpose string"purpose_stringJack O'Connor
Apart from being pretty ambiguous in general, the term "context string" has the specific problem that it isn't clear whether it should be describing the input or the output. In fact, it's quite important that it describes the output, because the whole point is to domain-separate different outputs that derive from the *same* input. To make that clearer, rename the "context string" to the "purpose string" in documentation.
2021-02-28make derive_key() return an arrayJack O'Connor
2021-02-28impl PartialEq<[u8]> for HashJack O'Connor
2021-02-26Another movd/movq inconsistency.Samuel Neves
- Visual Studio <= 2015 does not support AVX-512 either way; - Visual Studio 2017 does not tolerate vmovd with 64-bit operands; - Visual Studio 2019 does not care.
2021-02-25Cargo.toml: upgrade all non API breaking dependenciesPaul Grandperrin
2021-02-18clarify C build instructions a bitJack O'Connor
2021-02-15delete an unused constantJack O'Connor
Fixes https://github.com/BLAKE3-team/BLAKE3/issues/152.
2021-02-15clang-format a few filesJack O'Connor
Some of the SIMD code is still unformatted, so for now I'm only touching the files that just have a couple small changes.
2021-02-06revert unwanted changesSamuel Neves
2021-02-06More movd/movq discrepancies. Fixes #149. (#150)Samuel Neves
This should be irrelevant, but some toolchains will not accept movd with 64-bit arguments.
2021-02-05replace the 'Differences' section with 'Multithreading'Jack O'Connor
2021-02-04rename ParseError to HexError and update docsJack O'Connor
2021-02-04implement Error for ParseError, make it opaque, and support from_hex(&[u8])Jack O'Connor
2021-02-03merge "Adding from_hex and implementing FromStr for Hash"Jack O'Connor
https://github.com/BLAKE3-team/BLAKE3/pull/24
2021-01-13Replace movq by movd on MSVC assembly targets (#143)Samuel Neves
2020-12-06link to JNI bindings alsoJack O'Connor
2020-12-06Add a link to the .NET versionAlexandre Mutel
2020-12-02clarify the derive_key example to discourage passwordsJack O'Connor
2020-10-30Merge pull request #131 from divinity76/blake3-version-functionSamuel Neves
add blake3_version(void) / BLAKE3_VERSION_STRING
2020-10-29add blake3_version(void) / BLAKE3_VERSION_STRINGHans Henrik Bergan
related discussion here: https://github.com/BLAKE3-team/BLAKE3/issues/130
2020-10-20include example.cJack O'Connor
2020-10-20Merge pull request #128 from divinity76/features-unused-fixJack O'Connor
fix disabled-optimization -Wall -Werror
2020-10-20readme tweaksJack O'Connor
2020-10-20fix disabled-optimization -Wall -WerrorHans Henrik Bergan
patch by Samuel Neves ( https://github.com/sneves ) if you tried to compile blake3_dispatch.c with -Wall -Werror -DBLAKE3_NO_SSE2 -DBLAKE3_NO_SSE41 -DBLAKE3_NO_AVX2 -DBLAKE3_NO_AVX512 something like this would happen: hans@xDevAd:~/projects/BLAKE3/c$ gcc -O0 -o example example.c blake3.c blake3_dispatch.c blake3_portable.c blake3_sse2_x86-64_unix.S blake3_sse41_x86-64_unix.S blake3_avx2_x86-64_unix.S blake3_avx512_x86-64_unix.S -DBLAKE3_NO_SSE2 -DBLAKE3_NO_SSE41 -DBLAKE3_NO_AVX2 -DBLAKE3_NO_AVX512 -Wall -Wextra -Wpedantic -Werror blake3_dispatch.c: In function ‘blake3_compress_in_place’: blake3_dispatch.c:139:26: error: unused variable ‘features’ [-Werror=unused-variable] 139 | const enum cpu_feature features = get_cpu_features(); | ^~~~~~~~ blake3_dispatch.c: In function ‘blake3_compress_xof’: blake3_dispatch.c:167:26: error: unused variable ‘features’ [-Werror=unused-variable] 167 | const enum cpu_feature features = get_cpu_features(); | ^~~~~~~~ blake3_dispatch.c: In function ‘blake3_hash_many’: blake3_dispatch.c:195:26: error: unused variable ‘features’ [-Werror=unused-variable] 195 | const enum cpu_feature features = get_cpu_features(); | ^~~~~~~~ blake3_dispatch.c: In function ‘blake3_simd_degree’: blake3_dispatch.c:244:26: error: unused variable ‘features’ [-Werror=unused-variable] 244 | const enum cpu_feature features = get_cpu_features(); | ^~~~~~~~ cc1: all warnings being treated as errors
2020-10-16make account names into linksJack O'Connor
2020-10-16link to the Cryptography FM interviewJack O'Connor
2020-10-01version 0.3.70.3.7Jack O'Connor
Changes since 0.3.6: - BUGFIX: The C implementation was incorrect on big endian systems for inputs longer than 1024 bytes. This bug affected all previous versions of the C implementation. Little endian platforms like x86 were unaffected. The Rust implementation was also unaffected. @jakub-zwolakowski and @pascal-cuoq from TrustInSoft reported this bug: https://github.com/BLAKE3-team/BLAKE3/pull/118 - BUGFIX: The C build on x86-64 was producing binaries with an executable stack. @tristanheaven reported this bug: https://github.com/BLAKE3-team/BLAKE3/issues/109 - @mkrupcale added optimized implementations for SSE2. This improves performance on older x86 processors that don't support SSE4.1. - The C implementation now exposes the `blake3_hasher_init_derive_key_raw` function, to make it easier to implement language bindings. Added by @k0001.
2020-09-29add cross_test.sh for the C bindingsJack O'Connor
This will let us add big endian testing to CI for our C code. (We were already doing it for our Rust code.) This is adapted from test_vectors/cross_test.sh. It works around the limitation that the `cross` tool can't reach parent directories. It's an unfortunate hack, but at least it's only for testing. It might've been less hacky to use symlinks for this somehow, but I worry that would break things on Windows, and I don't want to have to add workarounds for my workarounds.
2020-09-29fix a couple of big-endianness mistakes in blake3.cJack O'Connor
Kudos to @pascal-cuoq and @jakub-zwolakowski from TrustInSoft for catching these bugs. Original report: https://github.com/BLAKE3-team/BLAKE3/pull/118
2020-09-29fix the short_test_cases loop in the C bindings testsJack O'Connor
2020-09-29update the blake3_c_rust_bindings test cases alsoJack O'Connor
2020-09-29add more test cases at shorter input lengthsJack O'Connor
2020-09-24tweak the readme description of the benchmark chartJack O'Connor
2020-09-15add a docs.rs badgeJack O'Connor
2020-09-14use an absolute url for ↵Jack O'Connor
https://github.com/BLAKE3-team/BLAKE3/blob/master/b3sum/what_does_check_do.md
2020-09-14remove an outdated section of the b3sum readmeJack O'Connor
2020-09-10add some horizontal rules to the C readmeJack O'Connor
2020-09-10add a test for blake3_hasher_init_derive_key_rawJack O'Connor
2020-09-10C readme editsJack O'Connor
2020-09-10cargo fmtJack O'Connor
2020-09-10Merge pull request #114 from k0001/no-cstrJack O'Connor
C: Add blake3_hasher_init_derive_key_len
2020-09-02cover the no_sse2 flags in CI testingJack O'Connor
2020-09-01s/multi-threading/multithreading/Jack O'Connor
2020-09-01mention @mkrupcale's SSE2 implementation in the readmeJack O'Connor
2020-09-01C: rename blake3_hasher_init_derive_key_raw and documentationRenzo Carbonara
2020-08-31add i586-unknown-linux-musl as a test targetJack O'Connor
Samuel noticed that rustc seems to assume (incorrectly?) that all i686 targets support SSE2, but it doesn't make that assumption for i586.
2020-08-31add the dynamic check for SSE2 supportJack O'Connor
It will be very rare that this actually executes, but we should include it for completeness.
2020-08-31fix a build break on x86 targets without guaranteed SSE2 supportJack O'Connor
This is quite hard to trigger, because SSE2 has been guaranteed for a long time. But you could trigger it this way: rustup target add i686-unknown-linux-musl RUSTFLAGS="-C target-cpu=i386" cargo build --target i686-unknown-linux-musl Note a relevant gotcha though: The `cross` tool will not forward environment variables like RUSTFLAGS to the container by default, so if you're testing with `cross` you'll need to use the `rustc` command to explicitly pass the flag, as I've done here in ci.yml. (Or you could create a `Cross.toml` file, but I don't want to commit one of those if I can avoid it.)
2020-08-31add sse2 tests and benchmarksSamuel Neves
2020-08-31remove avoidable spillSamuel Neves