Commit Graph

4417 Commits (f74b8c8344e5e65a86098a3a43d6ecb52b2b5aab)

Author SHA1 Message Date
Jeffrey Walton 1db4115add
Allow all Android tests to fail until we fix the script for NDK 16b 2018-11-10 18:57:00 -05:00
Jeffrey Walton 5e48e6560e
Whitespace check-in 2018-11-10 14:10:31 -05:00
Jeffrey Walton b354eee1ed
Add /arch:AVX for chacha_avx.cpp to Nmake recipe 2018-11-10 11:56:56 -05:00
Jeffrey Walton 0ee1cb2ae9
Rename files with dashes to underscores
Also see https://github.com/weidai11/cryptopp/issues/736
2018-11-10 11:55:39 -05:00
Jeffrey Walton 06e1d0c0d9
Add call to _mm256_zeroupper to avoid state penalties
Also see https://stackoverflow.com/a/7841251/608639
2018-11-10 11:39:30 -05:00
Jeffrey Walton cc7d5c1561
Rename files with dashes to underscores
Also see https://github.com/weidai11/cryptopp/issues/736
2018-11-10 11:19:35 -05:00
Jeffrey Walton f3fa10a15c
Rename files with dashes to underscores
Also see https://github.com/weidai11/cryptopp/issues/736
2018-11-10 11:16:39 -05:00
Jeffrey Walton 896225069d
Rename files with dashes to underscores (GH #736)
Also see https://groups.google.com/forum/#!topic/cryptopp-users/HBz-6gZZFOA on the mailing list
2018-11-10 08:00:14 -05:00
Jeffrey Walton 776a2195bd
Re-add static functions to eccrypto.cpp
I think another approach is better for CMake
2018-11-09 21:29:59 -05:00
Jeffrey Walton 9dfc010425
Fix compile with SunCC using CMake
This is likely another SunCC problem.
2018-11-09 21:00:37 -05:00
Jeffrey Walton f839e5093c
Enable SSE2 intrinsics for SunCC 2018-11-09 20:35:27 -05:00
Jeffrey Walton 2106086f1f
Fix Solaris mapfile
The mapfile now removes all hwcaps_1 (SSE-AVX), and hwcaps_2 (AVX2, RDRAND, RDSEED). Unfortunately, it requires  2 and does not work on Solaris 9.
2018-11-09 18:59:04 -05:00
Jeffrey Walton a592d64d1d
Update comments 2018-11-09 17:04:02 -05:00
Jeffrey Walton 656be82a8f
Cleanup ARIA SSE and NEON code 2018-11-09 11:56:47 -05:00
Jeffrey Walton ca9d0f10f6
Use single block for ARIA key 2018-11-09 10:16:40 -05:00
Jeffrey Walton 28e7baf46b
Clear C4456 under MSVC 2018-11-09 09:26:09 -05:00
Jeffrey Walton a75f0cd855
Fix missing comment characters 2018-11-09 08:38:29 -05:00
Jeffrey Walton 092309b266
Fix global optimization bug for ChaCha AVX2 under VS2017 (GH #735)
Also see https://github.com/weidai11/cryptopp/issues/649. The 649 issue is the one affecting AES. It appears to be the same problem.
2018-11-09 08:00:53 -05:00
Jeffrey Walton af9fb9d21e
Add ChaCha to self tests (GH #732) 2018-11-08 22:08:59 -05:00
Jeffrey Walton e6112e35df
Clear C4456 under MSVC 2018-11-08 21:31:25 -05:00
Jeffrey Walton dede7bf6b4
Whitespace check-in 2018-11-08 20:34:22 -05:00
Jeffrey Walton aa1d0a5129
Lower Binutil version to 2.23 for AVX 2018-11-08 19:03:33 -05:00
Jeffrey Walton d9011f07d2
Add ChaCha AVX2 implementation (GH #735) 2018-11-08 16:20:31 -05:00
Jeffrey Walton 9b31bc189c
Fix Solaris hardware cpas to allow AVX and AVX2 2018-11-08 15:38:13 -05:00
Jeffrey Walton cc5eb3919f
Fix compile using SunCC 5.9 2018-11-08 15:08:30 -05:00
Jeffrey Walton 4ddaa9d01d whitespace check-in 2018-11-07 13:18:37 -05:00
Jeffrey Walton f57df06c5e
Disable global optimizations for Rijndael using MSC compiler (GH #649) 2018-11-05 23:45:59 -05:00
Jeffrey Walton 5a36cd54bd
Add meaningful test failure messages 2018-11-05 21:26:16 -05:00
Jeffrey Walton 8b13c2a8d0
Whitespace check-in
Look, we can finally use whitespace to add breaks and make these somewhat readable.
2018-11-05 20:43:11 -05:00
Jeffrey Walton 93c7518900
Improve datatest parser
This switches to line oriented parsing for the test files. Previously we we using streams for names, and lines for values. We can now use whitespace and make the tests a bit more readable by grouping similar tests. AlgorithmType will clear the current accumlated values.
2018-11-05 20:40:39 -05:00
Jeffrey Walton 7c0be4ea8f
Add additional Salsa test vectors 2018-11-05 09:00:32 -05:00
Jeffrey Walton 5de6545827
Add additional test vectors 2018-11-04 20:05:08 -05:00
Jeffrey Walton 4ee0b3e2f6
cryptlib.h 2018-11-04 15:46:44 -05:00
Jeffrey Walton f5bce1ab8c
Fix missing errno on PPC64 with GCC 4.8.5 2018-11-04 15:36:13 -05:00
Jeffrey Walton 6cc763939e
Skip unneeded wrap check in SIMD book keeping (GH #732) 2018-11-04 15:35:34 -05:00
Jeffrey Walton 29be6ed97a
Work-around potential counter increment problem in ChaCha20 (GH #732)
This is only a work-around for the moment. The issue only affects SIMD code. The problem is, the algorithm we use performs a 32-bit add as an intermediate result, but we really need a 64-bit add. We are running 4 transforms in parallel, and we can't add and carry the way we need to.

The workaround is, whenever we could cross the 32-bit counter boundary we use the C version of the transform. We determine the cross-over point by 'bool safe = 0xffffffff - state.low > 4'. When not safe we skip the SIMD version of the algorithm and use the C version. Once we are safe again we use the SIMD version again.

The work-around costs us about 0.1 to 0.2 cpb. At 1.10 or 1.15 cpb that equates to about 200 MB/s on a Skylake. We'd like to get it back eventually.
2018-11-04 14:49:26 -05:00
Jeffrey Walton d7a3562c0b
Whitespace check-in 2018-11-04 14:36:55 -05:00
Jeffrey Walton 87d679bc7e
Add additional ChaCha20 test vectors (GH #732)
The additional tests ensure we cross the 32-bit boundary used by the state counters
2018-11-04 14:34:32 -05:00
Jeffrey Walton 40fa6873f9
Add ability to Seek64 in test framework (GH #732)
Also see https://github.com/randombit/botan/pull/1728
2018-11-04 14:21:54 -05:00
Jeffrey Walton f7c0fab5b2
Fix compile on early Apple platforms.
I think this may be related to the VectorSource check-in. The error is:

algparam.h: In constructor 'ConstByteArrayParameter::ConstByteArrayParameter(const T&, bool) [with T = std::vector<byte, std::allocator<byte> >]':
filters.h:1444:   instantiated from here
algparam.h:56: error: 'const class std::vector<byte, std::allocator<byte> >' has no member named 'data'
2018-11-03 20:00:29 -04:00
Jeffrey Walton a4d97e9bf8
Use vec_shleft_octet to avoid confusion with vec_extract 2018-11-03 19:29:08 -04:00
Jeffrey Walton 4e3d160acc
Update comments 2018-11-03 18:56:59 -04:00
Jeffrey Walton 43cf1f0d95
Use vec_sldo to avoid confusion with vec_extract 2018-11-03 17:34:36 -04:00
Jeffrey Walton aee045912a
Whitespace check-in 2018-11-03 16:42:35 -04:00
Jeffrey Walton 6aa6393bf3
Update documentation 2018-11-03 11:17:54 -04:00
Jeffrey Walton 4b4dbdb90a
Update documentation 2018-11-03 11:09:09 -04:00
Jeffrey Walton bdeaae3ac9
Fix disjoint t[] and f[] when using SIMD implementations 2018-11-03 10:49:22 -04:00
Jeffrey Walton 600e2a8be4
Rewrite BLAKE2 classes to remove intermediate base class 2018-11-03 10:33:35 -04:00
Jeffrey Walton 06867e5caf
Guard BLAKE2 on CRYPTOPP_ALTIVEC_AVAILABLE 2018-11-03 05:50:34 -04:00
Jeffrey Walton dfacc9f15c
Use CRYPTOPP_ALTIVEC_AVAILABLE values over defined
This allows users to -DCRYPTOPP_ALTIVEC_AVAILABLE=0 on the command line. It is especially important on PPC, which varies wildly among compilers dating back to the 2000's
2018-11-03 05:25:52 -04:00