| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
Update comments and use class constants when available
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Updated documentation
|
|
|
|
| |
This gains about 0.6 cpb. SHA-1 is down to 1.7 to 1.9 cpb. SHA-256 is not affected
|
|
|
|
| |
This reverts commit 3b56ba118f34. It broke Tiger and SEAL. Arg...
|
|
|
|
| |
This gains about 0.6 cpb. SHA-1 is down to 1.9 cpb. SHA-256 is not affected
|
|
|
|
| |
This reverts commit 72d8cbe9177bade320b51c149aac1c67c4dd13ec.
|
|
|
|
|
|
| |
Initially we performed a 32-bit word-size ByteReverse() on the entire 64-byte buffer being hashed. Then we performed another fix-up when loading each 16-byte portion of the buffer into the SSE2 registers for SHA processing. The [undesired] consequence was byte swapping and reversals happened twice. Worse, the call to ByteReverse() produced 16 bswaps instead of 1 call pshufb, so it was orders of magnitude slower than it needed to be.
This check-in takes the sane approach to byte reversals and swapping. It performs it once when the message is loaded for SSE processing. The result is SHA1 calculations drop from about 3.0 cpb to about 2.5 cpb.
|
|
|
|
|
| |
Fixes for "invalid address alignment" errors. See https://groups.google.com/d/topic/cryptopp-users/OYaByDEbSI0/discussion for details.
Changed config.h in accordance to Jeffrey Walton's request;
|
| |
|
|
|
|
| |
Also see http://github.com/weidai11/cryptopp/commit/d3bb0e13def80a4bf59ea324eed80becdf0045ce#commitcomment-20482554
|
| |
|
| |
|
|
|
|
| |
Benchmarking on ARMv8/Aarch64 dev-board shows SHA-1 speeds up by 2.5x
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
due to bad interaction with '-march=x86-64'. Disgorge SSE2 implementation from CXX implementation
|
|
|
|
| |
CRYPTOPP_DISABLE_ASM
|
| |
|
| |
|
| |
|
|
|
|
| |
trap.h and CRYPTOPP_ASSERT has existed for over a year in Master. We deferred on the cut-over waiting for a minor version bump (5.7). We have to use it now due to CVE-2016-7420
|
|
|
|
| |
This is Wei's original code. It was commented out, but it might be useful to some since IoT gadgets are becoming more popular
|
|
|
|
|
|
| |
members
Solaris is showing unusual signs with SunCC 5.13 and 5.14. One user is experiencing a SIGBUS in SHA512::Transform due to data alignment of 'data', which was only 2-byte aligned. The project experienced an exception "Coneable not implemented" during the hashing test after building with Cmake. Its not clear how much Cmake influenced the project's results.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
(Coverity rollup)
|
| |
|
|
|
|
| |
the syntax string
|
|
|
|
| |
defines are WORKAROUND_LLVM_BUG_18916 and CRYPTOPP_USING_CLANG_INTEGRATED_ASSEMBLER. Once the 18916 bug is fixed, the other issues around the integrated assembler will remain
|
|
|
|
| |
default since integrated-as is default behavior and the bug is active). GNU_ATT_SYNTAX → GNU_AS_ATT_SYNTAX and GNUINTEL_SYNTAX → GNU_AS_INTEL_SYNTAX
|
|
|
|
| |
Bug 18916 (https://llvm.org/bugs/show_bug.cgi?id=18916)
|
| |
|
|
|
|
| |
enabled
|
| |
|
|
|
|
|
|
| |
input (reported by
pycryptopp project)
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
- speed up GCM key setup
- wipe stack in AES assembly code
- speed up CFB mode
|
|
|
|
|
| |
add DEFAULT_CHANNEL and AAD_CHANNEL,
fix macChannel for AuthenticatedEncryptionFilter
|
|
|
|
|
|
| |
- added AuthenticatedSymmetricCipher interface class and Filter wrappers
- added CCM, GCM (with SSE2 assembly), CMAC, and SEED
- improved AES speed on x86 and x64
- removed WORD64_AVAILABLE; compiler 64-bit int support is now required
|
| |
|
| |
|
| |
|