1823b9d9c4Fix error in bits2octets: should use the base point's bit count, instead of the hash value's. Also add test case for GetRandom, with original data from RFC6979 (#560)
Linmao Song
2018-01-11 01:18:15 +0000
61940e31c0Fix error in bits2octets: should use the base point's bit count, instead of the hash value's. Also add test case for GetRandom, with original data from RFC6979
Linmao Song
2018-01-10 17:53:47 +0000
c43b1924dcDuplicate the if statements.
Kirit Sælensminde
2018-01-10 10:43:34 +0700
132fed0343Conditionally use a lambda rather than the older `bind2nd` style.
Kirit Sælensminde
2018-01-09 18:33:34 +0700
Add C++20 testing to cryptest.sh This is initial testing support for N4713, "Working Draft, Standard for Programming Language C++". We know GCC uses -std=c++20 and -std=gnu++20, so we can start testing things
Jeffrey Walton
2018-01-06 05:00:24 -0500
Fix missing SM2 methods in Windows DLL This was not ready to be checked in. I think it cross-pollinated duing a checkin for documentation
Jeffrey Walton
2018-01-05 18:47:28 -0500
Clear clang-tidy warnings This commit also tweaks the way Integer parses byte arrays. The modified routines are slightly faster. On a Core-i5 6400 the self tests are 0.1 to 0.2 seconds faster
Jeffrey Walton
2018-01-02 04:17:22 -0500
Fix unaligned load for _mm_loaddup_pd with GCC and UBsan This function was missed earlier. Unfortunately, it does not squash all of the unaligned load findings. I'm pretty sure it is a GCC problem
Jeffrey Walton
2017-12-28 01:16:17 -0500
Fix failed self test under Clang (GH #533) This may cause GH #300, "Clang 3.9 and missing member definitions for template classes" or GH #294, "Fix clang warnings about undefined variable templates in pkcspad.h" to resurface. Man I hope not...
Jeffrey Walton
2017-12-25 22:29:21 -0500
Fix failed self test under Clang (GH #533) This may cause GH #300, "Clang 3.9 and missing member definitions for template classes" or GH #294, "Fix clang warnings about undefined variable templates in pkcspad.h" to resurface. Man I hope not...
Jeffrey Walton
2017-12-25 22:27:53 -0500
Fix UBsan overflow finding We were cating UBsan findings under Clang similar to "adv-simd.h:1138:26: runtime error: addition of unsigned offset to 0x000002d41410 overflowed to 0x000002d41400". The problem was CRYPTOPP_CONSTANT, which used an enum. The compiler is allowed to pick the underlying data type, and Clang was picking a signed type
Jeffrey Walton
2017-12-16 14:21:08 -0500
Add Altivec detection for PowerMac We now need to detect Altivec/Power4. Formerly it did not matter so CPU_QueryAltivec simply returned false
Jeffrey Walton
2017-12-13 11:49:35 -0500
Add CRYPTOPP_POWER5_AVAILABLE Power4 lacks 'vector long long' Rename datatypes such as 'uint8x16_p8' to 'uint8x16_p'. Originally the p8 suffix indicated use with Power8 in-core crypto. We are now using Altivec/Power4 for general vector operations.
Jeffrey Walton
2017-12-12 08:17:17 -0500
Add CRYPTOPP_POWER5_AVAILABLE Power4 lacks 'vector long long' Rename datatypes such as 'uint8x16_p8' to 'uint8x16_p'. Originally the p8 suffix indicated use with Power8 in-core crypto. We are now using Altivec/Power4 for general vector operations.
Jeffrey Walton
2017-12-12 08:14:53 -0500
Add CRYPTOPP_POWER5_AVAILABLE Power4 lacks 'vector long long' Rename datatypes such as 'uint8x16_p8' to 'uint8x16_p'. Originally the p8 suffix indicated use with Power8 in-core crypto. We are now using Altivec/Power4 for general vector operations.
Jeffrey Walton
2017-12-12 08:09:31 -0500
Add NEON flags to rijndael-simd.cpp AES does not have a NEON implementation. However, because it includes "adv-simd.h", it needs the compiler options so NEON types are available. Otherwise the compile fails. We can't guard "adv-simd.h" and NEON on just AES because Simon and Speck use the templates in their NEON implementations.
Jeffrey Walton
2017-12-10 12:11:53 -0500
Refactor <cipher>_AdvancedProcessBlocks_<arch> into adv-simd.h This also fixes the SPECK64 bug where CTR mode self tests fail. It was an odd failure because it only affected 64-bit SPECK. SIMON was fine and it used nearly the same code. We tracked it down through trial and error to the table based rotates.
Jeffrey Walton
2017-12-09 21:04:25 -0500
Move location of CRYPTOPP_ARM_ACLE_AVAILABLE test in config.h This should make it easier to detect when we need to include <arm_acle.h>
Jeffrey Walton
2017-12-09 13:07:50 -0500
Fix Speck-64 CTR mode It looks like the delay was due to some GCC 7 issue. We had to disable parallel blocks on Aarch64 with GCC 7. We may be running out of registers and that could be causing problems. It looks like GCC uses up to v30.
Jeffrey Walton
2017-12-07 22:30:03 -0500
Fix Simon-64 and Speck-64 CTR mode This fixes CTR mode for IA-32. We were only incrementing half the counters. Added additional test vectors
Jeffrey Walton
2017-12-07 16:55:23 -0500
Fix MSVC 2017 hang on BLAKE2 (GH #527) It looks like the macros for BLAKE2B and BLAKE2S round functions were too much for the compiler to handle
Jeffrey Walton
2017-12-06 14:02:28 -0500
Enable multi-block for SPECK-64 and SIMON-64 Also cleaned up SIMON-64 vector permute code. Thanks again to Peter Cordes
Jeffrey Walton
2017-12-05 04:19:44 -0500
Add temp working variable for SPECK64_AdvancedProcessBlocks_SSE41 Avoid potential undefined behavior by using aligned words
Jeffrey Walton
2017-12-04 14:52:36 -0500
Switch to _mm_unpacklo_epi32 and _mm_unpackhi_epi32 The manual _mm_extract_epi32 and _mm_insert_epi32 are required during setup, be we can use SSE on teardown
Jeffrey Walton
2017-12-04 05:01:27 -0500