Commit Graph

2496 Commits (6381faf2774f88c037b29f47b99bbbab353c48df)

Author SHA1 Message Date
Jeffrey Walton 08c0e26020
Add CRYPTOPP_ASSERT to Validate routines
Since we switched to CRYPTOPP_ASSERT we don't have to worry about an accidental assert in production. We can now assert ValidateElement and ValidateGroup and let the code warn of potential problems during development.
This came about because ECGDSA inadvertently used GetGroupOrder() rather than GetSubgroupOrder(). The assert alerted to the problem area without the need for debugging
2017-01-20 06:10:14 -05:00
Jeffrey Walton 5522e93133
Use AES/GCM for PMULL benchmarking 2017-01-19 13:44:03 -05:00
Jeffrey Walton 4f725eddc1
Call vrev64q_u8 after vld1q_u8 2017-01-19 07:37:54 -05:00
Jeffrey Walton bbf13b77e7
Switch to vext and remove unnecessary casts 2017-01-19 06:22:38 -05:00
Jeffrey Walton b129818c35
Add GCC inline ASM for PMULL and PMULL2
The macros that invoke GCC inline ASM have better code generation and speedup GCM ops by about 70 MiB/s on an Opteron 1100. The intrinsics are still available for Windows platforms and Visual Studio 2017 and above
2017-01-19 02:38:00 -05:00
Jeffrey Walton ecc818f341
Pickup "$(PLATFORM)" == "amd64" for VS2017 2017-01-18 03:52:21 -05:00
Jeffrey Walton 3e82a3102a
Pickup "$(PLATFORM)" == "arm" for VS2017 2017-01-18 03:41:59 -05:00
Jeffrey Walton d9df0961e0
Fix SHA512_SSE2_Transform after whitespace checkin (Issue 365) 2017-01-17 00:49:10 -05:00
Jeffrey Walton 4f2bb7664f
Avoid C-style casts for NEON vectors
Switch to ARM vector casts like vreinterpretq_u8_u64
2017-01-16 17:12:44 -05:00
Jeffrey Walton 8eb1b6cb6b
Update CRYPTOPP_BOOL_ARM_PMULL_INTRINSICS_AVAILABLE availability (Issue 362)
PMULL and PMULL2 are available on Aarch64 only, and not Aarch32 or A-32
2017-01-16 05:35:53 -05:00
Jeffrey Walton 3a1a14c885
Update attribution of ARM SHA extensions
Also see d3bb0e13de (commitcomment-20482554)
2017-01-15 20:41:54 -05:00
Jeffrey Walton 1d391c190d
Make NumericLimitsMin and NumericLimitsMax available to MSVC (Issue 364) 2017-01-15 19:36:36 -05:00
Jeffrey Walton b274f06202
Fix RoundUpToMultipleOf for Apple Clang 6.0 (Issue 364)
Also see Issue 360 and http://stackoverflow.com/q/41666815
2017-01-15 19:14:42 -05:00
Jeffrey Walton c80502102a
Breakout __ARM_FEATURE_CRYPTO into PMULL, AES and SHA for Apple Clang (Issue 362)
It appears Apple Clang disgorges carryless multiply (PMULL) from Crypto (AES and SHA). The breakout added CRYPTOPP_BOOL_ARM_PMULL_INTRINSICS_AVAILABLE for PMULL, and retained CRYPTOPP_BOOL_ARM_CRYPTO_INTRINSICS_AVAILABLE for AES and SHA only
2017-01-15 00:22:14 -05:00
Jeffrey Walton c71803f383
Fix typo 2017-01-14 01:18:31 -05:00
Jeffrey Walton 69f812a7af
Add ARM SHA extensions for SHA-224 and SHA-256 2017-01-14 01:16:47 -05:00
Jeffrey Walton 732601e8b6
Microsoft still does not suport ARMv8 and the ARM intrinscs
Remove the define for now. Maybe Microsoft will support it in 2019 or 2020
2017-01-13 23:57:11 -05:00
Jeffrey Walton 58554cae36 Merge pull request #363 from MarcelRaad/patch-1
Suppress warning also for VS2017
2017-01-13 08:39:04 -05:00
Marcel Raad f1d2d15604 Suppress warning also for VS2017
The warning suppression for Visual Studio 2015 is also needed for Visual Studio 2017 (_MSC_VER = 1910).
2017-01-13 13:58:03 +01:00
Jeffrey Walton 3584c4025a
Begin fix of cpu.h under Apple and LLVM Clang (Issue 362) 2017-01-13 06:47:53 -05:00
Jeffrey Walton d3bb0e13de
Add ARM SHA extensions for SHA1
Benchmarking on ARMv8/Aarch64 dev-board shows SHA-1 speeds up by 2.5x
2017-01-13 05:44:19 -05:00
Jeffrey Walton 52f13eca9b
Add armv8 and aarch64 options in addition to arm64 2017-01-13 05:39:04 -05:00
Jeffrey Walton fc306b6474
Whitespace checkin 2017-01-13 04:23:57 -05:00
Jeffrey Walton 89facf5599 Merge pull request #357 from HeinrichJanzing/cmake_optional_objects_target
CMake: allow disabling the intermediate objects target (cryptopp-object).
2017-01-11 21:07:43 -05:00
Jeffrey Walton 1778432013
Add self tests for RoundUpToMultipleOf (Issue 360)
Thanks to Boldizsár Lipka
2017-01-10 22:09:38 -05:00
Jeffrey Walton 781e63ba7c
Fix RoundUpToMultipleOf (Issue 360)
Thanks to Boldizsár Lipka
2017-01-10 22:05:53 -05:00
Heinrich Janzing 3c77873b0e CMake: allow disabling the intermediate objects target (cryptopp-object).
Targets with only object inputs do not work correctly with some
generators (like Xcode, see issue #355). Defining these directly in
terms of the source code files (rather than a reused set of object
files) allows correct builds in such cases. This can now be controlled
through a new option USE_INTERMEDIATE_OBJECTS_TARGET which defaults to
ON.
2017-01-05 09:19:19 +01:00
Jeffrey Walton bccc6443c4 Merge pull request #356 from chfast/patch-1
Replace assert with void instruction
2017-01-04 22:28:59 -05:00
Paweł Bylica 903b8feaa7 Replace assert with void instruction
In release builds replace assert with void instruction `(void)0`. Otherwise in some places you will end up with statements like `if (...) ;` and some compiler will complain about it.
2017-01-04 18:47:04 +01:00
Jeffrey Walton 9cc01defde
Add test for CRYPTOPP_INIT_PRIORITY=0
Once we made config.recommend the default, we needed to start testing the disabling of init_priority
2017-01-01 17:47:33 -05:00
Jeffrey Walton 61a2b285f1
Removed deprecated declaration workarounds
Commit bfbcfeec7c and Issue 345 was cleared some time ago. The warning suppression is no longer needed
2017-01-01 17:20:57 -05:00
Jeffrey Walton 84a4e25d07
Fix illegal character in comments
It looks like Gedit's Find/Replace did not work as expected when converting left-quote and right-quote to 8-bit clean ASCII
2017-01-01 07:17:42 -05:00
Jeffrey Walton c0c2851352
Chnage to INT_MAX for NIST DRBGs. Updated documentation 2017-01-01 06:57:27 -05:00
Jeffrey Walton 841c37e347
Add NIST_DRBG::Err class. Add additional checking per SP 800-90A. Update documentation 2017-01-01 05:53:55 -05:00
Jeffrey Walton ef185fa013
Add documentation for NIST_DRBG base class and Hash_DRBG generator 2016-12-31 12:28:41 -05:00
Jeffrey Walton 5c932fcc3b
Add NIST SP800-90A Hash_DRBG generator 2016-12-30 21:46:03 -05:00
Jeffrey Walton 1fe0cc869b
Cleared conversion warning under MSVC 2016-12-30 15:58:01 -05:00
Jeffrey Walton 0774818052 Merge pull request #351 from ka7/spelling_fixes
Spelling fixes in comments
2016-12-28 07:38:13 -05:00
klemens 5a5c633073 spelling fixes 2016-12-27 18:34:57 +01:00
Jeffrey Walton 06f79d904d
Remove vectorization test. This one test needs to be in its own script 2016-12-24 07:25:12 -05:00
Jeffrey Walton 7031fc7f6f
Add test cases for ASN.1 parsing (Issue 346) 2016-12-24 04:56:34 -05:00
Jeffrey Walton b19332a69f
Add additional validations based on X.690 rules
The library was a tad bit fast and loose with respect to parsing some of the ASN.1 presented to it. It was kind of like we used Alternate Encoding Rules (AER), which was more relaxed than BER, CER or DER. This commit closes most of the gaps.

The changes are distantly related to Issue 346. Issue 346 caught a CVE bcause of the transient DoS. These fixes did not surface with negative effcts. Rather, the library was a bit too accomodating to the point it was not conforming
2016-12-24 04:55:21 -05:00
Jeffrey Walton 3475a235bf
Cleared 'warning: field 'm_attachment' will be initialized after field' 2016-12-22 23:45:33 -05:00
Jeffrey Walton d0a6d43e16 Merge pull request #347 from tresorit/fix-asn1-decoder-dos
Fix possible DoS in ASN.1 decoders (CVE-2016-9939)
2016-12-22 21:25:12 -05:00
Jeffrey Walton 182f87eeac
Add info on creating versioned shared object
Also see http://stackoverflow.com/q/41255199
2016-12-22 05:24:16 -05:00
Jeffrey Walton d40b0cdda0
Fix 'grep: repetition-operator operand invalid' 2016-12-22 04:49:24 -05:00
Jeffrey Walton ba585dee4d
Removed 'set -eu'. Its difficult to debug the script when source'ing 2016-12-22 04:39:45 -05:00
denisbider f3474ba157 Updated default Socket::Listen backlog parameter
Default backlog value was 5, which appears to stem back to the maximum supported by Windows Sockets 1. This was bound to cause problems for applications receiving many connections at the same time. Changed to SOMAXCONN, which is the standard way on Windows and POSIX to use a maximum reasonable backlog value.
2016-12-19 11:17:35 -06:00
Jeffrey Walton fa99ece0c5
Add call to ThrowIfInvalidTruncatedSize in SipHash Final 2016-12-18 23:01:33 -05:00
Jeffrey Walton ba00b9e46b
Add debug/release options to cryptest.nmake. Update to make PHONE_APP default for ARM builds 2016-12-18 03:42:34 -05:00