Frank Denis
5e17a7adf8
Check that scalarmult() returns -1 with a point of small order
...
325606250916557431795983626356110631294008115727848805560023387167927233504
is a point of order 8
2015-11-17 11:07:37 +01:00
Frank Denis
1e33a0beab
Update ChangeLog
2015-11-17 11:07:37 +01:00
Frank Denis
2bc5874874
Check that the output of X25519 is not the all-zero value
...
Return -1 if this happens, and mark crypto_scalarmult() as warn_unused_result
Mark dependent functions with warn_unused_result as well
2015-11-17 11:07:33 +01:00
Frank Denis
bdd2cdb3ac
Consistency
2015-11-17 00:38:17 +01:00
Frank Denis
55f6eb83f8
Keep it simple
2015-11-16 23:47:33 +01:00
Frank Denis
9337ecfa60
Add tests for sodium_add(), more tests for sodium_increment() and is_zero()
2015-11-16 23:22:01 +01:00
Frank Denis
27466ded16
Indent
2015-11-16 23:19:24 +01:00
Frank Denis
07c42492e5
Repair sodium_is_zero()
2015-11-16 23:17:42 +01:00
Frank Denis
397d50664a
Faster sodium_is_zero() and sodium_increment() helpers
...
Also add sodium_add(), since people tend to reimplement this in order to
add constants to nonces.
2015-11-16 22:14:27 +01:00
Frank Denis
b74f644d3f
Replace CPU_ALIGNED_ACCESS_REQUIRED with CPU_UNALIGNED_ACCESS
...
Instead of defining a macro when aligned memory access is required,
define one when unaligned memory access is supported.
Safer when cross-compiling or not using autoconf
2015-11-16 22:01:19 +01:00
Frank Denis
7371f0dca4
Use SSSE3 instructions even on Visual Studio with a 32-bit target
2015-11-16 16:26:02 +01:00
Frank Denis
0ad21a218c
Return CPU features in Visual Studio builds
...
Please note that on other platforms, we keep checking if intrinsics are available.
has_*() means that not only a CPU feature is present, but also that Sodium can
use it.
2015-11-16 16:16:54 +01:00
Frank Denis
eb8119d65c
Enable 128-bit arithmetic if __int128 is available
2015-11-15 18:16:15 +01:00
Frank Denis
347464d3fd
Update ChangeLog
2015-11-15 18:15:05 +01:00
Frank Denis
08a61e16d0
Update the top level VS solution
2015-11-15 18:01:17 +01:00
Frank Denis
f9169ac55b
Add a compile-time size check
2015-11-14 16:56:47 +01:00
Frank Denis
707562cd4b
Update ChangeLog
2015-11-14 16:46:54 +01:00
Frank Denis
cf3064b08f
More explicit casts. Unaligned accesses are fine on these architectures.
2015-11-14 16:22:28 +01:00
Frank Denis
27048b06aa
Clear the state after poly1305_finish()
2015-11-14 16:22:28 +01:00
Frank Denis
e4167d66fe
Do not require assembly code to increment with carry
2015-11-14 16:22:24 +01:00
Frank Denis
dd238f518d
Bump major
2015-11-14 15:33:15 +01:00
Frank Denis
0af177d1bf
Indent
2015-11-14 15:28:29 +01:00
Frank Denis
096ea8a91d
Handle partial blocks in poly1305_sse2
2015-11-14 15:23:25 +01:00
Frank Denis
2742547a27
Link poly1305_sse2
...
Breakage is expected as partial blocks are not handled yet
2015-11-14 14:34:34 +01:00
Frank Denis
a964055487
Make the poly1305_sse2 code more consistent with the other implementation
2015-11-14 13:57:25 +01:00
Frank Denis
6b7811471b
Import vanilla poly1305_sse2
2015-11-14 13:55:40 +01:00
Frank Denis
121978e2c3
Different ways to avoid inlining
2015-11-14 10:27:08 +01:00
Frank Denis
bd4c5c0d17
Remove crypto_onetimeauth_poly1305_donna_implementation_name() prototype
2015-11-14 01:57:46 +01:00
Frank Denis
c179651c62
auth_poly1305_donna.c -> poly1305_donna.c for consistency
2015-11-14 01:40:09 +01:00
Frank Denis
fb28119a38
Check inline assembly code using __asm__ __volatile__
2015-11-14 01:21:55 +01:00
Frank Denis
985d3891f9
Use poly1305_state_internal_t for the state of poly1305 internal functions
2015-11-14 01:04:28 +01:00
Frank Denis
2550fd8f1c
Indent
2015-11-14 00:38:07 +01:00
Frank Denis
75cc7123da
ctx -> state for consistency with the high-level functions
2015-11-14 00:30:08 +01:00
Frank Denis
580c22fd21
Get rid of poly1305_state to reduce the number of indirections
2015-11-14 00:19:18 +01:00
Frank Denis
8bced53601
Add compilation-time poly1305 structure size checks
2015-11-13 23:12:20 +01:00
Frank Denis
7561a25d5a
Add a is_zero() helper
2015-11-13 01:48:34 +01:00
Frank Denis
cc29da17c3
Use minimal builds on msys2
2015-11-11 12:41:41 +01:00
Frank Denis
1f18cf383a
Always include <stdint.h> and <limits.h> for SIZE_MAX
2015-11-10 19:01:39 +01:00
Frank Denis
ceb9c566fb
Implement the old edwards25519sha512batch construction on top of ref10
...
Only for backward compatibility; not compiled in minimal mode.
2015-11-10 11:06:13 +01:00
Frank Denis
2ff0ec3aa1
Move the legacy edwards25519sha512batch code to the attic
2015-11-10 07:48:11 +01:00
Frank Denis
7e995780a8
Remove useless sodium_memzero()
2015-11-10 07:39:37 +01:00
Frank Denis
179587d1cc
Travis: sudo is not needed
2015-11-09 01:11:34 +01:00
Frank Denis
49e160a165
In blake2b_final() the leftover shouldn't exceed two blocks
2015-11-08 23:17:57 +01:00
Frank Denis
8986a95fd8
Update the top Visual Studio solution
2015-11-07 22:25:33 +01:00
Frank Denis
25d93a501f
Travis: run the compile-everything task after having run ./configure
2015-11-07 19:23:54 +01:00
Frank Denis
a46e3dc8c6
Travis: check that the project compiles by including everything
...
and completely ignoring the normal autotools way.
This is completely unsupported, but some projects use it that
way no matter what.
2015-11-07 19:17:54 +01:00
Frank Denis
8b94965b71
Check HAVE_AMD64_ASM to assemble x86_64 code (or not), not __x86_64__
2015-11-07 19:15:04 +01:00
Frank Denis
5ea53c32ee
HMAC-SHA1 -> Blake2b in randombytes_salsa20
...
No functional changes but it's slightly faster and more readable.
2015-11-07 18:45:45 +01:00
Frank Denis
77c25db23a
Rename s to hsigma, use hex, clarify that this constant is not a PRNG "seed"
2015-11-07 09:35:12 +01:00
Frank Denis
c574ad86e5
Remove unused base_curve25519_donna_c64.c file from the repository
2015-11-07 00:16:32 +01:00