Frank Denis
6d59a5897d
Make the number of iterations configurable; reduce the default
2017-08-04 23:16:42 +02:00
Frank Denis
28a1e6886e
Add an interesting test case for a custom randombytes_uniform implementation
2017-08-04 23:13:29 +02:00
Frank Denis
5b4db091df
Add a benchmark mode
2017-08-04 23:08:22 +02:00
Frank Denis
8813c36fff
randombytes test: restore the salsa20-based rng at the end, for benchmarks
2017-08-04 23:01:16 +02:00
Frank Denis
a8cc1634f4
Indent
2017-08-04 22:59:06 +02:00
Frank Denis
544ce64000
Just a simple script to match constants with functions
2017-08-03 16:28:29 +02:00
Frank Denis
e1fa9cc90c
Add *_messagebytes_max() wrappers
2017-08-03 13:34:31 +02:00
Frank Denis
f02770b2ad
Revert "+ sodium_alloc_overhead()"
...
This reverts commit c5b61d8129
.
2017-08-02 14:26:56 +02:00
Frank Denis
c5b61d8129
+ sodium_alloc_overhead()
2017-08-02 12:34:56 +02:00
Frank Denis
774ec67e22
Repair sodium_core test
2017-07-30 18:22:53 +02:00
Frank Denis
8a14f5c167
Don't call sodium_misuse() in the sodium_core test for Javascript/wasm targets
2017-07-30 18:10:00 +02:00
Frank Denis
0ce03b6cea
misuse test: just return from main() on unsupported platforms
2017-07-30 17:54:54 +02:00
Frank Denis
180a89cb21
More tests for signatures
2017-07-29 22:42:05 +02:00
Frank Denis
b34b89ab37
secrebox: add a test with in/out buffers next to each other
2017-07-29 22:27:17 +02:00
Frank Denis
ff8bb6705a
More tests for scrypt
2017-07-29 22:01:13 +02:00
Frank Denis
a3f90d6020
Indent
2017-07-29 21:49:20 +02:00
Frank Denis
63d8a896fe
Test KX with a weak PK
2017-07-29 21:46:14 +02:00
Frank Denis
7ad9a46cb7
More tests
2017-07-29 21:43:18 +02:00
Frank Denis
a9a21a7dff
Test Ed->X conversion with x not being a square root
2017-07-29 21:36:02 +02:00
Frank Denis
982cde1a77
Test crypto_box_open_detached() with a weak PK
2017-07-29 21:34:28 +02:00
Frank Denis
c15173de1e
Turn a few calls with an insane message length into a sodium_misuse()
2017-07-29 18:37:55 +02:00
Frank Denis
8d91a32754
Add more tests for crypto_sign_ed25519_pk_to_curve25519()
2017-07-24 23:56:56 +02:00
Frank Denis
214fe473f1
Add an invalid key to the signature tests
2017-07-24 23:40:14 +02:00
Frank Denis
e1b0448205
Test crypto_secretbox_open_detached() with a NULL message pointer
2017-07-24 23:17:55 +02:00
Frank Denis
c90ddae75e
Use the right state type for the auth256 test
2017-07-24 23:04:23 +02:00
Frank Denis
51a0b96f1d
Test crypto_hmac_sha256_update() with empty chunks
2017-07-24 22:25:33 +02:00
Frank Denis
33d6908f9b
Test crypto_auth_hmacsha256_*()
2017-07-24 22:08:07 +02:00
Frank Denis
f92c82537b
More tests
2017-07-24 15:16:22 +02:00
Frank Denis
b57f9668fc
More tests
2017-07-21 16:52:01 +02:00
Frank Denis
8b9b6a54be
Remove error string from sodium_misuse()
...
Returning the name of an internal function to bindings is useless.
They need way more context to recover from these errors, and
their own backtrace will be way more useful for diagnostics.
2017-07-19 00:57:19 +02:00
Frank Denis
63cbad7506
Visual Studio doesn't like abort() chains
...
Let's limit this test to systems this has been tested on for the
time being.
2017-07-19 00:20:06 +02:00
Frank Denis
9df008a786
Add some invalid base64 strings to pwhash_str_verify() tests
2017-07-17 23:26:36 +02:00
Frank Denis
5d56821d3d
More tests, and start testing misuse cases
2017-07-17 23:09:44 +02:00
Frank Denis
0e8d7c9268
Implement sodium_set_misuse_handler()
2017-07-17 01:00:00 +02:00
Frank Denis
9def4d9a8a
Add tests for crypto_kx_*() when a single key is required
2017-07-17 00:36:55 +02:00
Frank Denis
608e103e45
Finish the Argon2id tests
2017-07-16 18:34:01 +02:00
Frank Denis
ff615b270a
Fix the AES test on error path
2017-07-13 21:41:06 +02:00
Frank Denis
7cfbb5922b
Dont expect EFBIG to be returned if a requested allocation is too large
...
Some environments return funny things such as "function not implemented",
EINVAL or "permission denied" instead.
So, don't assume anything.
2017-07-12 21:36:33 +02:00
Frank Denis
28e32dd5a2
Remove scrypt from minimal builds
2017-07-11 22:08:02 +02:00
Frank Denis
f586752afe
+ Argon2id tests
2017-06-28 15:49:49 +02:00
Frank Denis
7334060f43
Add a workaround for old asan versions (CentOS 7)
2017-06-23 17:30:48 +02:00
Frank Denis
c3045e2cb0
Check that SIGSEGV handlers work
...
Tools such as ASAN may trap violations instead of our handlers,
making the sodium_utils{2,3} test fail.
This has been documented for a long time, but it's probably better
to detect this and ignore tests depending on working signal handlers.
2017-06-23 11:11:16 +02:00
Frank Denis
efb097d957
Consistency
2017-05-19 14:58:16 +02:00
Frank Denis
b28c7bcad9
Unbreak NaCl tests (parse error near '}')
2017-05-19 14:56:31 +02:00
Jim Patterson
1fd6a4bfc2
Replace which
with command
for portability ( #542 )
...
The `which` command is not part of the posix standard and not available
in some environments. The `command` command is part of the posix
standard and well supported.
See https://unix.stackexchange.com/q/85249 for a discussion about the
use of `command` instead of `which`.
If a system had `libtool` but not `which`, the build process would issue
an erroneous error stating:
libtool is required, but wasn't found on this system
Switching to `command` corrects this problem.
2017-05-19 14:51:56 +02:00
Frank Denis
3e85167657
Fix crypto_pwhash_argon2i_str_verify()
and its tests after errno
changes
2017-05-12 15:09:54 +02:00
Emil Bay
94760400a6
Add crypto_pwhash_MISMATCH errno ( #541 )
...
* Add crypto_pwhash_MISMATCH errno
* Use EINVAL for invalid password
* Only set errno on mismatch
2017-05-12 14:30:26 +02:00
Frank Denis
4809639ae1
box_easy2 test: increase the minimum test size
2017-04-07 07:59:13 -07:00
Frank Denis
d4dbf0cc4f
Import preliminary compilation script for webassembly
...
Thanks to @facekapow
This still needs quite a bit of work, so don't add to the distfiles yet
2017-03-12 17:44:29 +01:00
Frank Denis
849a35bd82
+ crypto_kx_*() API
...
This doesn't include a full key exchange API yet.
2017-03-12 13:15:39 +01:00
Frank Denis
88c77d6aa7
Do not use a zero nonce in randombytes_buf_deterministic()
...
This can mitigate implications of reusing the same key across different
functions.
2017-03-09 13:57:37 +01:00
Frank Denis
8679e717db
+ sodium_library_minimal() and SODIUM_LIBRARY_MINIMAL
2017-03-06 09:47:09 +01:00
Frank Denis
707f4c8e08
Add ed25519ph
2017-03-05 14:45:13 +01:00
Frank Denis
2ae516079b
chacha20 can only be tested with a 32-bit ic
2017-03-03 10:39:03 +01:00
Frank Denis
588c03c536
C++ compat
2017-03-03 10:29:50 +01:00
Frank Denis
e46bc4c5dd
Add tests for chacha&salsa with a counter around 2^32
2017-03-03 10:14:08 +01:00
Frank DENIS
36c038ccd1
Additional ChaCha20/Salsa20 tests with a short output length
2017-03-02 18:01:28 +01:00
Frank Denis
617862eb5a
Make aead_xchacha20_poly1305 a first-class citizen
2017-03-02 10:19:08 +01:00
Frank Denis
ff931a9ab5
Remove useless assignments
2017-02-28 20:54:13 +01:00
Frank Denis
3cd883d33e
Remove debugging leftover in tests
2017-02-27 16:25:32 +01:00
Frank Denis
c0c645da45
Test crypto_kdf constants, add _PRIMITIVE
2017-02-26 21:30:40 +01:00
Frank Denis
d203d87d2f
const static -> static const
2017-02-26 16:10:32 +01:00
Frank Denis
d860121ebc
Fix previous
2017-02-25 21:01:52 +01:00
Frank Denis
4e6091b347
Merge branch 'master' of https://github.com/jedisct1/libsodium
...
* 'master' of https://github.com/jedisct1/libsodium :
spelling fixes (touches code in tests) (#494 )
Feature/spelling (#495 )
2017-02-25 21:00:52 +01:00
Frank Denis
eb1c92d2ec
Reformat the scrypt tests
2017-02-25 20:59:54 +01:00
ka7
76e87fb547
spelling fixes (touches code in tests) ( #494 )
2017-02-25 14:21:30 +01:00
Frank Denis
0a5a40de5b
Trim spaces
2017-02-24 19:23:55 +01:00
Frank Denis
8fb5918fb6
Add a test for siphashx24
2017-02-24 19:23:14 +01:00
Frank Denis
7bbeba5723
Indent
2017-02-23 11:30:21 +01:00
Frank Denis
4a958f9e9e
Indent
2017-02-23 11:28:12 +01:00
Frank Denis
f4da7fe314
Indent
2017-02-23 11:27:45 +01:00
Frank Denis
3d96ea4b6a
Indent
2017-02-23 11:27:19 +01:00
Frank Denis
4037465983
Indent
2017-02-23 11:26:24 +01:00
Frank Denis
d5bf3954d6
Indentx
2017-02-23 11:25:09 +01:00
Frank Denis
cac2dde218
Indent
2017-02-23 11:24:48 +01:00
Frank Denis
cadee98e13
Indentx
2017-02-23 11:23:50 +01:00
Frank Denis
efbc49f100
Indent
2017-02-23 11:23:19 +01:00
Frank Denis
434e3691ba
Indent
2017-02-23 11:22:58 +01:00
Frank Denis
e747cec677
Indent
2017-02-23 11:22:36 +01:00
Frank Denis
3cce789304
Indent
2017-02-23 11:22:00 +01:00
Frank Denis
db7c0e1956
Indent
2017-02-23 11:21:30 +01:00
Frank Denis
c8f6121429
Indent
2017-02-23 11:20:37 +01:00
Frank Denis
20b12aa9d4
Indent
2017-02-23 11:19:53 +01:00
Frank Denis
5351efb122
Indentx
2017-02-23 11:15:29 +01:00
Frank Denis
dd9d8e283b
Indent
2017-02-23 11:13:43 +01:00
Frank Denis
0877b14c68
Correct array size check in xchacha20 test
2017-02-20 11:35:13 +01:00
Frank Denis
5957e2c735
C++ compat
2017-02-19 21:23:34 +01:00
Frank Denis
8af252bf87
use crypto_*_keygen() in tests
2017-02-19 21:20:45 +01:00
Frank Denis
7e5d64834c
untab
2017-02-19 21:17:42 +01:00
Frank Denis
7f7e7235c5
Add a keygen function to all the primitives
2017-02-19 21:15:54 +01:00
Frank Denis
93d02019da
Trigger randombytes_seedbytes()
2017-02-19 19:10:08 +01:00
Frank Denis
cafb0a695b
Add randombytes_buf_deterministic()
2017-02-19 18:40:29 +01:00
Frank Denis
70c2796ae5
+ crypto_kdf high-level API
...
This is a common need, and people end up reimplementing HKDF.
So, add a crypto_kdf() API similiar to libhydrogen's. The later has a
higher limit for the output length using BLAKE2X if required.
We can implement the same strategy later in libsodium if needed.
2017-02-19 18:13:10 +01:00
Frank Denis
e0150faf56
Always zero the argon2 output buffer prior to doing anything
...
This is consistent with what we are doing with scrypt.
On error/misuse, the buffer is zeroed; this may prevent bugs with
reused/invalid buffers.
2017-02-19 12:40:28 +01:00
Frank Denis
2c6fb87708
Set crypto_pwhash_scryptsalsa208sha256_BYTES_MIN to 128 bits
2017-02-19 12:31:05 +01:00
Frank Denis
2e4e1c66a0
Complete 08c0e03f83
2017-02-19 12:23:37 +01:00
Emil Bay
08c0e03f83
WIP: crypto_pwhash constants ( #464 )
...
* Test exposed constraint constants on crypto_pwhash
This includes the following constants for crypto_pwhash, crypto_pwhash_argon2i,
and crypto_pwhash_scryptsalsa208sha256:
- crypto_pwhash_BYTES_MIN
- crypto_pwhash_BYTES_MAX
- crypto_pwhash_PASSWD_MIN
- crypto_pwhash_PASSWD_MAX
- crypto_pwhash_OPSLIMIT_MIN
- crypto_pwhash_OPSLIMIT_MAX
- crypto_pwhash_MEMLIMIT_MIN
- crypto_pwhash_MEMLIMIT_MAX
* Expose constraint constants for crypto_pwhash
* Expose constant methods for crypto_pwhash
2017-02-19 11:19:01 +01:00
Frank Denis
532ea6bd95
+ test for aead_xchacha20poly1305
2017-02-18 22:10:30 +01:00
Frank Denis
a329340d90
Remove the NaCl-like APIs from *xchacha20 additions
...
These APIs were useful with the salsa20 constructions for compatibility
with NaCl, but they are tricky to use and don't provide any benefits over
the _easy APIs.
Having them around was good for consistency with the salsa20-based ones,
but this is code that is unlikely to be used in actual projects.
So, don't include them, unless people actually ask for them.
2017-02-18 21:22:39 +01:00
Frank Denis
eb5c17d3ec
Add tests for box_xchacha20poly1305
2017-02-18 20:31:39 +01:00