Commit Graph

2889 Commits

Author SHA1 Message Date
Jeffrey Walton
5c6a32ba0f
Support Base Implementation + SIMD implementation on Solaris (PR #461) 2017-08-24 19:17:21 -04:00
Jeffrey Walton
b57f7f0ae0 Rollup CMake fixes for OpenBSD, MinGW (Issues 380, 466-468, PR #469)
Rollup CMake fixes for OpenBSD (Issues 467-468)
Rollup CMake fixes for MinGW (Issues 466)
Add CRYPTOPP_ENABLE_ARCH (Issue 380)
2017-08-24 07:26:14 -04:00
Jeffrey Walton
b3cacd8287
Fix 32-bit ARM NEON detection
BeagleBone's, RPI-3's, etc
2017-08-23 19:35:45 -04:00
Jeffrey Walton
9c9e69119f Remove -march=native as default in Makefile and CMake (PR #465)
Remove -march=native as default in Makefile and CMake (PR #465)
2017-08-23 16:13:20 -04:00
Jeffrey Walton
559fc3bd89 Fix benchmark selection code (GH #464) 2017-08-22 05:10:25 -04:00
Jeffrey Walton
7851a0d510 Remove BOOL macro value (GH #462)
Currently the CRYPTOPP_BOOL_XXX macros set the macro value to 0 or 1. If we remove setting the 0 value (the #else part of the expression), then the self tests speed up by about 0.3 seconds. I can't explain it, but I have observed it repeatedly.
This check-in prepares for the removal in Upstream master
2017-08-20 21:25:29 -04:00
Jeffrey Walton
bac3c1cc40
Fix Asan 64-bit build
The Padlock SDK sample code leaves a lot to be desired. Regariding the 64-bit samples and instr_linux64.asm... it looks like the sample sill uses 32-bit constants, but most anything related to extended registers, like rdi, is commented out
2017-08-20 11:19:32 -04:00
Jeffrey Walton
3db6f361d2
Fix compile under MSVC
(ClCompile target) ->
  validat1.cpp(1081): warning C4800: 'CryptoPP::word32' : forcing value to bool
 'true' or 'false' (performance warning) [c:\Users\cryptopp\cryptest.vcxproj]
  validat1.cpp(1090): warning C4800: 'CryptoPP::word32' : forcing value to bool
 'true' or 'false' (performance warning) [c:\Users\cryptopp\cryptest.vcxproj]
  validat1.cpp(1099): warning C4800: 'CryptoPP::word32' : forcing value to bool
 'true' or 'false' (performance warning) [c:\Users\cryptopp\cryptest.vcxproj]
2017-08-20 07:15:02 -04:00
Jeffrey Walton
40d0710d43
Fix compile under Clang
padlkrng.cpp:45:34: error: no matching function for call to 'STDMIN'
                const size_t rem = STDMIN(ret, STDMIN(size, 16U));
                                               ^~~~~~
./misc.h:516:36: note: candidate template ignored: deduced conflicting types for parameter 'T' ('unsigned long' vs. 'unsigned int')
template <class T> inline const T& STDMIN(const T& a, const T& b)
                                   ^
1 error generated.
2017-08-20 07:09:10 -04:00
Jeffrey Walton
88f08afcb0
Add additional VIA RNG tests
The are configurations tests as recommended by Cryptography Research, Inc in their 2003 audit report
2017-08-20 07:01:59 -04:00
Jeffrey Walton
855922b2ca
Updated documentation 2017-08-20 04:59:41 -04:00
Jeffrey Walton
ce74eac58d
Updated documentation 2017-08-20 04:40:57 -04:00
Jeffrey Walton
8c47095a57
FIX GCC ASM template
is the constant 2. %2 is the second positional argument, which is the XSTORE divisor. We want the later.
2017-08-20 04:21:24 -04:00
Jeffrey Walton
61c8b74951
Add Divisor and MSR member variables
Guard ASM based on CRYPTOPP_X86_ASM_AVAILABLE
Increased depth of internal buffer
Update documentation for using the generator
Whitespace check-in
2017-08-20 04:09:19 -04:00
Jeffrey Walton
bc4bb9a952 Fix 0-size FixedSizeAlignedSecBlockwith GetUserKey 2017-08-19 17:35:56 -04:00
Jeffrey Walton
7fb5953055
Add VIA Padlock RNG 2017-08-19 15:41:45 -04:00
Jeffrey Walton
65a96fe983
Update Readme with FIPS 1402-2 info 2017-08-19 10:08:31 -04:00
Jeffrey Walton
2daa991427
Update comments 2017-08-19 09:48:24 -04:00
Jeffrey Walton
fe64547a26
Update Readme 2017-08-19 09:09:41 -04:00
Jeffrey Walton
29f404ba5c
Update comments (Issue 414)
After more investigation it appears the issue was either Undefined Behavior or a Strict Aliasing violation in GCC; and it was in the test program and not the library. We're not sure which at the moment, but we were able to identify the problematic code. See the comments with Issue 414 (https://github.com/weidai11/cryptopp/issues/414)
2017-08-19 09:09:21 -04:00
Jeffrey Walton
f47022b4dd
Update documentation 2017-08-19 02:53:45 -04:00
Jeffrey Walton
682ab78b01
Update documentation 2017-08-19 02:32:44 -04:00
Jeffrey Walton
a19f0c663b
Update asserts
Change 'rounds' to size_t in Rijndael_AdvancedProcessBlocks_ARMV8
2017-08-19 01:55:20 -04:00
Jeffrey Walton
a1b3102eab
Update comments 2017-08-19 01:35:36 -04:00
Jeffrey Walton
a9cd6755c7
Fix MSC C4100 warning for size
Also see commit 42b7c4ea56.
2017-08-18 10:07:47 -04:00
Jeffrey Walton
42b7c4ea56
Clear Coverity finding CONSTANT_EXPRESSION_RESULT (CID 182772)
This may create a MSC warning about a conditional expression being constant
2017-08-18 07:59:21 -04:00
Jeffrey Walton
b61953a7a7
Clear Coverity finding UNINIT_CTOR (CID 182771) 2017-08-18 05:02:06 -04:00
Jeffrey Walton
5ef2b814bc
Clear Coverity finding UNINIT_CTOR (CID 148126) 2017-08-18 04:59:30 -04:00
Jeffrey Walton
0b31a12534
Fix missing backslash 2017-08-18 04:53:22 -04:00
Jeffrey Walton
2a7ccd6fd3
Clear Coverity finding CONSTANT_EXPRESSION_RESULT (CID 182768) 2017-08-18 04:52:20 -04:00
Jeffrey Walton
adfb30a579
Clear Coverity finding CHECKED_RETURN (CID 182769) 2017-08-18 04:51:50 -04:00
Jeffrey Walton
4039b21b39
Add ARMv8 machine strings for Apple 2017-08-18 03:03:42 -04:00
Jeffrey Walton
a9534a7cf3
Use CRYPTOPP_SSE2_INTRIN_AVAILABLE for consistent naming 2017-08-18 02:11:41 -04:00
Jeffrey Walton
2a2f6cb7b3
Fix SSSE3 issues under GCC 4.4.5 on Debian 6 2017-08-17 19:04:00 -04:00
Jeffrey Walton
1267c75369
Fix constexpr issues under GCC 4.1.2 found on CentOS 5 2017-08-17 18:35:06 -04:00
Jeffrey Walton
51fe8a7776
Guard use of SIGILL probes on Apple platforms 2017-08-17 18:06:57 -04:00
Jeffrey Walton
82456515c5
Update documentation 2017-08-17 16:56:35 -04:00
Jeffrey Walton
e3c8e69ba3
Rework makefile cpu feature detection code for the BSDs 2017-08-17 16:35:56 -04:00
Jeffrey Walton
9d1f7f7539
Avoid use of SecBlock::m_ptr in Salsa 2017-08-17 16:27:56 -04:00
Jeffrey Walton
ae84826d4b
Update documentation 2017-08-17 16:24:54 -04:00
Jeffrey Walton
803c1a78e7
Update documentation 2017-08-17 14:24:51 -04:00
Jeffrey Walton
2c44518fcb
Fix iOS ARM build
cpu.cpp:451:17: error: variable has incomplete type 'struct utsname'

        struct utsname systemInfo;

                       ^

cpu.cpp:451:9: note: forward declaration of 'utsname'

        struct utsname systemInfo;

               ^

1 error generated.
2017-08-17 13:52:26 -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
74d21068a1
Fix more Clang problems
I wish this god damn compiler would stop pretending to be other compilers when it can't consume the same program. Even the GCC devs have told the LLVM devs to stop ding that crap
2017-08-17 10:45:43 -04:00
Jeffrey Walton
7779fa3e7a
Fix NEON detection on Aarch32 and Aarch64
I wish GCC would get its head out of its ass and define the apprpriate defines. NEON/ASIMD cannot be disgorged from Aarch32/Aarch64 just like SSE2 cannot be disgorged from x86_64. They are core instruction sets
2017-08-17 02:15:42 -04:00
Jeffrey Walton
6e35e7387a
Add debug configuration to Travis 2017-08-17 01:47:08 -04:00
Jeffrey Walton
f099d2df91
Remove ios-tv from allow_failures 2017-08-16 23:15:23 -04:00
Jeffrey Walton
3887c919c3
Clear unused variable warnings under MSVC 2017-08-16 22:56:36 -04:00
Jeffrey Walton
df280a509a
Disable Carryless Multiplies for Clang
Clang causes too many problems. Early versions of the compiler simply crashes. Later versions of the compiler still have trouble with Intel ASM and still produce incorrect results on occassion. Additionally, we have to special case the integrated assemvler. Its making a mess of the code and causing self test failures
2017-08-16 22:10:53 -04:00
Jeffrey Walton
1450847e40
Update comments 2017-08-16 21:43:31 -04:00