Commit Graph

89 Commits

Author SHA1 Message Date
Jeffrey Walton
81f8c48faf
Avoid std::call_once (GH #707)
This commit also favors init priorities over C++ dynamic initialization. After the std::call_once problems on Sparc and PowerPC I'm worried about problems with Dynamic Initialization and Destruction with Concurrency.
We also do away with supressing warnings and use CRYPTOPP_UNUSED instead.
2018-08-21 12:53:10 -04:00
Jeffrey Walton
6b93c284fe
Use bitwise not 0 for last block flag 2018-08-21 11:25:39 -04:00
Jeffrey Walton
a9c5c56d21
Switch to SaturatingSubtract to guard against wrap on user parameters 2018-08-21 11:21:20 -04:00
Jeffrey Walton
4a86ad67bf
Clear initialization warning due to non-trivial destructor 2018-08-21 10:45:44 -04:00
Jeffrey Walton
b74a6f4445
Add algorithm provider member function to Algorithm class 2018-07-06 09:23:37 -04:00
Jeffrey Walton
3e965ac9b3
Back-off on Hash asserts (GH #652)
The asserts were a little aggressive and caused very noisy Debug runs. The library itself was one of the biggest offenders.
2018-05-05 23:27:55 -04:00
Jeffrey Walton
3159969808
Back-off on Hash asserts (GH #652)
The asserts were a little aggressive and caused very noisy Debug runs. The library itself was one of the biggest offenders.
2018-05-05 22:56:15 -04:00
Jeffrey Walton
01136e2c7b
Clear clang-tidy warnings 2018-01-23 21:15:26 -05:00
Jeffrey Walton
fe257e92a9
Add const-ness to internal BLAKE2 functions (GH #527) 2017-12-06 17:40:34 -05:00
Jeffrey Walton
b436411de5
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
2017-12-06 14:02:28 -05:00
Jeffrey Walton
b08596da44
Add CRYPTOPP_SLOW_ARMV8_SHIFT for Aarch32 and Aarch64
Both BLAKE2 and SPECK slow down when using NEON/ASIMD. When just BLAKE2 experienced the issue, it was a one-off problem. Its now wider than a one-off, so add the formal define
2017-11-23 02:22:27 -05:00
Jeffrey Walton
c49b6d4d71
Cleanup comments and old code artifacts 2017-11-15 21:11:42 -05:00
Jeffrey Walton
e8bed05b7d
Use SSE4.1 instead of SSE4.2 for BLAKE2
BLAKE2 requires SSE4.1, no SSE4.2. This change should have been made when we split SSE4 into .1 and .2, but we needed more OS X and LLVM testing
2017-11-15 20:08:06 -05:00
Jeffrey Walton
f1386ad894
Fix SunCC 12.5 compile with -std=c++11 2017-11-13 13:08:56 -05:00
Jeffrey Walton
b40ca97550
Update documentation 2017-11-12 16:35:44 -05:00
Jeffrey Walton
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
2017-09-15 12:43:18 -04:00
Jeffrey Walton
602fa05825
Cleared unused variable warning under MSC 2017-09-01 14:19:48 -04:00
Jeffrey Walton
6544f75769
Clear strict aliasing rule violation in BLAKE2
There was no aliasing violation in practice. We used a  to assign the right pointer. If the compiler would have removed the unneeded assignment based on T_64bit, then we would not have been flagged.
2017-09-01 11:36:22 -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
863bf9133c
Cleanup casts due to Clang 2017-08-13 06:32:09 -04:00
Dmitry S. Baikov
369fa3bc52 NULLPTR fix for blake2 2017-05-11 07:04:51 +03:00
Dmitry S. Baikov
e8e0b1c3f2 blake2: Fixed initialization when using non-keyed constructor with non-standard digest size. Added test vectors.
https://github.com/weidai11/cryptopp/issues/415

Test vectors generated with pyblake2 which uses 'BLAKE2 reference source code package' by Samuel Neves
2017-05-11 06:46:56 +03:00
Jeffrey Walton
c21023e2dc
Removed 'aligned' makefile target. It was made default in 5.6.5 2017-03-28 23:49:58 -04:00
Jeffrey Walton
5efb019d8b
Add C++ nullptr support (Issue 383) 2017-03-01 06:10:06 -05:00
Jeffrey Walton
8c20630c2d
Remove extra preamble for copyright.
Similar text may be added in the future
2017-02-21 02:54:09 -05:00
Jeffrey Walton
b8adc91ce8
Add asserts to validation routines 2017-01-29 04:58:56 -05:00
Jeffrey Walton
23fbba488d
Add BLAKE2B_ and BLAKE2S_ prefix to macros, remive \#undef's 2017-01-22 22:44:35 -05:00
Jeffrey Walton
6e1a021511
Comments and whitespace (Issue 367) 2017-01-22 13:34:50 -05:00
Jeffrey Walton
9dd2744419
Disable NEON for Cortex-A53 and A57 processors (Issue 367) 2017-01-22 13:18:35 -05:00
klemens
5a5c633073 spelling fixes 2016-12-27 18:34:57 +01:00
Jeffrey Walton
ba75834ae9
Removed VC++ 5.0 and 6.0 workarounds (Issue 342) 2016-12-03 05:05:56 -05:00
Jeffrey Walton
57b3a7c9cc Fix SunCC compile under x86_64 2016-09-21 02:07:17 -04:00
Jeffrey Walton
399a1546de Add CRYPTOPP_ASSERT (Issue 277, CVE-2016-7420)
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
2016-09-16 11:27:15 -04:00
Jeffrey Walton
ded4fd50a2 Work around BLAKE2b self test failures under SunCC 5.12 with SSE2 (Issue 247) 2016-08-24 02:39:06 -04:00
Jeffrey Walton
0c3313c8a2 Fix compile under VS2013 X86 2016-08-21 06:42:54 -04:00
Jeffrey Walton
898d6a3f78 Fix compile under VS2012 X86 2016-08-21 04:36:32 -04:00
Jeffrey Walton
cd3dd25b12 Fix compile under VS2010 X86 2016-08-21 04:16:44 -04:00
Jeffrey Walton
43320dd727 Fixed compile under Visual Studio 2008, 32-bit 2016-07-24 04:20:50 -04:00
Jeffrey Walton
fc5ad7ea7d Removed SSE2 and SSE4 restrictions under Visual Studio 2016-07-24 01:25:30 -04:00
Jeffrey Walton
fa0b378173 Add SSE2 guard with CRYPTOPP_BOOL_SSE2_AVAILABLE 2016-07-24 00:47:37 -04:00
Jeffrey Walton
7716f5f689 Enable CRYPTOPP_BOOL_SSE4_INTRINSICS_AVAILABLE 2016-07-24 00:39:20 -04:00
Jeffrey Walton
32e6276baf Prefer union access over pointer cast
Also see http://stackoverflow.com/a/38547909/608639
2016-07-24 00:34:55 -04:00
Jeffrey Walton
ef4f185d9b Avoid accessing union value through inactive member 2016-07-23 23:49:26 -04:00
Jeffrey Walton
d8638a597f Fixed arguments to _mm_set_epi64x 2016-07-23 22:09:26 -04:00
Jeffrey Walton
f532b02a96 Add replacement for _mm_set_epi64x under Sun Studio 12.3 and below 2016-07-23 21:39:18 -04:00
Jeffrey Walton
c4f9a7cfce Fix compile under iOS 2016-07-13 01:45:09 -04:00
Jeffrey Walton
5080a065ce Clear Valgrind findings under -Ofast 2016-07-12 23:05:00 -04:00
Jeffrey Walton
53e2147d8d Fix compile under Sun Studio 12.3 and below with -xarch=aes defines 2016-07-10 20:40:45 -04:00
Jeffrey Walton
f8200af3ae Add SunCC 12.4 support for specialized implementations if CRC, RDRAND and BLAKE2 2016-07-10 16:21:19 -04:00
Jeffrey Walton
6c0b120072 Go back to Commit 66ada4cc61 2016-07-06 14:39:18 -04:00