Update StreamTransformation and ProcessLastBlock Some authenticated encryption modes have needs that are not expressed well with MandatoryBlockSize() and MinLastBlockSize(). When IsLastBlockSpecial() returns true three things happen. First, standard block cipher padding is not applied. Second, the ProcessLastBlock() is used that provides inString and outString lengths. Third, outString is larger than inString by 2*MandatoryBlockSize(). That is, there's a reserve available when processing the last block.
Jeffrey Walton
2017-09-29 22:34:33 -0400
Provide body for VectorStore Calling VectorStoreBE inside VectorStore slowed us down by up to 0.5 cpb on LE systems. Update documentation for VectorShiftLeft
Jeffrey Walton
2017-09-22 19:37:54 -0400
8b2bf5ed88Add Power8 SHA support This provides the functions needed for an implementation. It does not provide the implementation itself
Jeffrey Walton
2017-09-22 07:44:18 -0400
Add C++ templates for additional Vector ops Removed lower-level C-like functions such as Store8x16 and Store64x2
Jeffrey Walton
2017-09-22 04:15:33 -0400
Enable little endian Rijndael_UncheckedSetKey_POWER8 using built-ins The problem was vec_sld is endian sensitive. The built-in required more than us setting up arguments to ensure the vsx load resulted in a big endian value. Thanks to Paul R on Stack Overflow for sharing the information that IBM did not provide. Also see http://stackoverflow.com/q/46341923/608639
Jeffrey Walton
2017-09-21 09:56:37 -0400
Move Rijndael_UncheckedSetKey_POWER8 prior to GetUserKey call Arg... GetUserKey was performing a 32-bit word reverse. It was part of the problem on little endian machines
Jeffrey Walton
2017-09-21 01:08:44 -0400
Add PowerPC VectorLoadKeyUnaligned for AES-192 Make internal functions static. We get better optimizations depsice using unnamed namespaces Add PowerPC uint32x4 functions for handling 32-bit rcon and mask
Jeffrey Walton
2017-09-20 08:57:53 -0400
c94d076aa1Move r1 write to caller; remove from Rijndael_Subkey_POWER8
Jeffrey Walton
2017-09-20 04:38:53 -0400
Add Power8 key expansion for big endian This is AES-128 key expansion for big endian. Little endian has a bug in it so it can't be enabled at the moment. GDB is acting up on GCC112, so I've had trouble investigating it
Jeffrey Walton
2017-09-20 03:34:54 -0400
Add CRYPTOPP_NO_CPU_FEATURE_PROBES (GH #511) We determine machine capabilities by performing an os/platform *query* first, like getauxv(). If the *query* fails, we move onto a cpu *probe*. The cpu *probe* tries to exeute an instruction and then catches a SIGILL on Linux or the exception EXCEPTION_ILLEGAL_INSTRUCTION on Windows. Some OSes fail to hangle a SIGILL gracefully, like Apple OSes. Apple machines corrupt memory and variables around the probe.
Jeffrey Walton
2017-09-19 21:08:37 -0400
Add Rijndael_UncheckedSetKey_POWER8 We are going to attempt to perform key setup using Power8 in-core vector instructions
Jeffrey Walton
2017-09-19 04:55:15 -0400
Fix "X causes a section type conflict with Y" for GCC on AIX (GH #499) These surfaced during testing with cryptest.sh
Jeffrey Walton
2017-09-17 07:08:14 -0400
Remove CMake testing support (GH #506) CMake can now be found at http://www.cryptopp.com/wiki/CMake. The Cmake project files are now maintianed by the community.
Jeffrey Walton
2017-09-16 21:23:35 -0400
Remove CMake from library sources (GH #506) CMake can now be found at http://www.cryptopp.com/wiki/CMake. The Cmake project files are now maintianed by the community.
Jeffrey Walton
2017-09-16 21:09:40 -0400
Add sunset message to CMakeList.txt file The commit also attempts to avoid the shell command for Windows machines. If no one has patches to offer for the outstanding CMake bugs, then this is the version that will be moved to the Wiki Patch Page. The community will have to tend to the outstanding bugs when someone with domain experience can work them
Jeffrey Walton
2017-09-16 18:33:07 -0400
Route Borland/Embarcadero into MS inline ASM code for CPUID The inline ASM code now uses local variables to save the EAX-EDX registers, and then copies the locals into the function parameters. It side steps problems with calling conventions
Jeffrey Walton
2017-09-16 18:03:24 -0400
Update README to sync with Crypto++ website * Switch from cryptolounge.com to Crypto++ wiki * Add latest algorithms
Jeffrey Walton
2017-09-16 16:30:32 -0400
Use -O3 for IBM XL C/C++ (GH #502) We held back XL C/C++ due to warnings and self test failures. Since clearing Issue 502, we are OK for -O3 so we can live with the warnings.
Jeffrey Walton
2017-09-16 08:22:25 -0400
Fix TEA and XTE hand with IBM XL C/C++ compiler (GH #503) It looks like Sun compilers had problems with the loop in the past, too. The Sun workarounds did not help with XL C/C++, however.
Jeffrey Walton
2017-09-16 08:20:35 -0400
4670e3d5bcRevert "Use -O3 for IBM XL C/C++ (GH #502)"
Jeffrey Walton
2017-09-16 05:55:37 -0400
Use -O3 for IBM XL C/C++ (GH #502) We held back XL C/C++ due to warnings and self test failures. Since clearing Issue 502, we are OK for -O3 so we can live with the warnings.
Jeffrey Walton
2017-09-16 02:19:06 -0400
Add missing newline to IA-32 config output Avoid flushing stream for config line items Use memcpy in std:: namespace
Jeffrey Walton
2017-09-16 01:36:45 -0400
Fix compile under Embarcadero (GH #498) [bcc32c Error] blake2.cpp(49): 'alignas' must be specified on definition if it is specified on any declaration
Jeffrey Walton
2017-09-15 12:43:18 -0400
Fix "X causes a section type conflict with Y" for GCC on AIX (GH #499) We have no idea what caused the issue or why it fixed it
Jeffrey Walton
2017-09-14 17:45:55 -0400
Use 6x blocks for Power8 AES rather than 4x Perforamnce increased for all modes when performing 6x vs 4x. 8x and 12x performed worse.
Jeffrey Walton
2017-09-14 16:07:21 -0400
Add Aarch64 specific defines to Android cross-compile Move <arm_acle.h> logic into "sonfig.h". Detecting when we can/should include <arm_acle.h> is proving to be troublesome
Jeffrey Walton
2017-09-13 17:16:57 -0400
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
Jeffrey Walton
2017-09-12 18:15:55 -0400