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