Commit Graph
247 Commits
Author SHA1 Message Date
Frank Denis 34fe1205ac Mark clang false positives 2013-07-07 18:57:09 -07:00
Frank Denis cdbbe47ed9 Remove dead assignments that the compiler optimizes out. 2013-07-07 14:27:31 -07:00
irungentoo 4c43660f68 libsodium now cross compiles correctly for Windows from Linux. 2013-07-03 14:41:47 -04:00
Frank Denis d0e84777ab Add missing SODIUM_EXPORT in crypto_stream.h 2013-06-05 21:54:52 -07:00
Frank Denis 01ee32e3a3 Merge remote-tracking branch 'stouset/add-lookup-methods-for-all-constants'
* stouset/add-lookup-methods-for-all-constants:
  Add remaining functions for looking up constants
  Fix definition of crypto_box_curve25519xsalsa20poly1305_macbytes
  Add functions exposing constants for all operation/primitive pairs
2013-05-22 11:42:58 -07:00
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
Stephen Touset 98c02a21d6 Add remaining functions for looking up constants
The automated script that generated functions for looking up #define'd
constants didn't handle edge cases in these files, so these have been
added by hand. They're thus either more likely or less likely to
contain mistakes (depending on one's particular point of view).
2013-05-16 15:48:08 -07:00
Stephen Touset 2a0f3d040f Fix definition of crypto_box_curve25519xsalsa20poly1305_macbytes
This function definition was created by an automated script that
incorrectly handled a corner case.
2013-05-16 15:27:28 -07:00
Stephen Touset 8eea4a3f74 Add functions exposing constants for all operation/primitive pairs
Wrappers for other languages can't access constants defined by C
preprocessor macros, so they must be exposed as functions. This was
already done for the "default" implementation of each operation, but
this commit adds functions for (almost) all of the underlying
primitives.

A few are currently excluded due to problems with the automated script
used to generated this commit. They are:

  * crypto_onetimeauth_poly1305
  * crypto_generichash_blake2b
  * crypto_verify16
  * crypto_verify32
2013-05-16 13:17:18 -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