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

577 Commits

Author SHA1 Message Date
Frank Denis
99fe302562 Make things more explicit 2017-12-16 13:12:07 +01:00
Frank Denis
b6dab1029d Sort 2017-12-16 13:08:55 +01:00
Frank Denis
31b13ada14 + #include <limits.h> 2017-12-16 13:08:34 +01:00
Frank Denis
18d5940bc6 Use a simple memory pool for benchmarks
In the test suite, a significant amount of time is spent in memory
allocations. A memory pool helps achieve more relevant results with
less iterations.
2017-12-16 13:07:15 +01:00
Frank Denis
ac8dffbecb Return -1 if the scalar is 0 in crypto_scalarmult_ed25519()
For consistency with _base()
2017-12-12 14:35:08 +01:00
Frank Denis
21c1a3160c Remove tests for deprecated functions 2017-12-11 23:22:34 +01:00
Frank Denis
cf59e049e7 Check reduced-round salsa variants in non-minimal mode 2017-12-11 20:11:27 +01:00
Frank Denis
bdca518edc Remove incorrect and useless cast 2017-12-11 19:54:10 +01:00
Frank Denis
99fa31a595 More tests 2017-12-06 14:08:00 +00:00
Frank Denis
609e42be75 One more test 2017-12-06 13:53:22 +00:00
Frank Denis
43fa5ecc49 Add some tests for reduced-rounds salsa20 2017-12-06 13:38:46 +00:00
Frank Denis
0b6370dd0a Always undef NDEBUG in tests 2017-12-06 12:17:57 +00:00
Frank Denis
625e313e74 Avoid an expression in a assert() with side effects 2017-12-06 12:16:37 +00:00
Frank Denis
e89c43edf6 secretstream: add a test for rekeying using TAG_REKEY 2017-12-06 11:45:47 +00:00
Frank Denis
22b65dc57c Add a call to sodium_stackzero() 2017-12-05 17:49:58 +00:00
Frank Denis
01072a2f6a More tests 2017-12-03 21:16:46 +01:00
Frank Denis
cdd7d5f37d Add explicit cast 2017-12-03 21:02:17 +01:00
Frank Denis
8ad6ffa9d6 More tests 2017-12-03 20:56:17 +01:00
Frank Denis
b6262d982f Don't even try to compile non-minimal code 2017-12-03 16:55:46 +01:00
Frank Denis
139cadc76d Skip tests 13&14 in minimal mode 2017-12-03 16:49:55 +01:00
Frank Denis
99fe9eb67f More misuse tests 2017-12-03 16:39:05 +01:00
Frank Denis
229dac07ee casts 2017-12-01 17:29:29 +01:00
Frank Denis
217a9330a4 More tests 2017-12-01 17:21:59 +01:00
Frank Denis
84047b703a More tests 2017-12-01 17:04:09 +01:00
Frank Denis
e44614505b Casts 2017-12-01 16:32:25 +01:00
Frank Denis
218dac349a Fix format string sign 2017-12-01 15:24:48 +01:00
Frank Denis
46e2a46490 secretstream test: provide additional data to lift ambiguity on what is being tested
Spotted by @emilbayes - Thanks!
2017-11-26 22:02:26 +01:00
Frank Denis
ee2403deba Check for RDRAND presence 2017-11-25 17:53:33 +01:00
Frank Denis
c190574cee x25519-ref10: reject low order points before the multiplication 2017-11-17 10:47:00 +01:00
Frank Denis
fc10e78580 Add a test for constants 2017-11-15 16:58:31 +01:00
Frank Denis
a60d877327 Add a test for crypto_scalarmult_ed25519 2017-11-15 16:57:29 +01:00
Frank Denis
7653df070c Keep only the second test 2017-11-15 16:15:25 +01:00
Frank Denis
222ab9857c Check that add/sub don't enforce the canonical form 2017-11-15 15:31:01 +01:00
Frank Denis
4fe7f88063 Re-merge previous test; add the correct prime 2017-11-15 15:26:41 +01:00
Frank Denis
d8c36842eb Remove a test that doesn't make sense 2017-11-15 01:59:43 +01:00
Frank Denis
97e6f73230 Add a pretty obvious assertion 2017-11-15 01:48:28 +01:00
Frank Denis
3d8889560e Export constants 2017-11-15 01:47:54 +01:00
Frank Denis
1e06b32f45 Add a couple more tests for ed25519_is_valid_point() 2017-11-15 01:44:55 +01:00
Frank Denis
63f7727a74 C++ compat 2017-11-15 01:37:33 +01:00
Frank Denis
1df2285362 Add a preliminary test for core_ed25519 2017-11-15 01:34:43 +01:00
Frank Denis
7e75ad4ca9 Remove unused var 2017-10-23 23:43:19 +02:00
Frank Denis
f54c6db981 sign_keygen(): don't hash the secret scalar in non-deterministic mode 2017-10-11 21:27:48 +02:00
Frank Denis
0dd8338b83 Add a compile-time switch to create non-deterministic signatures 2017-10-06 15:35:07 +02:00
Frank Denis
2a367074fe Add actual performance API emulation for old browsers 2017-10-05 07:52:33 +02:00
Frank Denis
e784a3fb40 Add no-ops for very old browsers without the performance API 2017-10-05 01:46:02 +02:00
Frank Denis
37d9f09f5b Round duration 2017-10-05 00:20:55 +02:00
Frank Denis
752c1fff2d emscripten template: make the module global 2017-10-05 00:16:37 +02:00
Frank Denis
cc8cd391c9 Fix emscripten template 2017-10-05 00:11:40 +02:00
Frank Denis
93e39760b9 Wasm: add basic benchmark
Not really fair yet since the script isn't preloaded
2017-10-05 00:02:37 +02:00
Frank Denis
f0daa92f50 Remove index-wasm.html.tpl 2017-10-04 23:52:39 +02:00
Frank Denis
6a0e144899 Use less memory for the pwhash tests 2017-10-04 22:52:11 +02:00
Frank Denis
d3e20869af crypto_pwhash_ALG_DEFAULT is now Argon2id 2017-10-01 12:12:13 +02:00
Frank Denis
2f51ed3397 Rename the test/pwhash.c -> test/pwhash_argon2i.c 2017-10-01 11:09:55 +02:00
Frank Denis
d49d7e8d4f pwhash: don't enforce the same limits for argon2i and argon2id
Fixes #606

Also, keep enforcing a minimum number of iterations to create argon2i
hashes, but relax that restriction for verification, as it can be
useful to migrate from hashes made using other libraries.
2017-10-01 11:02:46 +02:00
Frank Denis
2542367c2d secretstream: set the initial counter to 1
Avoids using the first block for two different purposes, and will be more
consistent with the AES-based version.

This breaks backwards compatibility, but better do it now that most distro are
still shipping < 1.0.14, that no applications seem to be already using that new
API, and that there will be an update to the library major due to the aes128ctr
removal.
2017-10-01 10:08:04 +02:00
Frank Denis
3e0b4dec6e Add sodium_base64_encoded_len() 2017-09-21 11:25:09 +02:00
Frank Denis
18f0fff89e More tests: verify that they key gets updated after the counter wraps 2017-09-20 17:10:10 +02:00
Frank Denis
ee1d5c96d8 Move the codecs tests to their own test file 2017-09-19 22:51:05 +02:00
Frank Denis
558355e566 Check if SIGABRT can be trapped multiple times in a row 2017-09-19 22:33:09 +02:00
Frank Denis
8ee67b1dd7 More tests 2017-09-19 22:19:50 +02:00
Frank Denis
1f72dec89d More tests 2017-09-19 22:17:10 +02:00
Frank Denis
41dc933226 More tests 2017-09-19 22:08:31 +02:00
Frank Denis
aec433cecc Additional check 2017-09-19 20:04:57 +02:00
Frank Denis
7423408cd3 Make the behavior of hex2bin() consistent with base642bin()
Return -1 on incomplete sequences and on complete sequences
with trailing, non-ignored characters if no pointers to store the
last parsed byte has been provided
2017-09-19 18:45:23 +02:00
Frank Denis
00660d79b9 secretstream test: don't pull twice if we don't test with AD 2017-09-19 17:32:15 +02:00
Frank Denis
3c8a7f17f0 Add tests for short, invalid unpadded base64 strings 2017-09-19 16:59:18 +02:00
Frank Denis
9209e89d96 More tests 2017-09-19 00:34:26 +02:00
Frank Denis
31e9a5541d More tests 2017-09-18 23:57:29 +02:00
Frank Denis
525c21ed10 Tests 2017-09-18 23:29:58 +02:00
Frank Denis
1875980d33 More tests 2017-09-18 23:18:46 +02:00
Frank Denis
5b9680ead6 More tests 2017-09-18 23:13:50 +02:00
Frank Denis
e878bc141b More keygen tests 2017-09-17 23:13:38 +02:00
Frank Denis
f244f658d6 int -> size_t 2017-09-17 23:13:27 +02:00
Frank Denis
9c53da4a6d metamorphic tests for HMAC 2017-09-17 21:55:29 +02:00
Frank Denis
bd69a3083a metamorphic tests for onetimeauth 2017-09-17 21:48:16 +02:00
Frank Denis
a7b75a2d7d + simple metamorphic tests for crypto_generichash()
This needs to be extended to other APIs with a streaming interface
2017-09-17 21:41:32 +02:00
Frank Denis
bfab44aa40 initbytes -> headerbytes for clarity 2017-09-16 23:21:28 +02:00
Frank Denis
ca43a12683 Old tcc versions miscompile while (++in[x])
So, let's just keep things readable, even for compilers.
2017-09-15 12:58:47 +02:00
Frank Denis
10edd16b40 Modernize the core3 test 2017-09-15 12:39:18 +02:00
Frank Denis
c6aa04108e Move #ifdef up 2017-09-15 10:19:34 +02:00
Frank Denis
4aba976d5f Explicit casts 2017-09-15 01:00:43 +02:00
Frank Denis
15ee95c64c Remove unused var 2017-09-15 00:57:44 +02:00
Frank Denis
70f66c9a6d Check for avx/avx2/avx512f linkage 2017-09-14 00:05:37 +02:00
Frank Denis
390f865e35 Add tests for scrypt rehash 2017-09-13 18:47:55 +02:00
Frank Denis
2a2b85eeea Add tests for crypto_pwhash_str_needs_rehash() 2017-09-13 18:40:14 +02:00
Frank Denis
979b21d67b Remove extra semicolumns 2017-09-13 12:45:04 +02:00
Frank Denis
0af31aeb26 Fill the max output buffer size in sodium_bin2base64()
Unlike hex encoding, due to optional padding, computing the correct size is
not straightforward. Ensuring that the string ends with `\0` is fine, but
if the size is not exact, some unrelated data might be send around by the
application. So, zero it to be safe.
2017-08-31 19:32:14 +02:00
Frank Denis
fd4478288e Test sodium_pad() with a NULL pointer 2017-08-25 15:24:46 +02:00
Frank Denis
f8e535a446 messagesbytes -> messagebytes 2017-08-25 15:12:35 +02:00
Frank Denis
aa20d2e86e Add secretstream constants 2017-08-25 14:51:02 +02:00
Frank Denis
4c93d0391c C++ compat 2017-08-17 23:27:20 +02:00
Frank Denis
0850e55808 Check that a zero blocksize returns -1 2017-08-17 21:00:02 +02:00
Frank Denis
a27c18d0e8 No need for two buffers in the padding test 2017-08-17 20:58:14 +02:00
Frank Denis
d5574a69fa Complete sodium_pad/unpad() and add a couple tests 2017-08-17 20:54:20 +02:00
Frank Denis
6e8e0a93f9 Add a couple tests for crypto_secretstream_*() 2017-08-16 14:53:54 +02:00
Frank Denis
265bdcfe07 bin2hex & bin2base64: return a null size on error
This might prevent applications that don't properly check return codes
from reusing previous data.
2017-08-09 22:41:20 +02:00
Frank Denis
a6480aec44 b64 test: intentionally overestimate sizes
overflows will be caught by the guard page, if any
2017-08-09 18:03:56 +02:00
Frank Denis
74fd8fd1ce C++ compat 2017-08-09 16:08:03 +02:00
Frank Denis
cdbb43f444 base64 tests 2017-08-09 15:56:58 +02:00
Frank Denis
8f0953b31f Merge branch 'master' of github.com:jedisct1/libsodium
* 'master' of github.com:jedisct1/libsodium:
  Bench: don't tie the printed result to the number of iterations
  Make the number of iterations configurable; reduce the default
  Add an interesting test case for a custom randombytes_uniform implementation
  Add a benchmark mode
  randombytes test: restore the salsa20-based rng at the end, for benchmarks
  Indent
2017-08-05 20:58:23 +02:00