Commit Graph
100 Commits
Author SHA1 Message Date
Frank Denis 201ee903a2 Credit Blake2 team 2013-04-21 17:32:09 -07:00
Frank Denis 0426aa28da Welcome, Blake2 2013-04-21 17:32:08 -07:00
Frank Denis d43309490a Add preliminary tests for crypto_generichash (blake2) 2013-04-21 17:32:08 -07:00
Frank Denis ec38ca745d Wrap crypto_generichash() and add necessary macros.
The streaming API will be wrapped next.
2013-04-21 17:32:08 -07:00
Frank Denis 2bf7fb85bf Nits 2013-04-21 17:32:08 -07:00
Frank Denis 3f13a1e9d0 Turn crypto_verify macros to functions.
No wrappers since there isn't going to be alternative implementations anytime
soon.
2013-04-21 17:32:08 -07:00
Frank Denis 3ffdfd2b3d crypto_stream macros -> functions 2013-04-21 17:32:08 -07:00
Frank Denis 55d0b9f486 Shave some lines in crypto_sign_keypair(), reintroduce @bascule's original code 2013-04-21 17:32:08 -07:00
Frank Denis 5ca15fa3e8 Change some crypto_sign macros to functions. 2013-04-21 17:32:08 -07:00
Frank Denis a821eae055 Reintroduce crypto_sign_seed_keypair 2013-04-21 17:32:08 -07:00
Frank Denis 83a3892209 Wrap crypto_shorthash 2013-04-21 17:32:08 -07:00
Frank Denis c46e08585b Wrap crypto_secretbox 2013-04-21 17:32:08 -07:00
Frank Denis fade3b640c crypto_scalarmult wrappers 2013-04-21 17:32:08 -07:00
Frank Denis 25c18b66e5 Make crypto_hash a real function. 2013-04-21 17:32:07 -07:00
Frank Denis 7d916fb0b1 Make crypto_box functions actual functions, not macros. 2013-04-21 17:32:07 -07:00
Frank Denis 1cbe55f9bd Sort filenames 2013-04-21 17:32:07 -07:00
Frank Denis 8a5165bf06 Start replacing macros with real functions. First candidate: crypto_auth 2013-04-21 17:32:07 -07:00
Frank Denis 220ad48353 Make the tests compileable from a separate directory. 2013-04-21 17:32:07 -07:00
Frank Denis 1da604d27d Allow building in a separate directory 2013-04-21 17:32:07 -07:00
Frank Denis 2b2b9846a6 Only compile curve25519_ref or curve25519_donna_c64 2013-04-21 17:32:07 -07:00
Frank Denis 2916224650 Use curve25519_donna_c64 instead of curve25519_ref if supported. 2013-04-21 17:32:07 -07:00
Frank Denis 7139def69f HAVE_MODE_TI -> HAVE_TI_MODE 2013-04-21 17:32:07 -07:00
Frank Denis 9626bbeb44 (re)import curve25519_donna_c64 2013-04-21 17:32:07 -07:00
Frank Denis 1f596a0966 Add crypto_scalarmult.h 2013-04-21 17:32:07 -07:00
Frank Denis ba13e40ad1 Update Makefile.am 2013-04-21 17:32:07 -07:00
Frank Denis 280ff25f52 Avoid duplicate crypto_verify.h 2013-04-21 17:32:07 -07:00
Frank Denis b86a933ba5 Link aes128ctr 2013-04-21 17:32:06 -07:00
Frank Denis 7844b905d4 Avoid duplicate crypto_stream.h 2013-04-21 17:32:06 -07:00
Frank Denis 83842a73c8 Avoid duplicate crypto_sign.h 2013-04-21 17:32:06 -07:00
Frank Denis 8da4cb057c Avoid duplicate crypto_shorthash.h 2013-04-21 17:32:06 -07:00
Frank Denis d6636dbc7a Avoid duplicate crypto_secretbox.h 2013-04-21 17:32:06 -07:00
Frank Denis 195df90524 Avoid duplicate crypto_scalarmult.h 2013-04-21 17:32:06 -07:00
Frank Denis bb2af7396e Avoid duplicate crypto_hashblocks.h 2013-04-21 17:32:06 -07:00
Frank Denis 32c2d620a9 Import missing api.h files 2013-04-21 17:32:06 -07:00
Frank Denis c1c3ecd80a Avoid duplicate crypto_hash.h 2013-04-21 17:32:06 -07:00
Frank Denis 34731d9717 Rename crypto_generichash.h 2013-04-21 17:32:06 -07:00
Frank Denis 24bd4137e9 Avoid duplicate crypto_core.h definitions 2013-04-21 17:32:06 -07:00
Frank Denis 03196c9550 Avoid duplicate crypto_box.h files 2013-04-21 17:32:05 -07:00
Frank Denis 1a86716acf Avoid duplicate crypto_auth.h 2013-04-21 17:32:05 -07:00
Frank Denis 54d96dd417 rename crypto_onetimeauth local defines. 2013-04-21 17:32:05 -07:00
Frank Denis fc98102f2a sodium_reinit() and sodium_shutdown() are gone. 2013-04-21 17:32:05 -07:00
Frank Denis 05f45575bb sodium_init() is not thread-safe. Roll your own locks if you need that. 2013-04-21 17:32:05 -07:00
Frank Denis 48d4b5ab1e Rename curve25519 files so that we can introduce the donna_c64 version later. 2013-04-21 17:32:05 -07:00
Frank Denis 6f5f793195 Remove crypto_onetimeauth/poly1305/checksum 2013-04-21 17:32:05 -07:00
Frank Denis e29d92347b Remove crypto_onetimeauth/try.c 2013-04-21 17:32:05 -07:00
Frank Denis 03b82780fd Import missing onetimeauth_poly1305_try.c 2013-04-21 17:32:05 -07:00
Frank Denis 3b57f77262 Pick the best working poly1305 implementation at runtime. 2013-04-21 17:32:05 -07:00
Frank Denis aa6488dbe9 Include <stdint.h> when we need SIZE_MAX 2013-04-21 17:32:05 -07:00
Frank Denis 98a87d8ea7 Add _sodium_alignedcalloc() 2013-04-21 17:32:05 -07:00
Frank Denis c3d9659fc6 80 columns whenever possible 2013-04-21 17:32:04 -07:00
Frank Denis 7e2ccbe5ed No more options 2013-04-21 17:32:04 -07:00
Frank Denis 47bc0aab79 sodium_init() doesn't take any options any more. 2013-04-21 17:32:04 -07:00
Frank Denis 8e7bb5d0ce Move sodium-specific files to a dedicated directory 2013-04-21 17:32:04 -07:00
Frank Denis 98a58ff3f9 Fix sodium_init() 2013-04-21 17:32:04 -07:00
Frank Denis dd45e3824f Declare the sodium_options anon struct. 2013-04-21 17:32:04 -07:00
Frank Denis faa399c3df Only include sodium.h in tests.
Tests should always be passing by just including that.
2013-04-21 17:32:04 -07:00
Frank Denis fd11d8b7d7 Include sodium.h in cmptest.h and call sodium_init()/sodium_shutdown() 2013-04-21 17:32:04 -07:00
Frank Denis b8bfcb7bd6 Link core.c 2013-04-21 17:32:04 -07:00
Frank Denis 363ff0bdc5 Import src/libsodium/include/sodium/crypto_onetimeauth_poly1305_53.h 2013-04-21 17:32:04 -07:00
Frank Denis fe909c674f Link the floating point implementation of poly1305 2013-04-21 17:32:04 -07:00
Frank Denis ca781f4837 Include core.[ch] 2013-04-21 17:32:04 -07:00
Frank Denis 02cea61336 Add sodium_init(), sodium_reinit() and sodium_shutdown() 2013-04-21 17:32:03 -07:00
Frank Denis 232702ca83 Include randombytes implementations in sodium.h 2013-04-21 17:32:03 -07:00
Frank Denis 9f1fd2a71d Turn implementation definitions to globals. 2013-04-21 17:32:03 -07:00
Frank Denis 7aa057dcd8 Make the randombytes interface consistent with crypto_onetimeauth 2013-04-21 17:32:03 -07:00
Frank Denis 5ba6aef1da Export randombytes implementation structs 2013-04-21 17:32:03 -07:00
Frank Denis 05eefa306e Export crypto_onetimeauth_poly1305_[ref_]implementation_name() 2013-04-21 17:32:03 -07:00
Frank Denis ddb268c47c Export crypto_onetimeauth_poly1305_ref_implementation() 2013-04-21 17:32:03 -07:00
Frank Denis ab23649de5 Shorten randombytes_implementation members. 2013-04-21 17:32:03 -07:00
Frank Denis f3e0d9a140 Make the crypto_onetimeauth_poly1305() implementation switchable at runtime 2013-04-21 17:32:03 -07:00
Frank Denis 96db80f17f Move randombytes implementations to their own directory for consistency. 2013-04-21 17:32:03 -07:00
Frank Denis 707dcb0c44 Check if we need -lm for fe[gs]etenv() 2013-04-21 17:32:03 -07:00
Frank Denis b64beede1d Enforce round-to-nearest. 2013-04-21 17:32:03 -07:00
Frank Denis b282b45dc7 Use standard C99 types 2013-04-21 17:32:02 -07:00
Frank Denis a74cfe4112 Import poly1305_53 2013-04-21 17:31:54 -07:00
Frank Denis e53e0895e7 Remove *_implementation_ macros.
They are identical for all implementations of a given primitive and
it's bound to always be the case.
We will eventually pick suitable implementations at run-time, so
these won't make any sense.
Remove implementation names/versions macros as well.
These should be functions, not macros.
2013-04-16 10:59:40 +02:00
Frank Denis b33dba4fd7 ge25519_base.data is not required any more 2013-04-09 18:36:31 +02:00
Frank Denis 9833dfeac8 Don't forget to include crypto_shorthash headers in sodium.h 2013-04-04 14:21:20 -07:00
Frank Denis d50249c927 Use stdbool macros instead of _Bool
Just to cope with that Visual Studio thing that still doesn't support C99.
I hate that because some libraries can redefine "bool" in an incompatible way.
It's okay. Until we have that in an exported prototype.
2013-03-31 15:28:15 -07:00
Frank Denis e59ed29ee8 Export the shared library version, not just the package version. 2013-03-31 15:22:43 -07:00
Frank Denis 5f3104cf5f Turn COMPILER_ASSERT() to assert() in generichash_blake2b.c
Thanks to @sneves
2013-03-31 14:56:27 -07:00
Frank Denis 077e89b6b5 Types definitions in randombytes.h require stdint.h, not inttypes.h 2013-03-31 14:51:06 -07:00
Frank Denis fbdc55daf6 Add Kalium 2013-03-30 21:55:45 -07:00
Frank Denis b88d92d69d Replace the ed25519 ref implementation with ref10 from supercop 2013-03-25 11:47:15 -07:00
Frank Denis a8ba78e527 Accept a null keylen for blake2 2013-03-19 00:35:53 -07:00
Frank Denis 34f2982754 Use sodium_memzero() for secure_zero_memory() in Blake2 2013-03-19 00:16:09 -07:00
Frank Denis aa422c7493 Import Blake2 - WIP 2013-03-19 00:13:25 -07:00
Frank Denis 8f83466c87 Don't include <string> when parsing headers as C++ code. 2013-03-18 23:29:58 -07:00
Frank Denis 9dac631c27 Don't forget the credits for siphash, oops. 2013-03-18 23:22:51 -07:00
Frank Denis 2f30b21a5c Remove api.h, we don't use it any more 2013-03-18 23:01:25 -07:00
Frank Denis 8b728c9034 Export sodium_memzero() as this will be required for Blake2, too. 2013-03-18 21:45:05 -07:00
Frank Denis bc05a0f3d8 Remove sha512 inplace implementation 2013-03-18 21:05:24 -07:00
Frank Denis 99eb176e82 Mention libchloride 2013-03-17 23:22:40 -07:00
Frank Denis 4395817042 Check for gcc TI mode availablity 2013-03-17 18:40:14 -07:00
Frank Denis 289a75113c Remove SODIUM_PATH 2013-03-16 20:08:13 -07:00
Frank Denis 039636e34c Add a new --enable-debug autoconf switch
Remove duplicate --enable-blocking-random by the way
2013-03-16 20:06:00 -07:00
Frank Denis f5f72f0165 Remove CurveCP 2013-03-16 19:59:25 -07:00
Frank Denis 9e7c960a02 const on return type is useless. Bump lib version by the way. 2013-03-11 22:46:17 -07:00
Frank Denis f559391557 Remove (soon to be) obsolete -fcatch-undefined-c99-behavior 2013-03-11 22:40:58 -07:00
Frank Denis c0475cc1e2 Remove donna_c64 implementation until we actually link it on 64-bit platforms 2013-03-11 15:15:10 -07:00