1
mirror of https://github.com/jedisct1/libsodium.git synced 2024-12-24 04:25:10 -07:00
Commit Graph

686 Commits

Author SHA1 Message Date
Frank Denis
a8fa837aac Don't even include signal.h on WASI
Since version 11, wasi-sysroot doesn't ignore it but spits out
an error instead.
2020-06-04 10:54:53 +02:00
Frank Denis
039da3af81 Typo 2020-06-02 16:57:08 +02:00
Frank Denis
1fae7383ce Update H2C test vectors 2020-06-02 16:45:51 +02:00
Frank Denis
214076fc09 Replace the multiplication by the group order with an addition chain.
Rename ge25519_{add,sub,madd,msub} for clarity.
2020-05-25 23:54:43 +02:00
Frank Denis
1127c43278 Add extra box_seal() tests 2020-05-21 18:38:55 +02:00
Frank Denis
c3ca08913c Add AEGIS-128L for no good reasons 2020-05-19 15:36:22 +02:00
Frank Denis
6a1fae4b25 Add some field arithmetic tests for edge cases 2020-05-14 12:33:49 +02:00
Frank Denis
c2efce113d Add crypto_core_{ed25519,ristretto255}_scalar_is_canonical() 2020-05-13 22:59:08 +02:00
Frank Denis
f23c932d74 H2C: change sign computation for Ell2 to match BHKL13
https://github.com/cfrg/draft-irtf-cfrg-hash-to-curve/pull/250
2020-05-12 16:33:13 +02:00
Frank Denis
67a9e79655 Remove memory shielding
That was a great idea to protect against information leak through
speculative loads.

Realistically, nobody is going to use this.
2020-05-10 21:05:24 +02:00
Frank Denis
26a7c82033 Simplify scalarmult{2,5} tests 2020-04-26 20:06:51 +02:00
Frank Denis
7e2755166a Add a scalarmult test to show that the high bit is ignored 2020-04-26 20:00:49 +02:00
Frank Denis
fe4571516f One more test vector cannot hurt 2020-04-25 12:26:06 +02:00
Frank Denis
29f098d237 Revert "Add the BlaBla2000 stream cipher - will eventually become the default"
This reverts commit a31fe2a966.
2020-04-21 13:35:29 +02:00
Emil Bay
f7137448dc
fix crypto_stream_chacha20_ietf tests (#946) 2020-04-17 11:00:44 +02:00
Frank Denis
d01c49df02 H2C: convert DST encoding to suffix free
https://github.com/cfrg/draft-irtf-cfrg-hash-to-curve/pull/241
2020-04-10 09:48:26 +02:00
Frank Denis
a31fe2a966 Add the BlaBla2000 stream cipher - will eventually become the default
2000 rounds variant of the BlaBla20 cipher
for Very Post Quantum (VPQ) security.
2020-03-31 21:42:54 +02:00
Frank Denis
0cabff7a0a Move HKDF test to its own file 2020-03-31 17:42:42 +02:00
Frank Denis
35206861b5 Skip HKDF test on minimal builds 2020-03-31 17:26:17 +02:00
Frank Denis
d9844396e3 Fix and add HKDF tests 2020-03-31 17:14:04 +02:00
Frank Denis
192d4b2a5e C++ compat 2020-03-31 15:23:11 +02:00
Frank Denis
5f39c3ce09 Don't force include the suite ID in tags 2020-03-31 14:33:40 +02:00
Frank Denis
89eb497efa Handle oversized contexts 2020-03-31 14:16:16 +02:00
Frank Denis
c8d604e1f1 Add test vectors for the string to curve operation 2020-03-31 13:40:42 +02:00
Frank Denis
728b26c2c1 Remove edwards25519sha512batch
Tagged as deprecated for years, never imported by `<sodium.h>`, and
intentionally never documented.

`edwards25519sha512batch` was just around for ABI compatibility
with NaCl, but no projects seem to be using it.
2020-03-31 12:11:32 +02:00
Frank Denis
ac48996492 Remove crypto_core_ed25519_from_hash()
Undocumented, was deprecated for a while in stable versions,
obsoleted by `_from_string()` and `from_string_ro()`.
2020-03-31 12:04:47 +02:00
Frank Denis
5fdd12fa97 Add crypto_core_ed25519_from_string() and crypto_core_ed25519_from_string_ro() 2020-03-30 17:19:36 +02:00
Frank Denis
f2015a7aad Add a test 2020-03-30 12:25:25 +02:00
Frank Denis
eab70f79c0 Add HKDF/SHA-512 and HKDF/SHA-256 2020-03-28 21:35:54 +01:00
Frank Denis
6a7fbccfd8 Remove sandy2x fixed base scalar multiplication
Thanks to precomputation, the generic implementation is faster.
2020-02-06 00:34:08 +01:00
Frank Denis
d227affc63 Add wasm3 to the set of supported WebAssembly runtimes 2020-02-04 19:52:25 +01:00
Frank Denis
89f3a09737 Temporarily remove support for Lucet
Lucet doesn't work on MacOS any more, so testing it has become difficult.
2020-02-04 19:27:09 +01:00
Frank Denis
65621a1059 Add support for node via wasmer-js
V8 doesn't seem to be currently willing to load the metamorphic test.
2019-11-05 02:08:15 +01:00
Frank Denis
c8b6906c60 has_armcrypto_aes -> has_armcrypto 2019-10-23 19:07:33 +02:00
Frank Denis
acaed459ce Add ARM NEON and AES runtime checks 2019-10-22 22:51:58 +02:00
Frank Denis
c9e95c59bd Run wasm-opt -O4 2019-10-22 17:16:54 +02:00
Frank Denis
b40674e29a Add support for WAVM as a WebAssembly runtime 2019-10-22 08:59:24 +02:00
Frank Denis
c638d25583 Try Lucet as a last option, after wasmer, due to its unstable interface 2019-10-11 17:31:57 +02:00
Frank Denis
da75f6824b Lucet removed the "fast" optimization level
We may drop Lucet support entirely until the interface gets more stable
2019-10-11 16:33:36 +02:00
Adrien Gallouët
019db2bc84 Make room for several secretstream
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
2019-09-16 15:38:38 +00:00
Frank Denis
eb96e7ecda WASI can't read its own writes without an explicit fflush() 2019-09-13 11:16:58 +02:00
Adrien Gallouët
0a31dd5a31 aegis256: Support mac verification when m is NULL
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
2019-09-12 21:11:07 +00:00
Frank Denis
a59e1f8b54 aegis256: update MSVC solutions, .gitignore, exported emscripten symbols
and the global list of symbols
2019-09-12 22:10:07 +02:00
Frank Denis
88717d995b Indent 2019-09-12 20:28:54 +02:00
Adrien Gallouët
3c14a1581c Add tests for AEGIS-256
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
2019-09-12 14:42:19 +00:00
Frank Denis
aaaaf7b8b8 Units are not required any more for Lucet 2019-07-23 22:23:50 +02:00
Frank Denis
55a81d9460 lucetc-wasi requires units with --max-heap-size 2019-07-09 20:41:34 +02:00
Frank Denis
e97760ad68 shielding requires memory protection 2019-07-09 20:29:36 +02:00
Frank Denis
61992a838d Register new symbols 2019-06-22 17:06:18 +02:00
Frank Denis
bfeca0eb73 Implement key shielding to protect against side channels
We may want to fold this into `sodium_mprotect_*()` instead of
exposing these functions.

The drawback is that a transition from PROT_NONE to PROT_READ
(or the other way round) would need an intermediary state in PROT_WRITE
for shielding/unshielding.

Shielding is also not thread-safe, while the `mprotect_*()` functions
are, and adding locks would make things more complicated than they
probably should.
2019-06-22 14:56:16 +02:00