summaryrefslogtreecommitdiff
path: root/seckey.h
Commit message (Collapse)AuthorAgeFilesLines
* Use \return and \throw consitently in the docsJeffrey Walton2020-12-071-10/+10
|
* Fix semicolons yet again (GH #889)Jeffrey Walton2019-10-141-22/+22
| | | | So it looks like sed added a '\r' between the closing paren and the semi. Grepping for '^;' failed because the '\r' was considered part of the previous line, so it showed no hits. I finally had to write a C program to properly identify and fix those damn stray semicolons.
* Don't add semicolon to CRYPTOPP_CONSTANT abd DOCUMENTED_TYPEDEF (GH #889)Jeffrey Walton2019-10-031-22/+22
| | | | This issue is a recurring issue. Let's try fixing it in the #define this time.
* Clear C4296 under MSVC++ (GH #821)Jeffrey Walton2019-04-271-1/+1
|
* Fix clang warnings (GH #771)Marcel Raad2019-01-021-2/+2
|
* Remove DEFAULT_BLOCKSIZE constants (GH #535)Jeffrey Walton2018-10-141-6/+0
| | | | This should have been removed around January 2018 with the other functions.
* Remove StaticGetValidBlockSize (GH #535)Jeffrey Walton2018-10-141-17/+0
| | | | This should have been removed around January 2018 with the other functions.
* Update documentationJeffrey Walton2018-07-061-2/+3
|
* Add <stdcpp.h> to <seckey.h>Jeffrey Walton2018-02-081-0/+1
|
* Remove unneeded Doxygen directiveJeffrey Walton2018-01-191-14/+0
|
* Convert Kalyna from variable block size (GH #535)Jeffrey Walton2018-01-181-152/+0
|
* Change Doxygen comment style from //! to ///Jeffrey Walton2017-11-291-302/+302
| | | | Also see https://groups.google.com/forum/#!topic/cryptopp-users/A7-Xt5Knlzw
* Clear GCC warnings with -Wall -WextraJeffrey Walton2017-09-051-2/+4
|
* Update documentationJeffrey Walton2017-07-271-1/+1
| | | | This cleanup was performed using Clang and -Wdocumentation -Wno-documentation-deprecated-sync
* Add VariableBlockSize constants to FixedBlockSizeJeffrey Walton2017-05-031-9/+38
| | | | This also follows the pattern set forth by FxiedKeyLength and VariableKeyLength
* Remove BLOCKSIZE from VariableBlockSize (Issue 408)Jeffrey Walton2017-05-031-6/+7
| | | | | VariableBlockSize and VariableBlockCipherImpl were added at Commit bd8edfa87b579073. Reflecting on FixedKeyLength and VariableKeyLength, the const KEYLENGTH is only provided by FixedKeyLength. VariableKeyLength provides DEFAULT_KEYLENGTH. This check-in makes VariableBlockSize follow VariableKeyLength. This check-in also splits block size and iv length. Its conceivable we will encounter a cipher with a block size of 128-bits with an iv of 256-bits. The bd8edfa87b579073 check-in could not handle the difference, so we fix it now.
* Fix "There are no arguments to ‘GetAlgorithm’ that depend on a template ↵Jeffrey Walton2017-05-011-1/+1
| | | | parameter"
* Use symbolic defines StaticGetDefaultBlockSizeJeffrey Walton2017-05-011-2/+2
|
* Add variable block size support for block ciphersJeffrey Walton2017-05-011-1/+144
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This should lead the way for more modern block ciphers like Threefish and Kalyna. It tested well with both regular cipher modes (the mode has an instance of the cipher) and external cipher modes (the cipher and mode are distinct objects, and the mode holds a reference to the cipher). We still have to work out the details of naming a cipher. For example, Kalyna with a 128-bit key can use a 128-bit or 256-bit block size. Kalyna-128 is not enough to describe the algorithm and locate it in the object registry. Kalyna-128-128 looks kind of weird; maybe Kalyna-128(128) or Kalyna-128(256) would be better. Here are the initial test cases to verify functionality: byte key[64] = {}, iv[32] = {}; ECB_Mode<Kalyna>::Encryption enc1; enc1.SetKey(key, 16); CBC_Mode<Kalyna>::Encryption enc2; enc2.SetKeyWithIV(key, 16, iv); AlgorithmParameters params = MakeParameters (Name::BlockSize(), 32) (Name::IV(), ConstByteArrayParameter(iv, 32)); CTR_Mode<Kalyna>::Encryption enc3; enc3.SetKey(key, 16, params); CBC_Mode<Kalyna>::Encryption enc4; enc4.SetKey(key, 32, params); Kalyna::Encryption enc5; ECB_Mode_ExternalCipher::Encryption ecb(enc5); ecb.SetKey(key, 16, params); Kalyna::Encryption enc6; ECB_Mode_ExternalCipher::Encryption cbc(enc6); cbc.SetKey(key, 32, params);
* Change file preamble to include "originally written by Wei Dai"Jeffrey Walton2017-01-271-1/+1
| | | | We have made a fair number of changes, and we don't want WD to receive credit for issues he was not part of
* Silence select conversion warnings (Issue 340)Jeffrey Walton2016-12-021-4/+15
|
* Updated documentationJeffrey Walton2016-11-171-2/+2
|
* Make StaticGetValidKeyLength constexpr in seckey.hJeffrey Walton2016-11-151-25/+4
|
* Add CRYPTOPP_STATIC_CONSTEXPR macroJeffrey Walton2016-11-131-3/+3
|
* Updated documentationJeffrey Walton2016-10-111-1/+1
|
* Revert "Rewrite 'keylength < MIN_KEYLENGTH' to avoid -Wtautological-compare"Jeffrey Walton2016-09-211-2/+1
| | | | This reverts commit 08a206f3eb2713a17eda636ebb96ed8142a4036d. This broke the self tests, and casting everything to 'signed int' to avoid unsigned promots did not resolve the issue.
* Rewrite 'keylength < MIN_KEYLENGTH' to avoid -Wtautological-compareJeffrey Walton2016-09-211-1/+2
| | | | The warning surfaces under earlier Clnag's and GCC's
* Remove comma operator from return values for StaticGetDefaultRounds and ↵Jeffrey Walton2016-09-071-4/+22
| | | | StaticGetValidKeyLength in non-constexpr builds (Issue 255)
* Updated documentationJeffrey Walton2016-09-051-4/+2
|
* Fixed compile under SunCC 5.14 and SimpleKeyingInterfaceImpl (with virtual ↵Jeffrey Walton2016-09-051-8/+17
| | | | functions) using constexpr. Updated documentation
* Add constexpr-ness to seckey.h classes.Jeffrey Walton2016-09-051-22/+27
| | | | Coarse grained benchmarking with GCC 4.8 at -O2 using 'time' and 'cryptest.exe' shows we shaved about 100ms to 150ms off the running time. We are ready to break the 1-second mark for the running time (its elluded me for some time now)
* Update seckey.hFlo2016-09-041-10/+10
| | | InvalidRounds expects a std::string, so it can be constructed in-place and the `__BORLANDC__` define can be removed.
* Update seckey.hFlo2016-09-041-4/+1
| | | | See https://github.com/weidai11/cryptopp/issues/252
* C++Builder: The problem with the CRYPTOPP_CONSTANT macro was corrected properlyCrayon20002016-01-121-2/+0
|
* The Crypto++ library can now be compiled with C++BuilderCrayon20002016-01-111-2/+7
| | | | | | | Two macro were causing compiler problems with bcc32 [bcc32 Error] seckey.h(83): E2313 Constant expression required and [bcc32 Error] seckey.h(194): E2313 Constant expression required
* Casting string literal to avoid bcc32 ErrorCrayon20002016-01-081-1/+1
| | | | | This will fix this error with C++Builder: [bcc32 Error] seckey.h(88): E2354 Two operands must evaluate to the same type
* Fixed copy/paste errorJeffrey Walton2015-12-171-3/+3
|
* Updated documentationJeffrey Walton2015-12-171-14/+14
|
* Updated documentationJeffrey Walton2015-12-131-45/+53
|
* Added config.h due to privately reported issueJeffrey Walton2015-11-191-1/+2
|
* Cleared issues 11,12,13 (Clang integrated assembler), 58 (RC rollup), 66 ↵Jeffrey Walton2015-11-181-68/+81
| | | | (Coverity rollup)
* CRYPTOPP 5.6.3 RC6 checkinJeffrey Walton2015-11-051-221/+414
|
* fix documentationweidai2009-03-151-4/+5
|
* changes for 5.6: weidai2009-03-021-0/+9
| | | | | | - added AuthenticatedSymmetricCipher interface class and Filter wrappers - added CCM, GCM (with SSE2 assembly), CMAC, and SEED - improved AES speed on x86 and x64 - removed WORD64_AVAILABLE; compiler 64-bit int support is now required
* IV_REQUIREMENT changesweidai2007-04-161-4/+5
|
* remove old codeweidai2006-12-141-6/+1
|
* port to Borland C++Builder 2006weidai2006-12-141-13/+29
|
* port to GCC 4, reorganize implementations of SetKeyweidai2006-12-101-47/+12
|
* port to MSVC .NET 2005 beta 2weidai2005-07-121-25/+25
|
* changes done for FIPS-140 lab code dropweidai2005-01-201-3/+3
|