Jeffrey Walton
ca302c952e
Fix Solaris 11/Sparc crash in SHA-384 (GH #689 , GH #403 )
...
I believe Andrew Marlow first reported it. At the time we could not get our hands on hardware to fully test things. Instead we were using -xmemalign=4i option as a band-aide to avoid running afoul of the Sparc instruction that moves 64-bits of data in one shot.
2018-07-20 13:24:04 -04:00
Jeffrey Walton
45ffb7e827
Fix crash in SHA-512 when using different compile options (GH #661 )
...
This also helps clear a crash on Sparc due to unaligned access to an uint64_t (GH #689 )
2018-07-20 13:15:29 -04:00
Jeffrey Walton
8d6b1af4cf
Update documentation
2018-07-17 11:52:34 -04:00
Jeffrey Walton
d8946df8eb
Add crypto_sign_sk2pk (PR #668 )
...
This should allow users to convert a ed25519 seret key to a public key without rolling their own code
2018-07-17 08:28:33 -04:00
Jeffrey Walton
e1433536bc
Use CRYPTOPP_DISABLE_INTEL_ASM for Clang in GCM
...
Clang 6.0 is still broke. It cannot compile a simple "neg %rcx" using Intel syntax
2018-07-16 19:40:56 -04:00
Jeffrey Walton
076d0cd604
Remove s_clmulConstants table in GCM mode
...
Local scopes and loading the constants with _mm_set_epi32 saves about 0.03 cpb. It does not sound like much but it improves GMAC by about 500 MB/s. GMAC is just shy of 8 GB/s.
2018-07-16 19:04:24 -04:00
Jeffrey Walton
e6fb540c4c
Allow iPhoneSimulator failures (GH #684 )
...
We still need to figure out what to do with this.
2018-07-16 17:12:02 -04:00
Jeffrey Walton
c9d53ad340
Fix "error C2719: formal parameter with requested alignment of 16 won't be aligned"
...
This was somewhat expected due to the Solaris knob turning.
2018-07-16 17:09:26 -04:00
Jeffrey Walton
ee8c141d3c
Fix xompile on downlevel assemblers
...
This surfaced on Solaris with an ancient Binutils
2018-07-16 15:27:25 -04:00
Jeffrey Walton
b91491da4f
Fix Solaris i386 compile of CHAM and LEA for SunStudio 12.3 and below
2018-07-16 12:21:44 -04:00
Jeffrey Walton
14dd03544e
Update cryptest-automake test script for Solaris
2018-07-16 10:53:11 -04:00
Jeffrey Walton
8197732756
Fix SunStudio 12.6 runtime crash on i386
...
This bug has been around since the Sun Studio 11/SunCC 5.8 days
2018-07-16 10:33:14 -04:00
Jeffrey Walton
28f079ba64
Fix SunStudio 12.3 compile on i386
2018-07-16 10:22:21 -04:00
Jeffrey Walton
bd9ca55c44
Cleanup gcm.cpp after Commit 9d954efcde
2018-07-16 09:48:35 -04:00
Jeffrey Walton
9d954efcde
Disable CLMUL again on SunStudio (GH# 188, GH #224 )
...
We got reports that x86_64 was producing incorrect results. Also, the problem persisted in i386 builds. I don't think we can work around this issue. Oracle must fix it.
2018-07-16 09:39:01 -04:00
Jeffrey Walton
d1e646a589
Fix SunStudio 12.6 compile on i386
2018-07-16 09:37:08 -04:00
Jeffrey Walton
a0166d9546
Fix SunStudio 12.4 compile on Solaris
2018-07-16 04:42:52 -04:00
Jeffrey Walton
eb55cc0ae5
Fix SunStudio 12.6 GCM compile on Solaris (GH #188 , GH #224 )
...
I think we have this issue somewhat sorted out. First, there is a compiler bug. Second, it seems to be triggered when function parameters mix const and non-const references. Third, to work around it, all parameters need to be non-const (as in this patch).
I'm really glad we kind of got to the bottom of things. The crash when compiling GCM has been bothering me for nearly 3 years.
2018-07-15 22:31:50 -04:00
Jeffrey Walton
017886a2ea
Fix SunStudio 12.2 compile on Solaris
2018-07-15 22:22:18 -04:00
Jeffrey Walton
339cc240a2
Fix SunStudio compile on Solaris (GH #226 )
2018-07-15 19:26:15 -04:00
Jeffrey Walton
692ed2a2bb
Fix SunStudio compile on Solaris
2018-07-15 19:24:55 -04:00
Jeffrey Walton
916fe7db26
Remove unneeded code from Blake2
2018-07-15 12:59:28 -04:00
Jeffrey Walton
f143534d99
Cleanup defines in sha.cpp
...
There's no need for extra guards with CRYPTOPP_DISABLE_SHA_ASM because relevant macros are undefined
2018-07-15 12:47:34 -04:00
Jeffrey Walton
7e7d86f6fd
Whitespace check-in
2018-07-15 11:45:48 -04:00
Jeffrey Walton
31533db421
Disable X32 for SHA (GH #686 )
...
Thanks to Peter Cordes for the feedback
2018-07-15 11:39:41 -04:00
Jeffrey Walton
7d1eb4fc8b
Fix AppVeyor Win32 build
2018-07-15 11:31:12 -04:00
Jeffrey Walton
c2a9958d9c
Make m4/ directory during testing
2018-07-15 10:13:33 -04:00
Jeffrey Walton
437b2f9b7d
Set LC_ALL=C for Darwin Autotools testing
2018-07-15 09:35:26 -04:00
Jeffrey Walton
4e3a1ea962
Add ARMv8.4 cpu feature detection support (GH #685 ) ( #687 )
...
This PR adds ARMv8.4 cpu feature detection support. Previously we only needed ARMv8.1 and things were much easier. For example, ARMv8.1 `__ARM_FEATURE_CRYPTO` meant PMULL, AES, SHA-1 and SHA-256 were available. ARMv8.4 `__ARM_FEATURE_CRYPTO` means PMULL, AES, SHA-1, SHA-256, SHA-512, SHA-3, SM3 and SM4 are available.
We still use the same pattern as before. We make something available based on compiler version and/or preprocessor macros. But this time around we had to tighten things up a bit to ensure ARMv8.4 did not cross-pollinate down into ARMv8.1.
ARMv8.4 is largely untested at the moment. There is no hardware in the field and CI lacks QEMU with the relevant patches/support. We will probably have to revisit some of this stuff in the future.
Since this update applies to ARM gadgets we took the time to expand Android and iOS testing on Travis. Travis now tests more platforms, and includes Autotools and CMake builds, too.
2018-07-15 08:35:14 -04:00
Jeffrey Walton
2600f6dcc2
Clear unused variable warning
2018-07-14 13:26:49 -04:00
Jeffrey Walton
5460f14857
Clear unused variable warning
2018-07-14 13:01:48 -04:00
Jeffrey Walton
7cc6531dd2
Clear unused variable warning
2018-07-14 12:59:42 -04:00
Jeffrey Walton
7a67e43b27
Fix Apple feature detection (GH #685 )
2018-07-14 08:40:06 -04:00
Jeffrey Walton
d11a7b3436
Add ARMv8 CPU feature queries (GH #685 )
...
CPU feature probes are still outstanding. They are going to be trickier because if CRYPTOPP_XXX_FEATURE_AVAILABLE
2018-07-14 08:20:16 -04:00
Jeffrey Walton
25abe71e69
Fix failed compile with Clang
2018-07-14 04:48:26 -04:00
Jeffrey Walton
28e20d6e5f
Fix "Error: symbol SHA512_Round is already defined" (GH #684 )
2018-07-13 17:05:14 -04:00
Jeffrey Walton
26ae1fb7e9
Fix ARM compile for sm4-simd.cpp
2018-07-13 10:39:08 -04:00
Jeffrey Walton
380829284c
Update documentation
2018-07-13 09:54:06 -04:00
Jeffrey Walton
678bdb1735
Add AES-NI accelerated SM4 encryption (GH #540 )
...
Thanks to Markku-Juhani Olavi Saarinen for the code. Also see https://github.com/mjosaarinen/sm4ni
2018-07-13 08:48:43 -04:00
Jeffrey Walton
3c21233440
Add AES-NI accelerated SM4 encryption (GH #540 )
...
Thanks to Markku-Juhani Olavi Saarinen for the code. Also see https://github.com/mjosaarinen/sm4ni
2018-07-13 08:33:13 -04:00
Jeffrey Walton
2f71e4d7d9
Fix header include
2018-07-13 05:48:03 -04:00
Jeffrey Walton
90e7b85814
Update documentation
2018-07-12 12:04:37 -04:00
Jeffrey Walton
40d70375a9
Increase use of ptrdiff_t when performing pointer math
2018-07-12 09:48:46 -04:00
Jeffrey Walton
ed143608a8
Revert "Increase use of ptrdiff_t when performing pointer math"
...
This reverts commit bbf9a109f2 . It did not fix A-32. Something got crossed in my test case.
2018-07-12 09:43:18 -04:00
Jeffrey Walton
25179e00d3
Fix PtrByteDiff cast
...
A quick testing pass that loaded the code with asserts caused a compile failure
2018-07-12 09:37:43 -04:00
Jeffrey Walton
bbf9a109f2
Increase use of ptrdiff_t when performing pointer math
...
This fixes the incorrect result with CFB mode on A-32 in CFB_CipherTemplate<BASE>::ProcessData
2018-07-12 08:29:46 -04:00
Jeffrey Walton
6434ec597d
Update comments
2018-07-12 07:59:05 -04:00
Jeffrey Walton
e580ed588a
Disable same buffer for in and out on ARM A-32 (GH #683 )
2018-07-12 07:05:18 -04:00
Jeffrey Walton
7eb0535a98
Call Deflator::IsolatedInitialize during Gzip init (GH #660 )
2018-07-11 17:10:32 -04:00
Jeffrey Walton
9b4476ef7b
Update symbol script for Crypto++ 7.x
2018-07-11 16:16:32 -04:00