Jeffrey Walton
4f64bb8eb3
Clear warning C4163: '_umul128' : not available as an intrinsic function
2018-12-14 12:23:18 -05:00
Jeffrey Walton
91e5844625
Enable x25519 64-bit code path for Microsoft compilers
2018-12-14 12:17:50 -05:00
Jeffrey Walton
235c615a10
Make TestCurve25519 available in Release builds
2018-12-14 12:15:58 -05:00
Jeffrey Walton
00f777661d
Update comments and documentation
2018-12-14 04:35:07 -05:00
Jeffrey Walton
6f2188af79
Use byte instead of unsigned char
2018-12-14 04:19:03 -05:00
Jeffrey Walton
cac977856a
Clear alginment warning with Clang
...
The data is aligned, but Clang issues warning based on type and not the actual alignment of the variable and data.
2018-12-14 04:14:44 -05:00
Jeffrey Walton
d35124f304
Make SSE2 configurable via CRYPTOPP_SSE2_INTRIN_AVAILABLE
...
Benchmarking shows things run a little slower with SSE2 on modern Core i5's. Also update comments and links
2018-12-14 03:17:04 -05:00
Jeffrey Walton
67af746743
Update comments
2018-12-14 02:14:20 -05:00
Jeffrey Walton
c0150ed4bd
Fix placement of align attribute for 32-bit
2018-12-14 02:00:55 -05:00
Jeffrey Walton
6dc60888d9
Fix the cut-in of Moon's implementation (GH #761 )
...
The initial cut-in was missing preamble present in Moon's curve25519_donna function. It originally tested good because we only perform a pairwise consistency check in release builds. Comprehensive testing with debug builds revealed the problem. Debug builds cross-validate against Bernstein's TweetNaCl library.
2018-12-13 20:34:39 -05:00
Jeffrey Walton
8c3432473b
Update comments
2018-12-13 18:51:15 -05:00
Jeffrey Walton
27cd177209
Fix the cut-in of Moon's implementation (GH #761 )
...
The initial cut-in was missing preamble present in Moon's curve25519_donna function. It originally tested good because we only perform a pairwise consistency check in release builds. Comprehensive testing with debug builds revealed the problem. Debug builds cross-validate against Bernstein's TweetNaCl library.
2018-12-13 18:50:42 -05:00
Jeffrey Walton
eb749783da
Fix the cut-in of Moon's implementation (GH #761 )
...
The initial cut-in was missing preamble present in Moon's curve25519_donna function. It originally tested good because we only perform a pairwise consistency check in release builds. Comprehensive testing with debug builds revealed the problem. Debug builds cross-validate against Bernstein's TweetNaCl library.
2018-12-13 18:22:34 -05:00
Jeffrey Walton
83ddeadb65
Make clamped and small order tests static class members
2018-12-13 16:16:40 -05:00
Jeffrey Walton
b19abcde1f
Cleanup donna files
2018-12-13 14:17:36 -05:00
Jeffrey Walton
560c332f19
Cutover to Andrew Moon's 64-bit code (GH #761 )
...
The code is public domain without license restrictions. It is also faster than Langley's original implementation.
2018-12-13 13:25:22 -05:00
Jeffrey Walton
5f8dcbbb37
Cleanup Moon's donna_32.cpp
2018-12-13 13:24:14 -05:00
Jeffrey Walton
adf109a953
Cutover to Andrew Moon's 32-bit code (GH #761 )
...
The code is public domain without license restrictions. It is also faster than Langley's original implementation.
2018-12-13 12:03:41 -05:00
Jeffrey Walton
9156c49555
Update comments
2018-12-13 11:57:52 -05:00
Jeffrey Walton
c76f50ebbb
Add missing header guard
2018-12-13 11:33:26 -05:00
Jeffrey Walton
26fc727f8f
Increase precision on OutputResultOperations
...
Andrew Moon's x25519 SSE2 code broke reporting because it was too fast.
2018-12-13 10:48:07 -05:00
Jeffrey Walton
12e9d137b2
Fix copy/paste error
...
32-bit was copied into 64-bit, including the oversized declarations.
2018-12-13 10:27:35 -05:00
Jeffrey Walton
152ac6177c
Add Moon's curve25519 using SSE2 (GH #761 )
...
Moon's code is very fast. In fact it is so fast it broke our benchmarks. Moon's code registers 0.00 milliseconds and 0.00 megacycles/operation.
2018-12-13 10:19:54 -05:00
Jeffrey Walton
20f4d22055
Fix compile on 32-bit MIPS (GH #761 )
...
Testing on a ci20 dev-board with Debian 5 and GCC 4
2018-12-13 04:21:38 -05:00
Jeffrey Walton
0bdacf1496
Fix missing semi-colon in non-ASM path
2018-12-13 03:39:01 -05:00
Jeffrey Walton
459035fcaa
Cleanup donna_32.cpp arithmetic shift
2018-12-12 22:52:15 -05:00
Jeffrey Walton
a09d4024b7
Perform both is_clamped and is_small_order at level 2 validation
2018-12-12 10:48:53 -05:00
Jeffrey Walton
220ae9b914
Update documentation
2018-12-12 10:35:00 -05:00
Jeffrey Walton
b5cf4ff307
Remove unneeded TYPE_OF_SOCKLEN_T define.
...
This should have been removed at GH #208 , PR #703 .
2018-12-12 10:16:15 -05:00
Jeffrey Walton
131397ba5a
Documented Donna namespace for curve25519
2018-12-12 10:14:27 -05:00
Jeffrey Walton
0ad50c61ed
Switch to library integer types
...
The standard ints will cause trouble on older versions of Visual Studio. It looks like they were missed at the initial cut-in.
2018-12-12 09:48:41 -05:00
Jeffrey Walton
d481922a50
Re-enable UBsan tests on Travis
...
The Xenial image and the Xcode 10.1 toolchain are mature enough to enable the sanitizer.
2018-12-12 09:34:09 -05:00
Jeffrey Walton
3d98320b1e
Fix compile on 32-bit SunCC (GH #761 )
2018-12-12 09:05:56 -05:00
Jeffrey Walton
80c551121f
Remove duplicate test run
...
The test vector collection is run earlier in the process.
2018-12-12 05:59:20 -05:00
Jeffrey Walton
e97d6d0ff5
Fix failed self test when NO_OS_DEPENDENCE (GH #761 )
...
Add is_clamped for secret key validation.
Cleanup paramter names in Donna::curve25519 to follow function.
Overload Donna::curve25519 to implicitly use base point if not provided.
Add additional asserts to let the code debug itself.
Update documentation.
2018-12-12 03:56:09 -05:00
Jeffrey Walton
80776453f8
Fix x25519 test data (GH #761 )
2018-12-12 03:55:56 -05:00
Jeffrey Walton
34d42b6998
Cut-in x25519 weak points and validation
2018-12-11 18:26:44 -05:00
Jeffrey Walton
4afa78c0e2
Update documentation
2018-12-11 17:48:19 -05:00
Jeffrey Walton
20fce33449
Update documentation
2018-12-11 17:32:28 -05:00
Jeffrey Walton
77923a291a
Add Langley's curve25519 (GH #761 , PR# 762)
2018-12-11 16:17:56 -05:00
Jeffrey Walton
c1681148a2
Add fallback arch in case arch is not set for setenv-ios.sh
2018-12-09 13:19:27 -05:00
Jeffrey Walton
0aa217b91c
Update comments in config.h
...
Some comments in config.h were old. Time for a refresh.
Switch from CRYPTOPP_BOOL_ARM64 to CRYPTOPP_BOOL_ARMV8. Aarch32 is ARMv8, and that's the important part.
2018-12-09 10:24:55 -05:00
Jeffrey Walton
fbb9b40397
Update Travis Android SDK and NDK gear
2018-12-09 09:43:15 -05:00
Jeffrey Walton
709ca5c480
Update Travis Android SDK and NDK gear
2018-12-09 09:39:38 -05:00
Jeffrey Walton
354e7ca7c9
Update Travis Android SDK and NDK gear
2018-12-09 08:11:04 -05:00
Jeffrey Walton
e08898b215
Squash Android SDK warning
...
Also see https://stackoverflow.com/a/47028911/608639
2018-12-09 06:36:52 -05:00
Jeffrey Walton
b6acde8327
Add setenv-travis script
2018-12-09 06:04:53 -05:00
Jeffrey Walton
123b0725cf
Update Travis Android SDK and NDK gear
2018-12-09 04:52:06 -05:00
Jeffrey Walton
7a191ba42d
Update Travis Android SDK and NDK gear
2018-12-09 04:51:07 -05:00
Jeffrey Walton
435b7cabd3
Update Travis Android SDK and NDK gear
2018-12-09 04:19:00 -05:00