Jack O'Connor
4b7babbe99
more cleaup of undocumented API
2021-03-28 20:04:51 -04:00
Jack O'Connor
dab97de401
update doc comments on guts module
2021-03-28 15:21:02 -04:00
P.M
f7088f24f8
comment cleanup in build.rs ( #164 )
2021-03-22 11:33:54 -04:00
Jack O'Connor
9ef2f4d9a8
implement Display for Hash
2021-03-21 21:14:44 -04:00
Jack O'Connor
05292a018b
get rid of the standalone "*_rayon" functions
...
These clutter the toplevel API, and their prominence might lead callers
to prefer them as a first resort, which probably isn't a good idea.
Restricting multithreading to `Hasher::update_rayon` feels better,
similar to what we've done with `Hasher::finalize_xof`. (But I think
`update_rayon` is still an improvement over the trait-based interface
that it replaced.)
2021-03-21 21:14:13 -04:00
Jack O'Connor
07b746b1b4
gate digest and crypto-mac implementations behind "traits-preview"
...
This approach was suggested by @tarcieri at
https://github.com/BLAKE3-team/BLAKE3/pull/157 .
2021-03-21 15:53:26 -04:00
Paul Grandperrin
421745b033
Cargo.toml: update crypto-mac to 0.10.0
2021-03-21 15:50:30 -04:00
Jack O'Connor
7155e5bb71
Rayon-related doc fixes
2021-03-20 15:25:14 -04:00
Jack O'Connor
b228f46e03
add *_rayon methods
2021-03-14 00:26:18 -05:00
Jack O'Connor
ea72822620
re-privatize the Join trait
2021-03-14 00:08:21 -05:00
Jack O'Connor
71d67e0810
make derive_key() return an array
2021-02-28 18:10:59 -05:00
Jack O'Connor
134bb24686
impl PartialEq<[u8]> for Hash
2021-02-28 17:50:06 -05:00
Samuel Neves
0359065018
Another movd/movq inconsistency.
...
- 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-26 00:17:12 +00:00
Paul Grandperrin
0872f98c15
Cargo.toml: upgrade all non API breaking dependencies
2021-02-25 11:16:27 -05:00
Jack O'Connor
1074f02d57
clarify C build instructions a bit
2021-02-18 15:34:40 -05:00
Jack O'Connor
e2ae3bdd94
delete an unused constant
...
Fixes https://github.com/BLAKE3-team/BLAKE3/issues/152 .
2021-02-15 14:24:37 -05:00
Jack O'Connor
8969cdd2f8
clang-format a few files
...
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-15 14:24:37 -05:00
Samuel Neves
8c350836b8
revert unwanted changes
2021-02-06 22:25:40 +00:00
Samuel Neves
953654e25e
More movd/movq discrepancies. Fixes #149 . ( #150 )
...
This should be irrelevant, but some toolchains will not accept movd with 64-bit arguments.
2021-02-06 20:02:53 +00:00
Jack O'Connor
aea29ace2d
replace the 'Differences' section with 'Multithreading'
2021-02-05 17:25:45 -05:00
Jack O'Connor
0c26ed52a8
rename ParseError to HexError and update docs
2021-02-04 15:43:44 -05:00
Jack O'Connor
cc21dd0132
implement Error for ParseError, make it opaque, and support from_hex(&[u8])
2021-02-04 15:36:29 -05:00
Jack O'Connor
9e08f5c38d
merge "Adding from_hex and implementing FromStr for Hash"
...
https://github.com/BLAKE3-team/BLAKE3/pull/24
2021-02-03 11:53:56 -05:00
Samuel Neves
3a8204f5f3
Replace movq by movd on MSVC assembly targets ( #143 )
2021-01-13 11:56:42 +00:00
Jack O'Connor
aa23d15fa0
link to JNI bindings also
2020-12-06 12:08:37 -05:00
Alexandre Mutel
6532271a11
Add a link to the .NET version
2020-12-06 12:02:09 -05:00
Jack O'Connor
9493228b13
clarify the derive_key example to discourage passwords
2020-12-02 12:10:19 -05:00
Samuel Neves
fdce1eb783
Merge pull request #131 from divinity76/blake3-version-function
...
add blake3_version(void) / BLAKE3_VERSION_STRING
2020-10-30 12:34:41 +00:00
Hans Henrik Bergan
a2f9515785
add blake3_version(void) / BLAKE3_VERSION_STRING
...
related discussion here: https://github.com/BLAKE3-team/BLAKE3/issues/130
2020-10-29 23:18:34 +01:00
Jack O'Connor
09546a677d
include example.c
2020-10-20 12:51:30 -04:00
Jack O'Connor
dae5dc5ef3
Merge pull request #128 from divinity76/features-unused-fix
...
fix disabled-optimization -Wall -Werror
2020-10-20 12:23:35 -04:00
Jack O'Connor
b928701893
readme tweaks
2020-10-20 12:05:27 -04:00
Hans Henrik Bergan
c7c4bfafab
fix disabled-optimization -Wall -Werror
...
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-20 05:49:23 +02:00
Jack O'Connor
5361572c4a
make account names into links
2020-10-16 23:23:15 -04:00
Jack O'Connor
1e98c47c7f
link to the Cryptography FM interview
2020-10-16 23:21:33 -04:00
Jack O'Connor
35aa4259bd
version 0.3.7
...
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-10-01 10:00:06 -04:00
Jack O'Connor
3d212291b9
add cross_test.sh for the C bindings
...
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-29 16:48:18 -04:00
Jack O'Connor
0b13637ae3
fix a couple of big-endianness mistakes in blake3.c
...
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-29 16:09:28 -04:00
Jack O'Connor
3817999f17
fix the short_test_cases loop in the C bindings tests
2020-09-29 11:06:32 -04:00
Jack O'Connor
5bdfd07666
update the blake3_c_rust_bindings test cases also
2020-09-29 10:59:56 -04:00
Jack O'Connor
ae3e8e6b3a
add more test cases at shorter input lengths
2020-09-29 10:51:49 -04:00
Jack O'Connor
b54f8ff5ba
tweak the readme description of the benchmark chart
2020-09-24 14:12:14 -04:00
Jack O'Connor
d2a23f5330
add a docs.rs badge
2020-09-15 11:49:09 -04:00
Jack O'Connor
e70bc965e3
use an absolute url for https://github.com/BLAKE3-team/BLAKE3/blob/master/b3sum/what_does_check_do.md
2020-09-14 11:17:39 -04:00
Jack O'Connor
6785d7bc0c
remove an outdated section of the b3sum readme
2020-09-14 11:05:15 -04:00
Jack O'Connor
a01fd16011
add some horizontal rules to the C readme
2020-09-10 17:38:35 -04:00
Jack O'Connor
ac1da75bb9
add a test for blake3_hasher_init_derive_key_raw
2020-09-10 16:52:14 -04:00
Jack O'Connor
44fd9efbc2
C readme edits
2020-09-10 16:40:25 -04:00
Jack O'Connor
004b39a350
cargo fmt
2020-09-10 15:55:02 -04:00
Jack O'Connor
27b7f610e0
Merge pull request #114 from k0001/no-cstr
...
C: Add blake3_hasher_init_derive_key_len
2020-09-10 14:54:15 -05:00