Commit Graph

688 Commits

Author SHA1 Message Date
Frank Denis
e8e5d2fc18 Add crypto_aead_aes256gcm_aesni_*
Requires a CPU with aesni and pclmulqdq
This is a private branch for a reason. It is not going to be merged as-is.
2015-10-07 23:09:19 +02:00
Frank Denis
d8e870cb43 /dev/urandom can be a name special file in addition to a character special file 2015-10-05 11:51:29 +02:00
Frank Denis
fe27e6c136 randombytes: use arc4random(3) on OpenBSD and CloudABI 2015-09-13 15:34:01 +02:00
Frank Denis
6757e3320a Confusing indentation 2015-09-13 15:09:51 +02:00
Frank Denis
46f71fba9e Check for getpid(2) presence instead of checking for Visual Studio 2015-09-13 15:04:26 +02:00
Frank Denis
e424963ae8 Call a weak function in sodium_memcmp() to prevent LTO.
sodium_memcmp() can be used to compare user-provided secrets against
constant, hardcoded secrets. We don't want the compiler to generate code
that would be optimized for these hardcoded values.
2015-09-09 09:33:20 +02:00
Frank Denis
7fca230be8 Nits after pnacl merge 2015-08-02 13:53:22 +02:00
Frank Denis
f610f781f2 Merge remote-tracking branch 'arbinger/pnacl' into nacl
* arbinger/pnacl:
  removed comment
  Added .final and .nexe output files to CLEANFILES
  revert original hack
  Initial patch for Chrome NaCl implementation
  Added patch to obtain random bytes for Chrome NaCl via IRT -- allows build with NaCl SDK toolchain
2015-08-02 12:54:05 +02:00
evoskuil
aadab3eba3 Remove dead code. 2015-07-26 16:03:24 -07:00
Frank Denis
f16abdb5e3 <unistd.h> -> <stddef.h> 2015-07-20 23:58:09 +02:00
Frank Denis
bb8c58cdd7 Include <unistd.h> for size_t 2015-07-18 12:07:38 +02:00
James Robson
8444667b8b removed comment 2015-06-23 13:34:29 -05:00
James Robson
1b633bb8ca Merge branch 'master' into pnacl 2015-06-22 13:19:33 -05:00
James Robson
34a4931d9a Initial patch for Chrome NaCl implementation 2015-06-22 13:02:21 -05:00
Frank Denis
3822caf6c7 Micro-optimization 2015-06-22 15:56:35 +02:00
Frank Denis
e2fca8cac5 Add sodium_increment() 2015-06-22 15:44:58 +02:00
Frank Denis
5f74196b0f scrypt extra parameters checks 2015-06-19 18:55:41 +02:00
Frank Denis
facb3c4343 Implicit conversions 2015-06-16 22:42:13 +02:00
Frank Denis
d35b364f31 Blake2b: fix flags on architectures with < 32-bit int 2015-06-13 17:31:49 +02:00
Deirdre Connolly
f2afab4b1b If browser crypto is not available, try msCrypto before assuming a
Node environment
2015-06-08 18:25:51 -04:00
Frank Denis
f46439c1e2 Ensure that PBKDF2_SHA256() is not used to output more than 128 Go. 2015-06-06 12:46:22 +02:00
Frank Denis
86d92bc11d SHA512: just use memcpy() to initialize the state 2015-06-06 12:33:11 +02:00
Frank Denis
ba1cd6a128 SHA256: use uint64_t for the counter instead of two uint32_t 2015-06-06 12:32:23 +02:00
Frank Denis
21fc07e6f4 Leverage randombytes_salsa20_random_rekey() 2015-06-01 12:45:45 +02:00
Frank Denis
3c3635e53a salsa20_random(): just abort(3) if the pid changes and _stir() wasn't called 2015-06-01 12:40:58 +02:00
Frank Denis
315029188e Suggest randombytes_stir() 2015-06-01 10:22:01 +02:00
Frank Denis
e326ef9030 Do not use timeval. The structure is not defined on Windows RT. 2015-05-29 17:40:37 +02:00
Frank Denis
3bd6b8d074 Further simplify WINAPI_DESKTOP 2015-05-29 17:40:37 +02:00
Frank Denis
ada287ad56 Disable guarded memory on WinRT 2015-05-29 17:40:32 +02:00
Frank Denis
7821009bff Do not assume that _MSC_VER being defined implied x86 or x64 2015-05-29 17:40:25 +02:00
Frank Denis
94255bee36 bin2hex(): abort(3) if the length doesn't include the final \0 2015-05-15 09:23:59 +02:00
Frank Denis
bf920dc717 Add IETF-compatible version of chacha20poly1305 2015-05-09 16:12:03 +02:00
Frank Denis
63dd05419e crypto_box_keypair() cannot fail - Add lcov exclusion. 2015-05-09 15:56:52 +02:00
Frank Denis
fe02b1db1b Also zero the public key and nonce after encryption in crypto_box_seal() 2015-05-09 12:40:25 +02:00
Frank Denis
a593e37983 Rename arguments for consistency 2015-05-09 12:37:27 +02:00
Frank Denis
95983d4471 Don't downcast size_t to int 2015-05-02 10:56:03 +02:00
Frank Denis
3117ccf358 Use memcpy() instead of ugly casts. No changes to compiled code. 2015-04-24 13:52:56 +02:00
Frank Denis
957a29c469 salsa20_random_buf(): mix the output size with the key 2015-04-23 00:09:17 +02:00
Frank Denis
70487753ee JS target: window.crypto is not defined in webworkers; use self.crypto instead. 2015-04-20 14:26:27 +02:00
Frank Denis
575ce93058 + crypto_box_seal() 2015-04-17 01:01:32 +02:00
Frank Denis
f740cb5968 Better separation between crypto_auth[_verify] and the NIST-like API. 2015-04-05 20:14:21 +02:00
Frank Denis
dbcca2a501 Don't divide by zero if sodium_allocarray() is called with count=0 2015-03-23 21:43:27 +01:00
Frank Denis
9d5c067ad2 Use getrandom(2) on Linux, if available. 2015-03-09 17:22:34 +01:00
Frank Denis
ceb72f25d8 Indentation 2015-03-09 15:09:27 +01:00
Frank Denis
ef4290b71c Indentation 2015-02-21 16:15:35 +01:00
Frank Denis
ef7d825f1f __declspec() / __attribute__(()) shouldn't come before "typedef" 2015-02-17 17:38:54 +01:00
Frank Denis
a2a72d3472 Compare size_t values with ULL 2015-02-16 09:01:36 +01:00
Frank Denis
90447b0283 scrypt: keep r as a size_t value 2015-02-15 22:37:59 +01:00
Frank Denis
663fe8229e scrypt: corrected pointer alias issues causing scrypt to fail on MIPS64
by jfoug <jfoug at cox.net> via JtR issue #1032
2015-02-15 22:31:04 +01:00
Frank Denis
788d8d0178 Make bin2hex() code consistent with hex2bin() 2015-02-10 19:34:11 +01:00