Commit Graph

52 Commits

Author SHA1 Message Date
Jeffrey Walton
c51f0ecbfd
Make config.h more Autoconf friendly (GH #835, PR #836) 2019-05-17 15:18:17 -04:00
Jeffrey Walton
5e48cfd0c9
Prepare for Crypto++ 8.0 release 2018-12-27 18:30:38 -05:00
Jeffrey Walton
0aa217b91c
Update comments in config.h
Some comments in config.h were old. Time for a refresh.
Switch from CRYPTOPP_BOOL_ARM64 to CRYPTOPP_BOOL_ARMV8. Aarch32 is ARMv8, and that's the important part.
2018-12-09 10:24:55 -05:00
Jeffrey Walton
8769302a8b
Add CRYPTOPP_DISABLE_MIXED_ASM define and feature test (GH #756, PR #757) 2018-12-05 13:22:10 -05:00
Jeffrey Walton
5e897710e8
Update documentation 2018-10-27 06:19:59 -04:00
Jeffrey Walton
4282f94712
Disable X32 inline assembly (GH #686, PR #704)
Also use CRYPTOPP_DISABLE_XXX_ASM consistently. The pattern is needed for Clang which still can't compile Intel assembly language. Also see http://llvm.org/bugs/show_bug.cgi?id=24232.
2018-08-18 04:44:53 -04:00
Jeffrey Walton
380829284c
Update documentation 2018-07-13 09:54:06 -04:00
Jeffrey Walton
90e7b85814
Update documentation 2018-07-12 12:04:37 -04:00
Jeffrey Walton
3ff7d7f028
Add ARM AES asm implementation from Cryptogams (GH #683) 2018-07-11 06:59:44 -04:00
Jeffrey Walton
b74a6f4445
Add algorithm provider member function to Algorithm class 2018-07-06 09:23:37 -04:00
Jeffrey Walton
5ae74e2fd5
Update documentation 2018-03-22 22:11:35 -04:00
Jeffrey Walton
c9b00c14fd
Update documentation 2018-01-22 20:13:18 -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
561926db34
Rename CRYPTOPP_ENABLE_ADVANCED_PROCESS_BLOCKS for Rijndael 2017-11-22 17:55:20 -05:00
Jeffrey Walton
7f7c848515
Update documentation 2017-11-17 19:48:40 -05:00
Jeffrey Walton
6e436427fb
Use SetMark to avoid unneeded zeroization in Rijndael 2017-10-08 12:05:33 -04:00
Jeffrey Walton
01e46aa474
Move AliasedWithTable into unnamed namespace
Move m_aliasBlock into Rijndael::Base. m_aliasBlock is now an extra data member for Dec because the aliased table is only used for Enc when unaligned data access is in effect. However, the SecBlock is not allocated in the Dec class so there is no runtime penalty.

Moving m_aliasBlock into Base also allowed us to remove the Enc::Enc() constructor, which always appeared as a wart in my eyes. Now m_aliasBlock is sized in UncheckedSetKey, so there's no need for the ctor initialization.

Also see https://stackoverflow.com/q/46561818/608639 on Stack Overflow. The SO question had an unusual/unexpected interaction with CMake, so the removal of the Enc::Enc() ctor should help the problem.
2017-10-05 09:28:56 -04:00
Jeffrey Walton
04d15304f1
Updated documentation 2017-10-03 20:47:03 -04:00
Jeffrey Walton
1e822b0636
Update documentation links 2017-09-28 05:00:13 -04:00
Jeffrey Walton
6899d3f8bb
Add AdvancedProcessBlocks for Power8
This increases performance to about 1.6 cpb. We are about 0.5 cpb behind Botan, and about 1.0 cpb behind OpenSSL. However, it beats the snot out of C/C++, which runs at 20 to 30 cpb
2017-09-12 18:15:55 -04:00
Jeffrey Walton
37e02f9e0e
Revert AltiVec and Power8 commits
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
2017-09-05 16:28:00 -04:00
Jeffrey Walton
75aef9bded
Fixup under-aligned buffers when using AES on AltiVec and Power8
This commit supports the upcoming AltiVec and Power8 processor. This commit affects a number of classes due to the ubiquitous use of AES. The commit provides the data alignment requirements.
2017-09-04 11:21:47 -04:00
Jeffrey Walton
f47022b4dd
Update documentation 2017-08-19 02:53:45 -04:00
Jeffrey Walton
a1b3102eab
Update comments 2017-08-19 01:35:36 -04:00
Jeffrey Walton
e2c377effd Split source files to support Base Implementation + SIMD implementation (GH #461)
Split source files to support Base Implementation + SIMD implementation
2017-08-17 12:33:43 -04:00
Jeffrey Walton
b311aabc31
Update documentation 2017-08-16 05:42:58 -04:00
Jeffrey Walton
08c37e5887
Update comments in Rijndael head comments 2017-08-15 14:26:30 -04: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
klemens
5a5c633073 spelling fixes 2016-12-27 18:34:57 +01:00
Jeffrey Walton
733a073d65
Fix mismatched arch capabilities (Issue 283) 2016-10-27 01:01:01 -04:00
Jeffrey Walton
2b328e8f8b
Fix AES and X86 compile on Solaris 2016-09-30 09:31:23 -04:00
Jeffrey Walton
4c1b5472cc Cutover to SecByteBlock member for AES (Issue 302, CVE-2016-7544) 2016-09-30 01:09:21 -04:00
Jeffrey Walton
6c0b120072 Go back to Commit 66ada4cc61 2016-07-06 14:39:18 -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
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
Jeffrey Walton
885b94707c Fixed Clang 3.3 integrated assembler crash on Linux 2015-12-25 03:37:14 -05:00
Jeffrey Walton
b3e49d8c96 Additional documentation; fixed issues with Clang integrated assembler and different versions numbers for LLVM Clang and Apple Clang; fixed missing header in DSA class 2015-11-19 13:09:33 -05:00
Jeffrey Walton
6ac1e46a1f Cleared issues 11,12,13 (Clang integrated assembler), 58 (RC rollup), 66 (Coverity rollup) 2015-11-18 15:32:28 -05:00
Jeffrey Walton
48809d4e85 CRYPTOPP 5.6.3 RC6 checkin 2015-11-05 01:59:46 -05:00
weidai
7adbf89681 add support for AES-NI and CLMUL instruction sets in AES and GMAC/GCM 2010-07-24 05:55:22 +00:00
weidai
5b809d7931 fix compile on MacOS X and MinGW 2009-04-05 19:58:48 +00:00
weidai
2779fc6050 - add EAX mode, XSalsa20
- speed up GCM key setup
- wipe stack in AES assembly code
- speed up CFB mode
2009-03-12 11:24:12 +00:00
weidai
d8a644fc4e changes for 5.6:
- 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
2009-03-02 02:39:17 +00:00
weidai
c4365a3870 remove extraneous function 2007-05-04 15:35:38 +00:00
weidai
643b302227 MMX/SSE2 optimizations 2007-04-15 23:00:27 +00:00
weidai
f05ea58bb3 port to GCC 4, reorganize implementations of SetKey 2006-12-10 02:12:23 +00:00
weidai
c8e2f89594 AES timing attack countermeasures 2006-07-17 14:48:59 +00:00
weidai
b3924f2108 changes done for FIPS-140 lab code drop 2005-01-20 04:19:35 +00:00
weidai
393ae4859a fix documentation, fix PanamaMAC, fix algorithm names 2004-07-22 00:51:57 +00:00
weidai
f278895908 create DLL version, fix GetNextIV() bug in CTR and OFB modes 2003-07-04 00:17:37 +00:00