Add specialized Validate() to ElGamal This was added for compatibility with BouncyCastle and other libraries. ElGamals paper and the HAC says to select x over the interval [1,p-1]. Crypto++ selects x over [1,q-1] as with other GFP schemes. Crypto++ fails to validate some of the keys of other libraries. DL_PublicKey_GFP_OldFormat used to perform a reduction on x, but I think it treated a symptom and not the underlying cause. The underlying cause was, Crypto++ wass too strict in validating the parameter. Note that wikipedia says to select the privaye key x over [1,q-1]. We are unable to find a reference for the practice, though it is OK.
Jeffrey Walton
2019-08-27 06:38:25 -0400
Check size_t to DWORD and ULONG conversions DWORD and ULONG are 32-bit. The conversion from size_t could fail, and the RNG would return a truncated result. I think it is low risk, but the test for the conversion test is cheap.
Jeffrey Walton
2019-08-17 21:19:04 -0400
Add ASSERT to check m_fd for values <0 We are seeing RNG falures on HURD, but we are not throwing when constructing BlockingRng or NonblockingRng. This is despite the fact that /dev/urandom is missing during testing. NonblockingRng should always thwo when /dev/urandom is missing.
Jeffrey Walton
2019-08-12 05:40:22 -0400
Tighten Test_RandomNumberGenerator test Debian HURD was slipping between the cracks. HURD appeared to be a minor failure because entropy on the heap improved the test result. After we zero'd the block, it was a catastrophic failure.
Jeffrey Walton
2019-08-12 05:34:11 -0400
34e49627b7Use C++ dynamic initialization if available
Jeffrey Walton
2019-08-12 00:11:41 -0400
Restore ECP ABI (GH #869) Placing AdditionFunction as an inner class of ECP broke the ABI. We need to maintain the ABI so distros can patch Crypto++ 8.2.
Jeffrey Walton
2019-08-09 17:34:14 -0400
Fix cryptest.sh when swap is 0 If there is enough RAM then we don't need a swap file. I've got a Core i7-8800 with 64 GB or RAM that does not need a swap file.
Jeffrey Walton
2019-08-09 17:18:58 -0400
Avoid temporary ECP::Point in ECP Addition and Double This regains a lot of performance lost to the const-timeness (GH #869)
Jeffrey Walton
2019-08-07 02:43:13 -0400
Fix RDSEED hang on x86 (GH #872) I am not sure why splitting rdrand.asm (with RDRAND and RDSEED) into rdrand.asm (with RDRAND) and rdseed.asm (with RDSEED) fixes this problem...
Jeffrey Walton
2019-08-06 19:24:37 -0400
41864fd49eUse local labels for RDRAND and RDSEED code (GH #872) This did not fix the issue, but it is something on the TODO list.
Jeffrey Walton
2019-08-06 00:18:56 -0400
a01711e347Fix CopyToRoot target with spaces in path
Jeffrey Walton
2019-08-05 13:27:54 -0400
Use recipient rather than responder in authenticated key agreement The recipient may not respond (though they do in the case of these key agreement schemes)
Jeffrey Walton
2019-08-03 23:52:50 -0400
9366be5615Use complete addition algorithms in ECP (GH #869) This is the initial cut-in of complete addition algorithms according to https://eprint.iacr.org/2015/1060.pdf. There are two outstanding problems. First, HMQV and FHMQV are failing self tests. We need to investigate further. Second, we cannot use the new algorithms on paths where a Montgomery representation is used. We need to investigate further. This cut-in will allow us to proceed on evaluating the timing leaks.
Jeffrey Walton
2019-08-02 23:21:04 -0400