Commit Graph

20 Commits (65b10a4af84ad33eb72609b23085c0d49a9c29d7)

Author SHA1 Message Date
Jeffrey Walton 4caa5ee724
Add SecretToPublicKey function for ed25519
Also remove IsClamped. Clamping occurs with ed25519, but it happens inside the Donna code. It is not needed elsewhere for ed25519.
2019-02-07 15:00:00 -05:00
Jeffrey Walton 31fdfaa070
Clear unused function warning in Donna source files (GH #793) 2019-01-30 23:06:06 -05:00
Jeffrey Walton d62674b561
Add ed25519 (GH #764, PR #767)
Add ed25519
2018-12-24 17:17:32 -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 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 b19abcde1f
Cleanup donna files 2018-12-13 14:17:36 -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 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 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 3d98320b1e
Fix compile on 32-bit SunCC (GH #761) 2018-12-12 09:05:56 -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 77923a291a
Add Langley's curve25519 (GH #761, PR# 762) 2018-12-11 16:17:56 -05:00