Commit Graph

24 Commits

Author SHA1 Message Date
Jeffrey Walton
80953e3fb5
Add Altivec Xor for XTS mode 2020-04-11 12:37:03 -04:00
Jeffrey Walton
d855d26b56
Cleanup XTS mode 2020-04-11 11:40:37 -04:00
Jeffrey Walton
3ea9557268 Fix compile on CentOS 5 2019-12-29 15:42:00 -05:00
Jeffrey Walton
dc00afed88
Fix XTS compile on Aarch64 when CRYPTOPP_DISABLE_ASM 2019-10-19 13:23:01 -04:00
Jeffrey Walton
bcebd1e39a
Clear conversion warnings under MSVC 2019-10-19 12:01:06 -04:00
Jeffrey Walton
169fbb9795
Guard <arm_neon.h> for 32-bit ARM 2019-10-17 11:14:43 -04:00
Jeffrey Walton
60eedb97ba
Fix ARM headers and Android compile (PR #896)
* Test fix ARM headers
This problem has been festering for some time. The header file includes are slightly different than the ISA options. Some platforms need an include, others don't.

* Fix cryptest-android.sh and cryptest-ios.sh

* Fix MSVC ARM32 and ARM64 compile

* Split ARM32 and ARM64 recipes in GNUmakefile
2019-10-16 21:00:45 -04:00
Jeffrey Walton
5f3c1b8cb9
Fix Android ARMv7a compile and link (#894)
* Fix Android Aarch64 compile with XTS

* Clear Shellcheck warnings

* Fix Android armv7a builds

* Update comments
2019-10-16 07:30:40 -04:00
Jeffrey Walton
891b8db04a
Tune XTS for PowerPC 2019-10-13 23:13:08 -04:00
Jeffrey Walton
8e8e95cea2
Make XTS mode parallelizable (GH #891)
On CoffeeLake performance increased from 3.4 cpb to 1.75 cpb. On Core2Duo performance increased from 27 cpb to 19 cpb.
2019-10-13 16:17:37 -04:00
Jeffrey Walton
74f265aff3
Update comments in XTS 2019-10-13 10:42:10 -04:00
Jeffrey Walton
d36a0b1a54
Avoid calling AdvancedProcessBlocks (GH #891)
On machines without AES acceleration, like Core2Duo's, this change profits by about 6 to 8 cpb. Machines with AES acceleration are not affected
2019-10-13 10:28:46 -04:00
Jeffrey Walton
4adcae6495
Clear unused variable warning under GCC 2019-10-13 09:17:00 -04:00
Jeffrey Walton
d3bb20ffe0
Guard for runts in ProcessLastBlock (GH #891) 2019-10-13 04:57:46 -04:00
Jeffrey Walton
9c711221c6
Fix XTS GetValidKeyLength (GH #891) 2019-10-13 04:31:39 -04:00
Jeffrey Walton
97aa173507
Update assert 2019-10-13 03:05:18 -04:00
Jeffrey Walton
dab3b5fd90
Cleanup headers in xts.cpp 2019-10-13 02:08:58 -04:00
Jeffrey Walton
5f9f371558
Fix typo in Aarch64 code path 2019-10-13 02:07:09 -04:00
Jeffrey Walton
9ae8806bbe
Add XorBuffer wrapper function to XTS (GH #891)
XorBuffer wraps SIMD or falls back to xorbuf. The function gains 0.3 cpb to 1.5 cpb, depending on the architecture.
2019-10-13 01:51:22 -04:00
Jeffrey Walton
0705189685
Reuse outLength in ProcessLastBlock 2019-10-12 16:04:11 -04:00
Jeffrey Walton
620b54eddc
Reuse outLength in ProcessLastBlock 2019-10-12 16:01:46 -04:00
Jeffrey Walton
69c9a42938
Make GF_Double 64-bit aware on MS platforms 2019-10-12 14:20:52 -04:00
Jeffrey Walton
9eb0d4572d
Validate XTS block size when CRYPTOPP_XTS_WIDE_BLOCK_CIPHERS==0 2019-10-12 10:41:55 -04:00
Jeffrey Walton
76c29eadaf
Add XTS block cipher mode of operation (GH #891, PR #892) 2019-10-12 07:14:38 -04:00