Commit Graph

3268 Commits (4792578f09521968b88a9747c00eb4b462074100)

Author SHA1 Message Date
Jeffrey Walton 4792578f09
Rearrange statements and avoid intermediates
The folding of statements helps GCC elimate some of the intermediate stores it was performing. The elimination saved about 1.0 cpb. SIMON-128 is now running around 10 cpb, but it is still off the Simon and Speck team's numbers of 3.5 cpb
2017-12-01 04:11:31 -05:00
Jeffrey Walton b7ced67892
Update comments 2017-12-01 02:38:19 -05:00
Jeffrey Walton a7fec9c0f6
Fix assert in Debug builds
This was copy/paste from the template function
2017-11-30 11:54:21 -05:00
Jeffrey Walton 14e326482c
Update comments 2017-11-30 02:07:04 -05:00
Jeffrey Walton 22257c4b6e
Remove SunCC const cast workaround
This code does not suffer SunCC losing const-ness
2017-11-29 12:56:19 -05:00
Jeffrey Walton 39594a53b0
Add fast rotate-by-8 for Aarch32 and Aarch64 2017-11-29 12:33:34 -05:00
Jeffrey Walton 532f13fe53
Fix compile using SunCC 12.4 2017-11-29 12:10:19 -05:00
Jeffrey Walton 61ec50dabe
Change Doxygen comment style from //! to ///
Also see https://groups.google.com/forum/#!topic/cryptopp-users/A7-Xt5Knlzw
2017-11-29 10:54:33 -05:00
Jeffrey Walton 16ebfa72bf
Cleanup comments and whitespace 2017-11-29 10:15:41 -05:00
Jeffrey Walton 6e829cebee
Use EPI8 Shuffle rather than Shifts and Or for rotate when R=8
Louis Wingers and Bryan Weeks from the Simon and Speck team offered the suggestion. The change save 0.7 cpb for Speck, and 5 cpb for Simon on x86_64.
Speck is now running very close to the Team's time sor SSE4. Simon is still off, but we know the root cause. For Simon, the Team used a fast bit-sliced implementation
2017-11-29 08:53:48 -05:00
Jeffrey Walton bdb2db7ac2
Uncouple GetAlignment from CRYPTOPP_DISABLE_SOSEMANUK_ASM
The class declaration needs to always include the functions for the platform. The implementation can simply return a different number, and that is hidden from the user
2017-11-29 08:00:21 -05:00
Jeffrey Walton c6c8dd3b32
Add Valgrind suppression file to file list (GH #543) 2017-11-29 07:15:42 -05:00
Jeffrey Walton 92436b9f9b
Re-enable Salsa20 ASM (GH #543)
We are fairly certain this is a false positive due to glibc's __memcmp_sse4_1.
2017-11-29 06:55:19 -05:00
Jeffrey Walton f86c6124a8
Add Valgrind suppression file (GH #543) 2017-11-29 06:52:43 -05:00
Jeffrey Walton 33caa1e13f
Add Valgrind --track-origins=yes to recipe 2017-11-29 05:26:21 -05:00
Jeffrey Walton 5a8e4d1545
Update documentation 2017-11-28 04:37:37 -05:00
Jeffrey Walton 8530b58edd
Add Base32 extended hex encoder and decoder (GH #534)
I'm not sure if this is what the fellow in the issue wanted, but we are missing it. Also see https://stackoverflow.com/q/47325517/608639
2017-11-28 04:22:19 -05:00
Jeffrey Walton 0db1ef29e1
List Key after Comments in Simon test vectors 2017-11-28 01:34:42 -05:00
Jeffrey Walton a6ca22f6b6
Add additional Simon-64 test vectors 2017-11-28 01:18:21 -05:00
Jeffrey Walton a33868b98d
Add additional Simon-128 test vectors 2017-11-28 00:34:22 -05:00
Jeffrey Walton 2a4d58a208
Fix Sosemanuk when -DCRYPTOPP_DISABLE_ASM is in effect
It looks like a copy/paste error was introduced at Commit a074722bfa
2017-11-27 21:54:15 -05:00
Jeffrey Walton 45db15e51b
Increase precision of cpb
When cpb is less than 24 or so print two decimal places
2017-11-27 11:38:15 -05:00
Jeffrey Walton a29b36c197
Whitespace check-in 2017-11-27 01:51:27 -05:00
Jeffrey Walton 07c2047cec
Add simon-simd.cpp to file list and nmake file 2017-11-27 01:20:15 -05:00
Jeffrey Walton 1211f25de5
Fix cryptest.vcxproj.user
The file was unintentionally checked in with the SIMON-128 commit
2017-11-27 00:50:05 -05:00
Jeffrey Walton 568e608ea6
Add NEON and ASIMD intrinsics for SPECK-128 (GH #539)
Performance increased by about 200% on a 980 MHz BananaPi dev-board. Throughput went from about 176.6 cpb to about 60.3 cpb.
2017-11-27 00:36:45 -05:00
Jeffrey Walton 7576cca8d2
Switch to 'L' for blocksize in SPECK_Info 2017-11-26 23:51:05 -05:00
Jeffrey Walton 84fdcbf384
Use non-macro version of ttmac 2017-11-26 07:59:33 -05:00
Jeffrey Walton c5303b9c2a
Fix "variable tracking size limit exceeded" with UBsan
threefish.cpp: In member function ‘virtual void CryptoPP::Threefish512::Enc::ProcessAndXorBlock(const byte*, const byte*, CryptoPP::byte*) const’:
threefish.cpp:316:6: note: variable tracking size limit exceeded with -fvar-tracking-assignments, retrying without
 void Threefish512::Enc::ProcessAndXorBlock(const byte *inBlock, const byte *xorBlock, byte *outBlock) const
...
2017-11-26 05:27:03 -05:00
Jeffrey Walton 4c0bfe4548
Update documentation 2017-11-26 02:45:34 -05:00
Jeffrey Walton 14e631fd84 Update documentation 2017-11-26 02:26:58 -05:00
Jeffrey Walton d19ef1c716
Update documentation 2017-11-26 01:59:06 -05:00
Jeffrey Walton c518b31ae8
Update documentation 2017-11-26 01:43:00 -05:00
Jeffrey Walton 679c9583a0
Update oids for SM2 (GH #542)
Also see https://www.cryptopp.com/wiki/SM2. The wiki page is documenting some of this stuff
2017-11-25 10:40:17 -05:00
Jeffrey Walton 1ca704aec6
Add Identity name/value pair (GH #542)
China’s SM2 uses an identity field for digital signatures. We used a ConstByteArrayParameter rather than a char* because the identifier may not be a C-string. The observation is based on experience with Thomas Wu’s Secure Remote Protocol (SRP)
2017-11-25 05:27:28 -05:00
Jeffrey Walton 3dbd762728
Update documentation 2017-11-25 05:16:15 -05:00
Jeffrey Walton c1acc9fcfa
Add OIDs for SM2 standard (GH #542) 2017-11-25 05:01:21 -05:00
Jeffrey Walton e85b388234
Add thorough param to ValidateECGDSA 2017-11-25 03:27:07 -05:00
Jeffrey Walton a074722bfa
Switch to rotlConstant and rotrConstant
This will help Clang and its need for a constexpr
2017-11-25 02:52:19 -05:00
Jeffrey Walton 2d4614084a
Update documentation 2017-11-24 22:35:53 -05:00
Jeffrey Walton 571cbf058c
Fix LLVM detection of SSSE3 on 32-bit cpus 2017-11-24 21:38:49 -05:00
Jeffrey Walton c797bd9523
Add additional SM3 test vectors (GH #541) 2017-11-24 19:41:58 -05:00
Jeffrey Walton dcd27e8a1f
Update documentation 2017-11-24 18:58:31 -05:00
Jeffrey Walton 2ac9e61335
Switch to rotlConstant and rotrConstant 2017-11-24 18:21:27 -05:00
Jeffrey Walton 4f2d6f713f
Switch to rotlConstant and rotrConstant
Update comments
2017-11-24 17:54:12 -05:00
Jeffrey Walton 2abf7d7bc4
Fix compile on MIPS due to missing definition of NULL
Whitespace check-in
2017-11-24 17:53:25 -05:00
Jeffrey Walton 3b80ead695
Add rotlConstant and rotrConstant
The template functions take the rotate amount as a template parameter, which will allow the constexpr to propagate into the rotate expression. It should avoid some of the compile problems we were seeing under Clang and C++11
2017-11-24 17:37:55 -05:00
Jeffrey Walton 4382b1a559
Add additional SM3 test vectors (GH #541) 2017-11-24 07:24:09 -05:00
Jeffrey Walton 16290b2f1c Fix crash on VIA C7-D when using GCM
This was interesting... The C&-D is an early 2000's 32-bit processor with SSE2 and SSSE3. Using a destination register constraint of "xm" witnessed a crash, while a constraint of "m" does not
2017-11-24 07:08:41 -05:00
Jeffrey Walton 0dc72380a9
Add additional SM3 test vectors (GH #541) 2017-11-24 06:52:57 -05:00