Commit Graph

4152 Commits (1ff6f39ec654cd5690a43a3a2e15d668afe5dd2b)

Author SHA1 Message Date
Jeffrey Walton 1ff6f39ec6
Add proper declaration for Kalyna tables; and split from definitions 2018-10-28 06:09:46 -04:00
Jeffrey Walton 1d0c6dd916
Cleanup SHA SIMD source file
Add proper declaration for SHA256_K and SHA512_K tables; and split from definitions
2018-10-28 04:45:26 -04:00
Jeffrey Walton c601213ce1
Sync CRYPTOPP_{BIG|LITTLE}_ENDIAN with Autotools
Autotools sets up its config.h file with the '#define XXX 0' or '#define XXX 1' pattern. This check-in makes the sources Autotools aware. We need to verify CMake does the same
2018-10-28 04:24:22 -04:00
Jeffrey Walton e185cbd803 Revert "Sync CRYPTOPP_{BIG|LITTLE}_ENDIAN with Autotools"
This reverts commit 04306f86ac. It broke GCC 4.8 on PowerPC.
2018-10-28 03:42:50 -04:00
Jeffrey Walton a7615a8c7c
Add packed 32-bit Shuffle specializations for ChaCha on Power8 2018-10-28 00:48:18 -04:00
Jeffrey Walton 542140621a
Update comments 2018-10-27 14:01:25 -04:00
Jeffrey Walton a281cd9d48
Add ChaCha recipes to GNUmakefile-cross 2018-10-27 12:59:29 -04:00
Jeffrey Walton e9e317525e
Whitespace check-in 2018-10-27 12:49:22 -04:00
Jeffrey Walton 1cf4f98df8
Update comments 2018-10-27 12:46:01 -04:00
Jeffrey Walton 06d0072d6a
Add CRYPTOPP_DISABLE_ASM to dependency recipe
This stops the inclusion of SSE headers without arch options that break the recipe
2018-10-27 11:34:11 -04:00
Jeffrey Walton d7d76fa5f7
Add ChaCha Power8 implementation 2018-10-27 08:40:07 -04:00
Jeffrey Walton 04306f86ac
Sync CRYPTOPP_{BIG|LITTLE}_ENDIAN with Autotools 2018-10-27 07:30:15 -04:00
Jeffrey Walton 8b00a9ff3f
Fix compile error on AIX
Apparently "hz" is an identifier somewhere in the bowels AIX standard headers
2018-10-27 06:52:59 -04:00
Jeffrey Walton 5dfa9086b7
Add VectorStore(byte*, vector) overload 2018-10-27 06:25:05 -04:00
Jeffrey Walton 5e897710e8
Update documentation 2018-10-27 06:19:59 -04:00
Jeffrey Walton 5d1de662bb
Spelling 2018-10-27 03:33:29 -04:00
Jeffrey Walton 55bb2c8b03
Update documentation 2018-10-27 02:05:49 -04:00
Jeffrey Walton 2b4911abee
Update documentation 2018-10-27 00:48:10 -04:00
Jeffrey Walton 16768df2e5
Update documentation 2018-10-26 19:29:15 -04:00
Jeffrey Walton ca97f6fafb
Add addition helper for Aarch32 and Aarch64
Update comments
2018-10-26 13:42:09 -04:00
Jeffrey Walton 21d69598ab
Add CRYPTOPP_DISABLE_ASM to dependency recipe
This stops the inclusion of SSE headers without arch options that break the recipe
2018-10-26 11:10:07 -04:00
Jeffrey Walton c0b273dac8
Remove xorInput parameter from ChaCha SIMD functions
We can use the input pointer directly after checking KeystreamOperation
2018-10-26 10:10:52 -04:00
Jeffrey Walton 61a696f710
Update comments 2018-10-26 04:26:18 -04:00
Jeffrey Walton 8da2b91cba
Add ChaCha AlgorithmName override 2018-10-26 03:13:06 -04:00
Jeffrey Walton 76ab8ffa4b
Update comments 2018-10-26 03:12:46 -04:00
Jeffrey Walton c992fe98a9
Fix failed compile on Ubuntu with -msse2
Also see https://github.com/noloader/cryptopp-cmake/issues/36
2018-10-26 02:43:35 -04:00
Jeffrey Walton 99c65bdb35
Rename ARM Shuffle() to Extract()
Extract() is the equivalent to SSE's _mm_shuffle_epi32(), but ARM naming calls it vector extract
2018-10-26 00:44:10 -04:00
Jeffrey Walton d3a3189ba3
Sync CRYPTOPP_ARM_ACLE_AVAILABLE with Autotools 2018-10-25 14:08:09 -04:00
Jeffrey Walton b4b3623938
Whitespace check-in 2018-10-25 12:15:33 -04:00
Jeffrey Walton b1050636a6
Add ChaCha NEON implementation 2018-10-25 12:08:32 -04:00
Jeffrey Walton 352083b1d0
Cleanup HC128 and HC256 OperateKeystream 2018-10-25 08:24:13 -04:00
Jeffrey Walton ba5ca6b8cd
Add XOP aware BLAKE2b and BLAKE2s 2018-10-25 06:35:43 -04:00
Jeffrey Walton f33b19bf00
Add XOP aware Salsa20 2018-10-25 05:24:02 -04:00
Jeffrey Walton daa07255ec
Fix ambiguous symbol BTEA::StaticAlgorithmName (GH #726) 2018-10-25 02:16:15 -04:00
Jeffrey Walton ecbf791015
Remove unneeded SIMON128 functions in simon64-simd.cpp
This looks like artifacts from when we split simon-simd.cpp into simon64-simd.cpp and simon128-simd.cpp.
2018-10-24 19:02:20 -04:00
Jeffrey Walton 67f421174c
Add XOP aware SIMECK 2018-10-24 17:49:04 -04:00
Jeffrey Walton babdf8b38b
Add XOP aware CHAM and LEA 2018-10-24 17:12:03 -04:00
Jeffrey Walton 210995b867
Add XOP aware SIMON and SPECK 2018-10-24 16:55:59 -04:00
Jeffrey Walton ed4d57cecb
Add XOP aware ChaCha
ChaCha is about 50% faster using XOP for the rotates on AMD machines
2018-10-24 16:15:13 -04:00
Jeffrey Walton b4c4c5aa14
Add SSSE3 rotates when available
This change obtains the remaining 0.1 to 0.15 cpb. It should be engaged with -march=native
2018-10-24 15:34:54 -04:00
Jeffrey Walton c43c47e590
Fix _mm_roti_epi32 and _mm_roti_epi64 redefined on Fedora ar -O0 2018-10-24 13:32:53 -04:00
Jeffrey Walton 18dcbdf514
Move input xor to ChaCha_OperateKeystream_SSE2
This picks up about 0.2 cpb in ChaCha::OperateKeystream. It may not sound like much but it puts SSE2 intrinsics version on par with the ASM version of Salsa20. Salsa20 leads ChaCha by 0.1 to 0.15 cpb, which equates to about 50 MB/s.
2018-10-24 11:00:35 -04:00
Jeffrey Walton d230999b40
Fix ChaCha compile on ARM and MIPS 2018-10-24 01:11:45 -04:00
Jeffrey Walton 6a5d2ab03d
Remove unneeded params from ChaCha_OperateKeystream_SSE2 2018-10-23 08:52:29 -04:00
Jeffrey Walton 028a9f0494
Remove old comments from chacha.cpp
This should have been done at 916c4484a2
2018-10-23 08:12:02 -04:00
Jeffrey Walton 4ad8fa9efe
Fix cryptest.vcxproj.user after 916c4484a2 check-in 2018-10-23 08:05:24 -04:00
Jeffrey Walton 916c4484a2
Add ChaCha SSE2 implementation
Thanks to Jack Lloyd and Botan for allowing us to use the implementation.
The numbers for SSE2 are very good. When compared with Salsa20 ASM the results are:
  * Salsa20 2.55 cpb; ChaCha/20 2.90 cpb
  * Salsa20/12 1.61 cpb; ChaCha/12 1.90 cpb
  * Salsa20/8 1.34 cpb; ChaCha/8 1.5 cpb
2018-10-23 07:57:59 -04:00
Jeffrey Walton 35b874b527
Add additional ChaCha tests 2018-10-23 07:35:41 -04:00
Jeffrey Walton dc840e49a6
Make datatest.cpp more tolerant of comments 2018-10-23 07:09:22 -04:00
Jeffrey Walton 322cda8e6e
Whitespace check-in 2018-10-23 07:08:33 -04:00