summaryrefslogtreecommitdiff
path: root/cmac.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Use std namespace for memset, memcpy, memcmp (#1204)Jeffrey Walton2023-04-151-3/+3
|
* Clear Clang finding in CMACJeffrey Walton2021-04-201-1/+3
|
* Add XTS block cipher mode of operation (GH #891, PR #892)Jeffrey Walton2019-10-121-6/+27
|
* Fix CMAC 256-bit polynomialJeffrey Walton2017-09-131-2/+2
| | | | Also see GH #423
* Revert AltiVec and Power8 commitsJeffrey Walton2017-09-051-16/+2
| | | | | The strategy of "cleanup under-aligned buffers" is not scaling well. Corner cases are still turing up. The library has some corner-case breaks, like old 32-bit Intels. And it still has not solved the AltiVec and Power8 alignment problems. For now we are backing out the changes and investigating other strategies
* Use aligned buffer for CMACJeffrey Walton2017-09-041-2/+16
|
* Add polynomial for 1024-bit block cipher.Jeffrey Walton2017-05-131-1/+10
| | | | This will support Threefish and its 1024-bit block size. I believe this is correct, but it may be wrong. According to "Table of Low-Weight Binary Irreducible Polynomials" (http://www.hpl.hp.com/techreports/98/HPL-98-135.pdf), the polynomial is x^1024 + x^19 + x^6 + x + 1.
* Revert "Add polynomial for 1024-bit block cipher."Jeffrey Walton2017-05-131-10/+1
| | | | This reverts commit d654c893ef4658da83ed5753cb4c360e60e5afa3. The polinomial for 1024-bit block sizes had a typo.
* Add polynomial for 1024-bit block cipher.Jeffrey Walton2017-05-131-1/+10
| | | | This will support Threefish and its 1024-bit block size. I believe this is correct, but it may be wrong. According to "Table of Low-Weight Binary Irreducible Polynomials" (http://www.hpl.hp.com/techreports/98/HPL-98-135.pdf), the polynomial is x^1024 + x^19 + x^6 + x + 1.
* Add polynomial for 512-bit block ciphersJeffrey Walton2017-05-131-0/+6
| | | | I believe this is correct, but it may be wrong. According to the Kalyna team, the polynomial for GCM mode is x^512 + x^8 + x^5 + x^2 + 1. It appears the polinomial applies to other block cipher modes of operations, like CMAC.Dropping the first term and evaluating the remaining terms at X=2 results in 293 (0x125)
* Call cipher.SetKey() before cipher.BlockSize() (Issue 408)Jeffrey Walton2017-05-131-2/+2
| | | | | | | | | | Variable block size ciphers need the key set before they can return an accurate size for BlockSize(). This issue surfaced during Kalyna testing with authenticated encryption modes. In particular, EAX mode, which effectively uses CMAC: AlgorithmParameters params = MakeParameters(Name::BlockSize(), 64) (Name::IV(), ConstByteArrayParameter((const byte *)iv, 64)); EAX<Kalyna>::Encryption kalyna; kalyna.SetKey(key, 64, 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
* Add CRYPTOPP_ASSERT (Issue 277, CVE-2016-7420)Jeffrey Walton2016-09-161-4/+4
| | | | trap.h and CRYPTOPP_ASSERT has existed for over a year in Master. We deferred on the cut-over waiting for a minor version bump (5.7). We have to use it now due to CVE-2016-7420
* Whitespace checkinJeffrey Walton2016-09-101-1/+1
|
* Cleared issues 11,12,13 (Clang integrated assembler), 58 (RC rollup), 66 ↵Jeffrey Walton2015-11-181-5/+9
| | | | (Coverity rollup)
* CRYPTOPP 5.6.3 RC6 checkinJeffrey Walton2015-11-051-4/+3
|
* Cut-in CRYPTOPP_ASSERT in all remaining header and source filesJeffrey Walton2015-07-261-3/+3
|
* Added "trap.h" include for header and source files that assertJeffrey Walton2015-07-261-0/+1
|
* changes for 5.6: weidai2009-03-021-0/+122
- 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