Commit Graph

239 Commits

Author SHA1 Message Date
Frank Denis
802369e9dd No need to call randombytes_sysrandom_stir_if_needed() twice. 2013-05-22 11:19:13 -07:00
Frank Denis
e68b08a4ff Call randombytes_salsa20_random_stir_if_needed() only when we don't have
anything in stock, and reduce the number of required getpid() calls.
2013-05-22 11:17:37 -07:00
Frank Denis
81d604c70c Add crypto_generichash_keybytes() and crypto_generichash_bytes()
to provide a default key/output size.
2013-05-16 11:45:19 -07:00
Frank Denis
4d147466bc Bump generichash minimum key and output size to 128 bits.
People who know what they are doing and who need a truncated output or a
shorter key can still do it.
But we should keep the chance for users to shoot themselves in the foot down
to a minimum.
2013-05-16 11:25:33 -07:00
Frank Denis
9578af69d2 Use crypto_generichash_state for crypto_generichash_*() wrappers. 2013-05-15 21:21:39 -07:00
Jeroen Habraken
fcc7df0e54 Trivial cleanup of crypto_generichash.h 2013-05-15 22:29:21 -05:00
Frank Denis
a8d4c24e42 <stdlib.h> -> <stddef.h> for size_t 2013-05-15 19:57:07 -07:00
Frank Denis
6988a02e4f Remove trailing whitespaces 2013-05-13 17:00:56 -07:00
Frank Denis
ab2e1ab140 hmac/256 -> hmac512/256 in randombytes_salsa20_random_stir() to make code smaller. 2013-05-13 16:59:57 -07:00
Frank Denis
210de1570a Add --disable-asm option to disable assembly implementations.
Check that fesetenv() and fegetenv() are available. If they aren't, still
compile the floating-point implementation of poly1305, but never pick it
in sodium_init().

This helps libsodium compile and work on Emscripten and on environments with
an incomplete libc.
2013-04-28 09:44:23 -07:00
Frank Denis
013cca7087 Remove crypto_stream_salsa20.h for the distfiles. 2013-04-27 11:17:33 -07:00
Frank Denis
808d1807dc Add optimized salsa20 amd64 assembly implementation 2013-04-27 10:21:32 -07:00
Frank Denis
ffb1e24ef1 Make the crypto_stream_salsa20 implementation switchable at compile-time 2013-04-27 09:12:26 -07:00
Frank Denis
5b09876c95 DRY 2013-04-27 09:03:31 -07:00
Frank Denis
cfe3f24964 sizes are unsigned. 2013-04-27 04:41:34 -07:00
Frank Denis
9a35ba5bfd crypto_stream_(before|after)nm is not implemented for salsa20* stream ciphers
Adding this interface is trivial, but until it's done, remove references to it.
2013-04-27 04:34:53 -07:00
Frank Denis
e1a0faee7f Move force_inline to beginning of declarations. 2013-04-26 23:21:46 -07:00
Frank Denis
c9fe802b9b Remove/ignore unused vars, use unsigned long long to iterate over sizes 2013-04-26 23:16:30 -07:00
Frank Denis
a5e9dc8467 Don't doit() 2013-04-26 23:10:47 -07:00
Frank Denis
81be9738ef More int vs unsigned long long 2013-04-26 23:07:27 -07:00
Frank Denis
f3b7ad8817 Remove doit() from onetimeauth_poly1305_try.c - we're not benchmarking for now 2013-04-26 23:05:58 -07:00
Frank Denis
ef1273126e Try a simple verification in onetimeauth_poly1305_try 2013-04-26 23:03:38 -07:00
Frank Denis
c2b6529577 In crypto_hash() lengths are ULL, so dont loop using and int value 2013-04-26 23:00:51 -07:00
Frank Denis
6ec9828b9f Reindent 2013-04-26 22:19:24 -07:00
Frank Denis
0f68434d68 Visual C++ compat is neat, except when it breaks everything else. 2013-04-26 21:59:31 -07:00
Frank Denis
73f68e27ca Add missing return in crypto_stream_aes256estream_beforenm() 2013-04-26 21:55:10 -07:00
Frank Denis
1706d63d65 More Visual C++ compat 2013-04-26 21:48:05 -07:00
Frank Denis
7f7eaf76b0 Missing #include "randombytes.h" 2013-04-26 21:47:19 -07:00
Frank Denis
330fb494e1 More Visual C++ compat 2013-04-26 21:46:57 -07:00
Frank Denis
65a30e52d4 Make ECRYPT_ctx non-anonymous 2013-04-26 21:43:20 -07:00
Frank Denis
ad44ec5b15 Don't use C99isms on Visual C++. 2013-04-26 21:41:32 -07:00
Frank Denis
47bb35cb8b Make struct crypto_generichash_blake2b_state non-anonymous 2013-04-26 21:29:53 -07:00
Frank Denis
bd6fb7e03c style 2013-04-26 21:14:12 -07:00
Frank Denis
57a4552eb1 + aes256estream 2013-04-26 21:06:34 -07:00
Frank Denis
edc5faffd6 Add more information about thread safety until we provide a thread-safe API. 2013-04-26 17:27:55 -07:00
Frank Denis
1b87626e9f Move randombytes_stir() before returning sodium_init(). 2013-04-26 17:05:23 -07:00
Frank Denis
8de0ae0e73 Call randombytes_stir() in sodium_init(). 2013-04-26 17:03:50 -07:00
Frank Denis
076eb56e24 Set initialized=1 when everything has actually been initialized 2013-04-26 17:02:53 -07:00
Frank Denis
efb3d9919f randombytes_buf() returns void. 2013-04-26 16:55:01 -07:00
Frank Denis
1e7fccf806 Sort 2013-04-26 11:26:37 -07:00
Frank Denis
6df4c3a1f3 Explicitly include sodium/crypto_scalarmult_curve25519.h.in in dist files 2013-04-26 11:25:58 -07:00
Frank Denis
65e1b792dc Don't forget SODIUM_EXPORT in version.h.in 2013-04-25 21:43:31 -07:00
Frank Denis
f0d71f9df0 Check allocate() return code. 2013-04-25 15:54:25 -07:00
Jeroen Habraken
eeab6bd2ce The "__attribute__((always_inline))" attribute does not replace "inline", they need to be used togher. This fixes the "warning: always_inline function might not be inlinable [-Wattributes]" warnings emitted by GCC 4.7. 2013-04-24 13:58:35 -05:00
Frank Denis
18369c960f Don't forget exporting symbols from crypto_scalarmult_curve25519 2013-04-24 08:40:43 -07:00
Frank Denis
b381f42d17 Move blake2 own functions to the crypto_generichash_blake2b namespace 2013-04-24 08:10:15 -07:00
Frank Denis
30909a7dea Fix DISTCLEANFILES 2013-04-23 22:57:05 -07:00
Frank Denis
f41677ef2e Remove extra leading spaces 2013-04-23 22:54:14 -07:00
Frank Denis
655a9589b8 Output .DEF file on Win32 2013-04-23 21:24:35 -07:00
Frank Denis
60e8d3c6da No need to define crypto_hash_sha512 as a macro, it's a real function. 2013-04-23 20:38:39 -07:00