Commit Graph

3024 Commits (f2a303c30b5256d37c4ed260d8631742eae1ef50)

Author SHA1 Message Date
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
Jeffrey Walton 95ee8975b4
Use blockSize in error message thrown 2017-08-12 20:29:33 -04:00
Jeffrey Walton 5f3a3f29e8
Sync with Upstream master 2017-08-12 19:28:59 -04:00
Jeffrey Walton 5e6e6c4eaa Sync with Upstream master 2017-08-12 19:24:00 -04:00
Jeffrey Walton 7d21cdd54e
Convert GCM to use runtime blocksize checking (Issue 408)
GCM is still only defined for 16-byte ciphers, but this is where we need to be when we add the larger polynomials
2017-08-12 16:14:29 -04:00
Jeffrey Walton 19ab62201d
Add files to Visual Studio filters 2017-08-12 00:15:09 -04:00
Jeffrey Walton 1463995c99
Add files to Visual Studio filters 2017-08-12 00:09:51 -04:00
Jeffrey Walton a84f568ee2
Add subfunc to CpuId for AVX and above 2017-08-11 22:56:01 -04:00
Jeffrey Walton f02503d08f Sync with Upstream master 2017-08-11 17:27:19 -04:00
Jeffrey Walton f5aa6f1f06
Cast enums to int for comparison 2017-08-11 17:15:13 -04:00
Jeffrey Walton 953252e44d
Move from 'static' to 'enum' for class constants
Enums don't take up space in class objects. Its should result in smaller objects and faster code
2017-08-11 17:13:15 -04:00
Jeffrey Walton 9ab233b52a
Switch from 'static const' to 'enum' for class constants
Enums do not take up space in a class. It should lead to smaller objects and faster runtimes
2017-08-11 16:09:28 -04:00
Jeffrey Walton 93a8f9e9b7
Fix compile with GCC on Solaris 2017-08-11 16:08:28 -04:00
Jeffrey Walton 5b945a5412
Update for earlier Apple compilers, like Apple Clang 6 and 8 2017-08-11 14:24:05 -04:00
Jeffrey Walton 8a66353b2c
Test <arm_acle.h> include under Apple
This is a compile test
2017-08-11 12:31:04 -04:00