Commit Graph

68 Commits

Author SHA1 Message Date
Jeffrey Walton
c9ef9420e7
Fix ECP leakage in Add() and Double() (GH #869, PR #871)
This check-in provides the fix for leaks in ECP's Add() and Double(). The fixes were taken from Joost Renes, Craig Costello, and Lejla Batina's [Complete addition formulas for prime order elliptic curves](https://eprint.iacr.org/2015/1060.pdf).

The Pull Request includes two additional changes that were related to testing the primary fix. First, an `AuthenticatedKeyAgreementWithRolesValidate` interface was added. It allows us to test key agreement when roles are involved. Roles are "client", "server", "initiator", "recipient", etc.

Second, `SetGlobalSeed` was added to `test.cpp` to help with reproducible results. We had code in two different places that set the seed value for the random number generator. But it was sloppy and doing a poor job since results could not be reproduced under some circumstances.
2019-08-05 03:51:58 -04:00
Jeffrey Walton
9888d22d4b
Rename ECGDSA_ISO15946 -> ECGDSA (#634) 2018-04-02 23:58:23 -04:00
Jeffrey Walton
c9b00c14fd
Update documentation 2018-01-22 20:13:18 -05:00
Jeffrey Walton
befd04312d
Remove unneeded Doxygen directive 2018-01-19 14:31:20 -05:00
Jeffrey Walton
4fd250c5c4
Remove commented compatibility methods 2018-01-19 05:52:45 -05:00
Jeffrey Walton
61ec50dabe
Change Doxygen comment style from //! to ///
Also see https://groups.google.com/forum/#!topic/cryptopp-users/A7-Xt5Knlzw
2017-11-29 10:54:33 -05:00
Jeffrey Walton
c518b31ae8
Update documentation 2017-11-26 01:43:00 -05:00
Jeffrey Walton
7097546cfc
Fix "X causes a section type conflict with Y" for GCC on AIX (GH #499)
These surfaced during testing with cryptest.sh
2017-09-17 07:08:14 -04:00
Jeffrey Walton
2c9a3039e8
Update documentation
This cleanup was performed using Clang and -Wdocumentation -Wno-documentation-deprecated-sync
2017-07-27 19:15:21 -04:00
Jeffrey Walton
7ac77ca9ac Revert "Revert "Clear Visual Studio warnings (Issue 412)""
This reverts commit c3871aec94.
2017-06-02 05:18:52 -04:00
Jeffrey Walton
c3871aec94 Revert "Clear Visual Studio warnings (Issue 412)"
This reverts commit eb3b27a6a5. The change broke GCC 4.8 and unknown version of Clang on OS X. UB reported the OS X break, and JW found duplicated the break on a ARM CubieTruck with GCC 4.8.
2017-06-02 05:06:56 -04:00
Jeffrey Walton
eb3b27a6a5
Clear Visual Studio warnings (Issue 412) 2017-05-30 16:37:41 -04:00
Jeffrey Walton
2297dd000a
Removed "typedef SHA1 SHA" (Issue 369)
This should have happened when we removed most of MAINTAIN_BACKWARDS_COMPATIBILITY artifacts. Its not practical move SHA1 into Weak:: namespace or "typedef SHA256 SHA" because SHA1 is too intertwined at the moment.

In the interim, maybe we can place SHA1 in both CryptoPP:: and Weak:: namespaces. This will allow us to transition into Weak::SHA1 over time, and signal to users SHA1 should be avoided.
2017-04-24 05:05:14 -04:00
Jeffrey Walton
5efb019d8b
Add C++ nullptr support (Issue 383) 2017-03-01 06:10:06 -05:00
Jeffrey Walton
62f92dd592
Change next version from 5.7 to 6.0
Crypto++ 5.7 was the increment after the 5.6.5 release. Crypto++ 6.0 accurately reflects compatibility
2017-02-21 12:59:20 -05:00
Jeffrey Walton
81b1a18063
Change file preamble to include "originally written by Wei Dai"
We have made a fair number of changes, and we don't want WD to receive credit for issues he was not part of
2017-01-27 07:05:45 -05:00
Jeffrey Walton
a6105c5417
Clear MSVC warning "warning C4189: 'params': local variable is initialized but not referenced" 2017-01-23 04:35:30 -05:00
Jeffrey Walton
08c0e26020
Add CRYPTOPP_ASSERT to Validate routines
Since we switched to CRYPTOPP_ASSERT we don't have to worry about an accidental assert in production. We can now assert ValidateElement and ValidateGroup and let the code warn of potential problems during development.
This came about because ECGDSA inadvertently used GetGroupOrder() rather than GetSubgroupOrder(). The assert alerted to the problem area without the need for debugging
2017-01-20 06:10:14 -05:00
Jeffrey Walton
379e76d27d
Add ECGDSA benchmarks using secp256k1 and sect233r1
Also add missing validation functions to test.cpp. The test and functions were present, but only accessible with 'cryptest.ex v', where all the tests were run
2016-12-13 19:16:21 -05:00
Jeffrey Walton
cecf719fcd
Add German digital signature algorithm (ECGDSA) (Issue 113)
Also see ISO/IEC 15946 and http://www.teletrust.de/fileadmin/files/oid/ecgdsa_final.pdf
2016-12-13 16:20:41 -05:00
Jeffrey Walton
99ae937d8b
Updated documentation (Issue 121) 2016-12-11 06:56:52 -05:00
Jeffrey Walton
7e42780517
Add Deterministic DSA and ECDSA Signatures (Issue 121)
Based on Douglas Roark PR 131
2016-12-11 01:02:00 -05:00
Jeffrey Walton
1b16a75352
Updated documentation (Issue 328) 2016-12-03 17:07:43 -05:00
Jeffrey Walton
7cc8ad1a1d
Updated documentation (Issue 328) 2016-12-03 14:46:52 -05:00
Jeffrey Walton
ba75834ae9
Removed VC++ 5.0 and 6.0 workarounds (Issue 342) 2016-12-03 05:05:56 -05:00
Jeffrey Walton
bded4d385f
Commented typedef guarded by CRYPTOPP_MAINTAIN_BACKWARDS_COMPATIBILITY
The typedefs were only commented so folks could search for a missing symbol, like Crypto++ 4.0 PK_FixedLengthEncryptor or PK_FixedLengthDecryptor
This is a distinct change from CRYPTOPP_MAINTAIN_BACKWARDS_COMPATIBILITY_562
2016-12-03 00:58:54 -05:00
Jeffrey Walton
40230dd3bf
Removed MAINTAIN_BACKWARDS_COMPATIBILITY_562 (Issue 70) 2016-12-03 00:32:07 -05:00
Jeffrey Walton
82009ecf41
Increment version to 5.7 due to ABI break *Issue 337)
We still need to supply a patch for those maintaining 5.6.x
2016-12-01 18:10:56 -05:00
Ralph Tandetzky
35a2ef10a2 Fix: GCC warning "type qualifiers ignored on function return type".
This pedantic message appeared all over the code. Also removed one warning about an unused variable in release build.
2016-12-01 15:37:04 +01:00
Jeffrey Walton
76b11b010c
Add CRYPTOPP_STATIC_CONSTEXPR macro 2016-11-13 11:50:34 -05:00
Jeffrey Walton
1f054924b4
Updated documentation 2016-10-18 19:39:33 -04:00
Jeffrey Walton
c3e2e0fb25
Align with BouncyCastle and Botan for DLIES and ECIES. Updated documentation 2016-10-18 17:01:28 -04:00
Jeffrey Walton
54d17c7361
Updated CRYPTOPP_ASSERT based on comments
Also see 399a1546de (commitcomment-19448453)
2016-10-17 22:00:31 -04:00
Jeffrey Walton
255d285ef2
Change curve25519 and curve448 to friendlier names 2016-10-16 03:33:48 -04:00
Jeffrey Walton
01b40aab31 Merge 'master' into 'hmqv' 2016-09-08 01:30:29 -04:00
Jeffrey Walton
c1556295e6 Add constexpr-ness to StaticAlgorithmName member function 2016-09-07 06:16:46 -04:00
Jeffrey Walton
060ba1a696 Add EC prefix to classes which operate over elliptic curves 2016-07-21 00:21:48 -04:00
Jeffrey Walton
dba6c35c5b Updated documentation 2016-07-14 01:59:23 -04:00
Jeffrey Walton
1872013dfe Merge branch 'master' into hmqv 2016-07-07 19:59:29 -04:00
Jeffrey Walton
6c0b120072 Go back to Commit 66ada4cc61 2016-07-06 14:39:18 -04:00
Mouse
c6c0bdeebe Revert "Add HMQV implementation (and merge the old FHMQV into the new codebase)"
This reverts commit ec35099589.
2016-07-06 12:15:47 -04:00
Mouse
87be783cd1 Revert "Merge remote-tracking branch 'upstream/master'" - not intended to be merged by me
This reverts commit 762c315566, reversing
changes made to b48866631a.
2016-07-06 12:01:28 -04:00
Mouse
762c315566 Merge remote-tracking branch 'upstream/master' 2016-07-06 09:22:07 -04:00
Jeffrey Walton
fb72dbc8cb Add MacPorts GCC compiler and Clang integrated assembler support. This is a merge of the development branch 'clang-ia' 2016-07-05 02:48:27 -04:00
Mouse
5bdabb7a68 Add HMQV and merge untracked FHMQV 2016-07-04 13:05:38 -04:00
Uri Blumenthal
ec35099589 Add HMQV implementation (and merge the old FHMQV into the new codebase) 2016-07-01 14:30:43 -04:00
denisbider
f50a515ce0 Removed duplicated code in eccrypto.h
Recent update made to bottom part (CRYPTOPP_CLANG_VERSION >= 20800) applied to top part.
2016-01-03 02:09:45 -06:00
Jeffrey Walton
f707b9ef16 Fixed GCC version for deprecated attribute 2015-12-27 23:44:36 -05:00
Jeffrey Walton
298988a5b9 Crypto++ 5.6.3 check-in 2015-11-22 19:17:15 -05:00
Jeffrey Walton
62618fda97 Revert botched "Crypto++ 5.6.3 check-in". Corruption due to VMware adding garbage to the end of some source files during drag and drop from guest to host.
This reverts commit c454358122.
2015-11-22 19:11:31 -05:00