Commit Graph

  • abc92b2e74
    Updated documentation Jeffrey Walton 2017-09-30 04:52:50 -0400
  • e92eb31690
    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
  • bebdc8b917
    Add second ctor to StreamTransformationFilter for authenticated encryption modes Jeffrey Walton 2017-09-29 17:36:04 -0400
  • 8e67eb5153
    Update documentation Jeffrey Walton 2017-09-29 03:22:03 -0400
  • b2b65d6376
    Update documentation Jeffrey Walton 2017-09-28 05:03:55 -0400
  • 1e822b0636
    Update documentation links Jeffrey Walton 2017-09-28 05:00:13 -0400
  • db641b9258
    Update documentation Jeffrey Walton 2017-09-28 04:42:48 -0400
  • 7ef1c47c6d
    Update documentation Jeffrey Walton 2017-09-28 04:06:59 -0400
  • 9099dc0625
    Update documentation Jeffrey Walton 2017-09-27 06:40:05 -0400
  • 69fd4a040d
    Update documentation Jeffrey Walton 2017-09-27 06:24:58 -0400
  • 69a40e992c
    Fix GNUmakefile-cross distclean recipe (GH #514) Jeffrey Walton 2017-09-26 01:05:15 -0400
  • ea3c80c949
    Move Rijndael_AdvancedProcessBlocks_ARMV8 into anonymous namespace Jeffrey Walton 2017-09-23 05:28:59 -0400
  • 26597059d9
    Move to anonymous namespaces in rijndael-simd.cpp Jeffrey Walton 2017-09-23 02:13:16 -0400
  • 0ebdb07705
    Update documentation Jeffrey Walton 2017-09-22 22:36:42 -0400
  • 12953fd0e4
    Add IncrementPointerAndStore This speeds up XL C/C++ by 0.1 to 0.2 cpb Jeffrey Walton 2017-09-22 20:35:18 -0400
  • bb5be2979e
    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
  • d5c12191b3
    Update documentation Jeffrey Walton 2017-09-22 18:31:59 -0400
  • fba3fd724b
    Update documentation Jeffrey Walton 2017-09-22 10:14:46 -0400
  • ced7cff64f
    Add Power8 SHA256 and SHA512 support (GH #513) Jeffrey Walton 2017-09-22 09:39:36 -0400
  • 3bd01f73ba
    Add Power8 SHA256 and SHA512 support (GH #513) Jeffrey Walton 2017-09-22 08:58:50 -0400
  • 375d5e18b3
    Clear Doxygen warnings Jeffrey Walton 2017-09-22 08:09:05 -0400
  • 8b2bf5ed88 Add 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
  • 2f1b60676f
    Remove static from functions Static was an artifact from being in rijndael-simd.cpp Jeffrey Walton 2017-09-22 06:42:05 -0400
  • e725ebadd0
    Fix Power8 compile error on AIX with XL C/C++ Add documentation Jeffrey Walton 2017-09-22 06:20:19 -0400
  • 1057f89363
    Move Power8 crypto functions into ppc-crypto.h Jeffrey Walton 2017-09-22 05:23:29 -0400
  • 3e55817819
    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
  • 441e944a66
    Switch to vec_vsx_ld, remove unaligned loads Partially unroll loop Rijndael_UncheckedSetKey_POWER8 loop. It saves about another 60 cycles Jeffrey Walton 2017-09-22 02:53:08 -0400
  • d9592a303c
    Updated comments Jeffrey Walton 2017-09-21 21:45:23 -0400
  • dabad4b409
    Cleanup asserts and casts Jeffrey Walton 2017-09-21 20:55:35 -0400
  • 1edea5a80f
    Vectorize tail of Rijndael_UncheckedSetKey_POWER8 Jeffrey Walton 2017-09-21 20:02:40 -0400
  • e43c0eee74
    Fold ConditionalByteReverse for non-Power8 paths Jeffrey Walton 2017-09-21 19:17:42 -0400
  • f763bf3da6
    Updated comments Jeffrey Walton 2017-09-21 12:08:54 -0400
  • e78464a1af
    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
  • dfeae9e983
    Guard compile assert for Borland/Embarcadero (GH #512) Jeffrey Walton 2017-09-21 02:01:04 -0400
  • c6b096ddd4
    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
  • 9fd5d023f9
    Load r5 mask once for key expansion Jeffrey Walton 2017-09-20 20:27:58 -0400
  • e4498a105e
    Use ::time() and ::log() instead of std::time() and std::log() (GH #512) The 35c0fa82fd change broke GCC 4.8 Jeffrey Walton 2017-09-20 18:43:51 -0400
  • 4b7549a990
    Use 'static const int' for constant Borland/Embarcadero (GH #512) Jeffrey Walton 2017-09-20 18:18:51 -0400
  • 35c0fa82fd
    Use <time.h> for Borland/Embarcadero (GH #512) Jeffrey Walton 2017-09-20 18:10:07 -0400
  • c5a427d690
    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
  • c94d076aa1 Move r1 write to caller; remove from Rijndael_Subkey_POWER8 Jeffrey Walton 2017-09-20 04:38:53 -0400
  • 5159d0803d
    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
  • 6102333fc3
    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
  • 6440921723
    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
  • 3290711a82
    Clear duplicate symbol warning from AIX linker Jeffrey Walton 2017-09-18 21:05:26 -0400
  • 923cf95571
    ByteReverseArray → ReverseByteArrayLE Jeffrey Walton 2017-09-18 18:40:19 -0400
  • 2c18fe8af8
    Refactor LoadT() and StoreT(). Add separate ReverseT() for little endian machines Jeffrey Walton 2017-09-18 18:15:25 -0400
  • 1661ff127a
    Fix dead code strip test on AIX Jeffrey Walton 2017-09-18 02:45:03 -0400
  • cc855dd181
    Update cryptest-android.sh file with LLVM Jeffrey Walton 2017-09-18 02:26:50 -0400
  • f0c2324f6b
    Fix armeabi and armv7-a for Android (GH #509) Jeffrey Walton 2017-09-17 20:07:53 -0400
  • 09f1a2fb38
    Add i686 and x86_64 specific flags (GH #508) Jeffrey Walton 2017-09-17 15:33:41 -0400
  • 723d87c9b5 Make sure _SC_LEVEL1_DCACHE_LINESIZE is defined (#507) Deadpikle 2017-09-17 14:34:05 -0400
  • 7c12be4f1f Make sure _SC_LEVEL1_DCACHE_LINESIZE is defined Deadpikle 2017-09-17 14:20:10 -0400
  • 7097546cfc
    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
  • 3e237540fe
    Query sysconf for _SC_LEVEL1_DCACHE_LINESIZE on ARM and PPC Jeffrey Walton 2017-09-17 02:39:41 -0400
  • a835443b34
    Fix compile on CentOS 6 with GCC 4.7 The system uses Glibc 2.12, which is below 2.16 required for getauxv Jeffrey Walton 2017-09-17 00:41:48 -0400
  • 8f6afb3079
    Fix -pipe warning under SunCC Jeffrey Walton 2017-09-16 22:09:50 -0400
  • f3c04dbcb7
    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
  • 913a9e60d3
    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
  • 1c740b0a09
    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
  • da0dc66952
    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
  • 7464cbba51
    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
  • 30d519c0bc
    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
  • fc0867827e
    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
  • 4670e3d5bc Revert "Use -O3 for IBM XL C/C++ (GH #502)" Jeffrey Walton 2017-09-16 05:55:37 -0400
  • aa348abd15
    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
  • 205ebe0871
    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
  • 2814842b97
    Switch to CRYPTOPP_CONSTANT for cpu flags Jeffrey Walton 2017-09-16 01:21:14 -0400
  • 5296e087ad
    Fix func/subfunc parameter names (GH #502) Jeffrey Walton 2017-09-16 00:19:14 -0400
  • 7bdb62b336
    Fix bad SHA152 hash under IBM XL C/C++ compiler (GH #502) Jeffrey Walton 2017-09-15 18:33:05 -0400
  • b079803856
    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
  • 173a7a8025
    Fix compile under Embarcadero (GH #498) [bcc32 Error] cpu.cpp (131): E2211 Inline assembly not allowed in inline and template functions Jeffrey Walton 2017-09-15 12:42:50 -0400
  • adea69ab68
    Avoid increment during stores of 6x blocks This provides another 0.1 cpb with GCC Jeffrey Walton 2017-09-14 21:06:44 -0400
  • 25efb7a140
    Use 6x blocks for ARMv8 AES rather than 4x We gain 0.1 to 0.3 cpb, depending on the mode Jeffrey Walton 2017-09-14 20:32:06 -0400
  • 51752cb91a
    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
  • 58890ff053
    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
  • 08e4ee422e
    Avoid increment during stores of 4x blocks This provides another 0.1 cpb with GCC Jeffrey Walton 2017-09-14 15:12:07 -0400
  • ddeae859d0
    Use vec_xl_be and vec_xst_be for IBM XL C/C++ compiler Jeffrey Walton 2017-09-14 13:27:49 -0400
  • 5289915d72
    Fix compiler crash in ppc-simd.cpp I think this is https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82112 Jeffrey Walton 2017-09-14 01:01:00 -0400
  • 63a0af4efa
    Fix endianess for s_one on ARM big-endian Jeffrey Walton 2017-09-13 22:52:29 -0400
  • 8e52ce6dd2
    Load correct value fo 1 under ARM big endian Jeffrey Walton 2017-09-13 21:42:15 -0400
  • c22507e38b
    Clear unused variable warnings under Clang Jeffrey Walton 2017-09-13 21:37:55 -0400
  • e891347212
    Clear TODO items for setenv-android.sh for 6.0 (GH #491) Jeffrey Walton 2017-09-13 19:37:48 -0400
  • 1c41da35bc
    Use AOSP_CPU_OBJ instead of cpu-features.o Jeffrey Walton 2017-09-13 18:58:07 -0400
  • 4c6a866a8d
    Remove debug info statement from makefile Jeffrey Walton 2017-09-13 18:51:45 -0400
  • 8d98417306
    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
  • 40859a80da
    Improve detection of ANDROID_NDK_ROOT We were searching for R10 NDK's, but Android is at R15 in 2017 Jeffrey Walton 2017-09-13 17:00:52 -0400
  • fca8adc549
    Fix CMAC 256-bit polynomial Also see GH #423 Jeffrey Walton 2017-09-13 08:41:39 -0400
  • 172ab40874
    Fix missing closing paren for Android Aarch64 (GH #491) Jeffrey Walton 2017-09-13 07:32:08 -0400
  • 6e1a07025c
    Build Android cpu-features from sources (GH #491) Thanks to Deadpikle for suggesting the strategy Jeffrey Walton 2017-09-13 07:16:41 -0400
  • fcee76594c
    Make armv7a-neon the default in 2017 with NDK R15 Jeffrey Walton 2017-09-13 05:22:19 -0400
  • b255bf26ec
    Fix missing cpu-features.h for Android Jeffrey Walton 2017-09-13 04:18:04 -0400
  • 2375e87a5c
    Fix unterminated close paren Jeffrey Walton 2017-09-13 04:09:44 -0400
  • 397ccd7e49
    remove commented code for Power8 Jeffrey Walton 2017-09-13 03:59:25 -0400
  • 6d459afa15 Revert "Bump Visual Studio version number for checked iterators (GH #496)" Jeffrey Walton 2017-09-13 02:03:35 -0400
  • 3b6e17b1b4
    Bump Visual Studio version number for checked iterators (GH #496) Jeffrey Walton 2017-09-13 00:30:57 -0400
  • 502fdc61c9
    Add -msse2 to i586 build (Issue 494) Jeffrey Walton 2017-09-12 21:23:23 -0400
  • 2b24f5b9fe
    VectorLoadAligned → VectorLoadKey Add comments for the Load and Store functions Jeffrey Walton 2017-09-12 20:38:58 -0400
  • 5659acb704
    Cleanup vector casts Jeffrey Walton 2017-09-12 19:44:34 -0400
  • 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 Jeffrey Walton 2017-09-12 18:15:55 -0400