Commit Graph

2032 Commits

Author SHA1 Message Date
Frank Denis
aa2ae5642b aes256gcm_encrypt_afternm() - abort() if mlen > 2^39-256 bits 2016-01-27 14:42:32 +01:00
Frank Denis
113091b2a0 On non-ELF platforms, mark pointers as volatile, not just what they point to.
See http://sk.tl/Wj3pmI vs http://sk.tl/VNsyd9
2016-01-27 08:24:19 +01:00
Frank Denis
bd15b68569 Argon2: explicitly initialize ctx.secret to NULL 2016-01-26 11:14:40 +01:00
Frank Denis
367afac0bf Sync argon2 implementation with upstream 2016-01-24 20:35:00 +01:00
Frank Denis
31a153c937 argon2_core() -> argon2_ctx() 2016-01-23 22:52:11 +01:00
Frank Denis
8bd6c9e289 Caps 2016-01-22 16:16:15 +01:00
Frank Denis
dc4a9791a7 Add comments to argon2-encoding.c
Upstream `decode_string()` can return `ARGON2_INCORRECT_TYPE`.
This change is not merged. Either have a function return an ARGON2 constant,
have it return 0/1, or have it return 0/-1, but mixing different systems
is confusing. (encode|decode)_string() should probably all return an ARGON2
code.
2016-01-22 16:12:24 +01:00
Frank Denis
921507cc59 Add extra sodium_memzero() in Argon2 2016-01-22 16:03:09 +01:00
Frank Denis
a814810a43 Relax max sizes in argon2 decoding 2016-01-22 15:59:54 +01:00
Frank Denis
17248540e3 Add aes256gcm stubs for platforms where it is not available 2016-01-22 10:21:24 +01:00
Frank Denis
d1b028abe3 Initialize ctx->pwdlen in argon2 string decoder 2016-01-21 08:42:23 +01:00
Frank Denis
82c7c45924 zero the context, in case we forget to initialize some members 2016-01-21 08:39:47 +01:00
Frank Denis
ba415e1f4d Argon2: use existing constants more consistently
By @technion via the reference implementation
2016-01-21 08:35:53 +01:00
Frank Denis
53419d7b06 Merge pull request #348 from betafive/pbarker/blake2
Add crypt_generichash_blake2b_statebytes function
2016-01-16 20:15:00 +01:00
Paul Barker
e20291d78e Add crypt_generichash_blake2b_statebytes function
The function crypto_generichash_statebytes exists to dynamically determine the
size of a crypto_generichash_state struct. This is useful when using libsodium
from a language which can't use sizeof on C types. However, no equivalent
existed for the crypto_generichash_blake2b_state struct for users who want to
explicitly use the blake2b algorithm.

The function crypt_generichash_blake2b_statebytes is added to fill this gap.
2016-01-16 17:25:14 +00:00
Frank Denis
8c0b916729 Add new macros for chacha20poly1305_ietf constants, for clarity 2016-01-16 12:36:30 +01:00
Frank Denis
18cc1b5682 The occasional absence of braces is disturbing. 2016-01-15 21:12:34 +01:00
Frank Denis
08d3b8a19c Reuse validate_inputs() to validate parameters in argon2-encoding.c 2016-01-15 20:58:50 +01:00
Frank Denis
fcf9441c7b Export crypto_pwhash*() to Javascript 2016-01-13 10:00:16 +01:00
Frank Denis
846a84b721 Version bump (not released yet) 2016-01-13 09:49:20 +01:00
Frank Denis
936667e3f1 Untab 2016-01-12 09:26:46 +01:00
Frank Denis
20ccc09018 Argon2: Let fill_{memory_blocks,segment} return an error code 2016-01-12 09:24:50 +01:00
Frank Denis
bc98db0bf1 Add AppVeyor configuration 2016-01-11 11:40:23 +01:00
Frank Denis
fbeed0c92c Add Appveyor status 2016-01-11 11:20:58 +01:00
Frank Denis
751f3b3753 Visual Studio's preprocessor doesn't support #warning 2016-01-11 11:11:43 +01:00
Frank Denis
1cce9b1e00 argon2i strings are variable length; check that they are zero-padded 2016-01-08 16:55:08 +01:00
Frank Denis
f1ab1fd377 Add extra CRYPTO_ALIGN() required for Minix 2016-01-07 15:33:17 +01:00
Frank Denis
cfd597298f Bring back tests vectors for argon2 strings 2016-01-06 15:36:36 +01:00
Frank Denis
78d0770122 2016 2016-01-01 01:53:03 +01:00
Frank Denis
82ed2169b0 Make argon2i blocks allocation functions static 2015-12-30 17:30:59 +01:00
Frank Denis
74809e7296 Update the top-level MSVC project 2015-12-30 16:13:31 +01:00
Frank Denis
50002f78ed Do not forget Daniel Dinu and Thomas Pornin
in the list of contributors to the Argon2 code
2015-12-30 15:44:46 +01:00
Frank Denis
29fb06cd23 Check for crypto_pwhash_*limit_moderate() presence 2015-12-30 11:59:15 +01:00
Frank Denis
ff32e8f34b argon2: memory usage is m_cost KiB, not 2^m_cost KiB 2015-12-30 00:10:57 +01:00
Frank Denis
dfa0ee2753 We don't need no external memory allocators 2015-12-30 00:09:16 +01:00
Frank Denis
a78161981c Check for _mm_set_epi64x() usability in the SSE2 test 2015-12-29 23:18:28 +01:00
Frank Denis
1635f98638 Add sodium/crypto_pwhash.h to the distribution 2015-12-29 22:42:33 +01:00
Frank Denis
69cfab0522 We don't need the ability to use a custom allocator 2015-12-29 22:33:36 +01:00
Frank Denis
28ca446f73 argon2: don't dereference a pointer before testing it for NULL 2015-12-29 22:22:54 +01:00
Frank Denis
77a61b8ad7 Test the high-level crypto_pwhash() functions 2015-12-29 21:53:56 +01:00
Frank Denis
b5ed4cc34b Add high-level crypto_pwhash() API 2015-12-29 21:49:55 +01:00
Frank Denis
c7b9178d5a Consistent #include guards 2015-12-29 21:35:45 +01:00
Frank Denis
654a2b3f95 Shorten a few test argon2i test vectors for V8
This is enough to reproduce an bug with Chrome
2015-12-29 21:06:23 +01:00
Frank Denis
7a5668f944 Credit Argon2 authors 2015-12-29 19:25:27 +01:00
Frank Denis
61c5b4a35c argon2i test: remove tv3 for now; it's too much for web browsers
Proper test vectors will be reintroduced later
2015-12-29 19:16:31 +01:00
Frank Denis
2bd822b1c9 Pasto 2015-12-29 19:13:48 +01:00
Frank Denis
6d9f2cae79 argon2: ensure that memory is cacheline aligned; use mmap(2) if possible 2015-12-29 19:00:52 +01:00
Frank Denis
9788147270 Require less indentation 2015-12-29 18:41:38 +01:00
Frank Denis
9ef45f8456 argon2: make blocks allocation indirect, keep the base address 2015-12-29 18:38:33 +01:00
Frank Denis
d39202c16c Put the browser-js.done marker at the right place 2015-12-29 18:02:24 +01:00