Commit Graph

3038 Commits (8480125ef645270e90b109c1e0d87564db0aa577)

Author SHA1 Message Date
Jeffrey Walton 8480125ef6
Fix compiler feature detection under Clang
Apparently Clang is too dumb to realize we are interested in C++ defines when we use clagng++ and add -std=c++03. Without the -x c++, it fails with a complaint that -std=c++03 cannot be used with C and ObjC files
2017-08-16 09:43:11 -04:00
Jeffrey Walton 429a49859a
Fold shuffles after loads for SHACAL2 2017-08-16 09:07:01 -04:00
Jeffrey Walton 2090d0b0a6
Fix sources after sync with upstream master 2017-08-16 06:18:53 -04:00
Jeffrey Walton 20463e9524 Sync with upstream master 2017-08-16 06:16:15 -04:00
Jeffrey Walton 1ab1e08ac5
Add Intel SHA implementation for SHACAL2 encryption
The implementation came from Jack Lloyd and the Botan team. Jack and the Botan was gracious and allowed us to use Botan's x86_encrypt_blocks function. They also allowed us to release it under the Crypto++ licensing terms. Also see https://github.com/randombit/botan/pull/1151/files
2017-08-16 06:13:06 -04:00
Jeffrey Walton e394313071 Sync with Upstream master 2017-08-16 05:44:38 -04:00
Jeffrey Walton b311aabc31
Update documentation 2017-08-16 05:42:58 -04:00
Jeffrey Walton e19fad007f
Fix library version number in script 2017-08-16 05:36:11 -04:00
Jeffrey Walton 8b21a196dd
Fix library version number 2017-08-16 05:19:41 -04:00
Jeffrey Walton c5c6a6af5c
Fix Doxygen constant documentation 2017-08-16 05:11:37 -04:00
Jeffrey Walton 121a47abce
Update documentation 2017-08-16 04:58:19 -04:00
Jeffrey Walton e08fa3a084 Sync with Upstream master 2017-08-16 04:50:42 -04:00
Jeffrey Walton cbfe2ac6e2
Add Intel SHA implementation for SHACAL2 encryption
The implementation came from Jack Lloyd and the Botan team. Botan was gracious and allowed us to use the x86_encrypt_blocks function, and release it under the Crypto++ licensing terms. Also see https://github.com/randombit/botan/pull/1151/files
2017-08-16 03:47:06 -04:00
Jeffrey Walton 08c37e5887
Update comments in Rijndael head comments 2017-08-15 14:26:30 -04:00
Jeffrey Walton f2a303c30b
Cut-over to Wei's wide AES encryption for ARMv8
Wei's AESNI routines use ARMV8_Enc_Block, ARMV8_Enc_4_Blocks, ARMV8_Dec_Block, ARMV8_Dec_4_Blocks. They increased performance for ECB, CTR and CBC mode. Formerly ECB mode was rinning at 2.3 cpb. After the cut-over ECB dropped to 1.1 cpb.
2017-08-15 12:11:17 -04:00
Jeffrey Walton 4a31b367f2 Sync with Upstream master 2017-08-15 08:52:01 -04:00
Jeffrey Walton 6f36c7deae
Cleared UBsan finding in Default's GenerateKeyIV
passed:  128 deflates and inflates
passed:  128 zlib decompress and compress
default.cpp:69:2: runtime error: null pointer passed as argument 2, which is declared to never be null
/usr/include/x86_64-linux-gnu/bits/string3.h:53:71: runtime error: null pointer passed as argument 2, which is declared to never be null

Information Dispersal and Secret Sharing...
2017-08-15 08:51:03 -04:00
Jeffrey Walton 092b3cb467
Backed off assert.
Its too noisy
2017-08-15 04:42:12 -04:00
Jeffrey Walton 14eef92c8c Sync with Upstream master 2017-08-15 03:15:53 -04:00
Jeffrey Walton 659b47108a
Fix Address Sanitizer findings on GCC117
GCC117 is a Aarch64/ARM64 server with AMD's ARM chip and GCC 7.10. It looks like GCC is performing some std::string optimizations that generates a finding. We did not witness the finding on other platforms, like other Aarch64 devices and x86_64.

We will need to check if taking the address of element-0 is still approved way to get the non-const pointer to the elements
2017-08-15 03:11:03 -04:00
Jeffrey Walton 0110f8397f
Add ELEMS_MAX for SecBlock (Issue 346)
Reset the mark on additional class methods
2017-08-15 03:07:30 -04:00
Jeffrey Walton 876142b1b6
Update with latest sources and reproducible build 2017-08-15 03:05:45 -04:00
Jeffrey Walton 536e8f5236
Test SecBlock for ELEMS_MAX changes (Issue 346) 2017-08-15 02:14:09 -04:00
Jeffrey Walton 40a95bde63 Sync with Upstream master 2017-08-15 01:24:43 -04:00
Jeffrey Walton cebeedfefd
Fix Address Sanitizer findings on GCC117
GCC117 is a Aarch64/ARM64 server powered by AMD's ARM chip. It runs GCC 7.10. It looks like GCC is performing some std::string optimizations that generates a finding. We have not witnessed the finding on other platforms
2017-08-15 01:15:08 -04:00
Jeffrey Walton 93f085c44c
Fix test script when running on machine with RO mount of / 2017-08-14 19:31:36 -04:00
Jeffrey Walton dcb115e043 Sync with Upstream master 2017-08-14 08:57:05 -04:00
Jeffrey Walton f8e77e0fe6
Add Apple Watch and TV to Travis testing 2017-08-14 07:54:10 -04:00
Jeffrey Walton 9e7e623399
Test iOS Watch and TV builds.
Take 8
2017-08-14 07:28:40 -04:00
Jeffrey Walton db628065bf
Test iOS Watch and TV builds.
Take 7
2017-08-14 07:23:09 -04:00
Jeffrey Walton 949cee996e
Test iOS Watch and TV builds.
Take 6
2017-08-14 06:40:09 -04:00
Jeffrey Walton a650e0d9f1
Test iOS Watch and TV builds.
Take 5
2017-08-14 06:37:10 -04:00
Jeffrey Walton 74aa5b7e12
Test iOS Watch and TV builds.
Take 4
2017-08-14 06:16:25 -04:00
Jeffrey Walton 16442d2eae
Test iOS Watch and TV builds.
Take 3
2017-08-14 05:45:22 -04:00
Jeffrey Walton 9f33d0f834
Test iOS Watch and TV builds. For real this time... 2017-08-14 04:36:17 -04:00
Jeffrey Walton a9fd2b6104
Test iOS Watch and TV builds 2017-08-14 04:34:24 -04:00
Jeffrey Walton 08191d5dff
Fix define used for SHA includes 2017-08-14 04:18:12 -04:00
Jeffrey Walton a92fc55d39
Remove duplicate test after updtream merge 2017-08-14 04:01:55 -04:00
Jeffrey Walton a25e63fcb7
Fix sources after sync with upstream 2017-08-14 03:19:20 -04:00
Jeffrey Walton c44f32d683 Sync with upstream master 2017-08-14 02:22:48 -04:00
Jeffrey Walton effa446a61
Fix test script when running on machine with RO mount of / 2017-08-14 01:48:11 -04:00
Jeffrey Walton 6a29d8c56f
Use -O1 for Asan and UBsan 2017-08-14 01:05:03 -04:00
Jeffrey Walton 2ee8e3b26d
Move free standing function into anonymous namespace
Update comments and use class constants when available
2017-08-14 00:08:55 -04:00
Jeffrey Walton 2aff92ddb6
Fix bad SHA::Transform calculation (Issue 455)
Reworked SHA class internals to align all the implementations. Formerly all hashes were software based, IterHashBase handled endian conversions, IterHashBase repeatedly called the single block SHA{N}::Transform. The rework added SHA{N}::HashMultipleBlocks, and the SHA classes attempt to always use it.

Now SHA{N}::Transform calls into SHA{N}_HashMultipleBlocks, which is a free standing function. An added wrinkle is hardware wants little endian data and software presents big endian data, so HashMultipleBlocks accepts a ByteOrder for the incoming data. Hardware based SHA{N}_HashMultipleBlocks can often perform the endian swap much easier by setting an EPI mask so it was profitable to defer to hardware when available.

The rework also removed the hacked-in pointers to implementations. The class now looks more like AES, GCM, etc.
2017-08-13 16:05:39 -04:00
Jeffrey Walton 011429583d
Fix sources after sync with upstream master 2017-08-13 07:06:19 -04:00
Jeffrey Walton e0ec92b541 Sync with Upstream master 2017-08-13 06:54:28 -04:00
Jeffrey Walton 5f441d28e5
Cleanup __m128 casts due to Clang 2017-08-13 06:53:35 -04:00
Jeffrey Walton 863bf9133c
Cleanup casts due to Clang 2017-08-13 06:32:09 -04:00
Jeffrey Walton d8e56b8250 Sync with Upstream master 2017-08-13 05:01:57 -04:00
Jeffrey Walton f02bf91ee5
Revert 95ee8975b4 and 7d21cdd54e (Issue 408)
This broke some OS X builds. We need more testing. Ugh...
2017-08-13 04:31:17 -04:00