aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2020-01-04WIP switch to new permutationpermutationJack O'Connor
2019-12-29add the guts module to share code with BaoJack O'Connor
2019-12-28make derive_key take a key of any lengthJack O'Connor
The previous version of this API called for a key of exactly 256 bits. That's good for optimal performance, but it would mean losing the use-with-other-algorithms property for applications whose input keys are a different size. There's no way for an abstraction over the previous version to provide reliable domain separation for the "extract" step.
2019-12-23switch to simplified rotationsJack O'Connor
This is a performance improvement on modern x86 chips (Skylake and later), and the LLVM optimizer can convert these to AVX-512 rotations when those are enabled.
2019-12-14docs tweaksJack O'Connor
2019-12-13silence another warning in the --no-default-features testsJack O'Connor
2019-12-13test release mode in CIJack O'Connor
As part of this, get rid of the BLAKE3_FUZZ_ITERATIONS variable. I wasn't using it anywhere, and it was leading to some compiler warnings in --no-default-features mode.
2019-12-13fix the doc tests buildJack O'Connor
2019-12-13expand the docsJack O'Connor
2019-12-12update MAX_DEPTHJack O'Connor
2019-12-12rename "offset" to "counter" and always increment it by 1Jack O'Connor
This is simpler than sometimes incrementing by CHUNK_LEN and other times incrementing by BLOCK_LEN.
2019-12-12reduce the CHUNK_LEN from 2048 bytes to 1024 bytesJack O'Connor
Smaller chunk sizes are a big benefit for parallelism at shorter input lengths, and recent benchmarks show that this reduction has a relative small cost in terms of peak throughput. It's also a nice round number.
2019-12-12make the "c_avx512" feature a no-op on non-x86Jack O'Connor
This lets us enable it by default in b3sum.
2019-12-12struct OutputReaderJack O'Connor
2019-12-11delete an unused importJack O'Connor
2019-12-11switch to representing CVs as words for the compression functionJack O'Connor
The portable implementation was getting slowed down by converting back and forth between words and bytes. I made the corresponding change on the C side first (https://github.com/veorq/BLAKE3-c/commit/12a37be8b50922a358c016ba07f46816a3da4a31), and as part of this commit I'm re-vendoring the C code. I'm also exposing a small FFI interface to C so that blake3_neon.c can link against portable.rs rather than blake3_portable.c, see c_neon.rs.
2019-12-11test against test_vectors.json in CIJack O'Connor
2019-12-08silence an unreachable code warning when "c_neon" is in useJack O'Connor
2019-12-08add benchmarks for AVX-512 and NEONJack O'Connor
2019-12-08unify the platform-specific tests and test AVX-512 and NEONJack O'Connor
2019-12-08add Rust FFI wrappers for AVX-512 and NEONJack O'Connor
2019-12-08vendor C code from BLAKE3-cJack O'Connor
Copied from: https://github.com/veorq/BLAKE3-c/commit/b8001629614f7f2fcae06b8ab343c4e1766c15b1
2019-12-07fix a bad assertJack O'Connor
This would fire (incorrectly) on platforms where MAX_SIMD_DEGREE=1.
2019-12-07add the OffsetDeltas type aliasJack O'Connor
I'm about to add C integration for AVX-512 and NEON, and this matches better what the C code is doing.
2019-12-07provide BLAKS3_FUZZ_ITERATIONS for running a longer fuzz testJack O'Connor
2019-12-06add bench.rsJack O'Connor
2019-12-06get rid of the bitflags dependencyJack O'Connor
2019-12-06add struct HasherJack O'Connor
2019-12-04add hash/keyed_hash/derive_key and tests against reference_impl.rsJack O'Connor
2019-12-04add a few tests for the arithmetic helpersJack O'Connor
2019-12-04add recursive subtree hashingJack O'Connor
2019-12-03implementation notesJack O'Connor
2019-12-03add struct ChunkStateJack O'Connor
2019-12-03add struct OutputJack O'Connor
2019-12-03switch from words to bytes in representing chaining valuesJack O'Connor
2019-12-03add no_std supportJack O'Connor
2019-12-03add struct HashJack O'Connor
2019-12-03add platform.rsJack O'Connor
2019-12-03add avx2.rsJack O'Connor
2019-12-02add sse41.rsJack O'Connor
2019-12-02test_reference_impl_sizeJack O'Connor
2019-12-02add portable.rsJack O'Connor