Jeffrey Walton
afd3b5c596
Place HIGHT F0 and F1 in unnamed namespace
2018-06-24 01:39:09 -04:00
Jeffrey Walton
b53842bcdc
Fix CRYPTOPP_DISABLE_ASM build
2018-06-24 01:22:37 -04:00
Jeffrey Walton
d12229d463
Fix bench1.cpp from HIGHT testing
2018-06-24 01:01:39 -04:00
Jeffrey Walton
2f5b110b52
Add HIGHT lightweight block cipher (GH #672 )
2018-06-24 00:54:16 -04:00
Jeffrey Walton
32e2be647a
Make CHAM_Info public
2018-06-23 21:21:42 -04:00
Jeffrey Walton
404e6cfae3
Remove CRYPTOPP_LEA_ARM_SPLAT_ROUNDKEYS
...
GCC 8 was producing bad decryption results for CBC mode on x86. NEON and Aarch64 was fine. We lose 0.6 cpb so LEA runs around 3.5 cpb instead of 2.9 cpb. It would be nice to pinpoint the GCC issue but it is kind of difficult at the moment.
2018-06-23 20:55:17 -04:00
Jeffrey Walton
3af3b8019b
Add additional LEA test vectors (GH #669 )
2018-06-23 17:58:12 -04:00
Jeffrey Walton
72d5d42746
Add additional LEA test vectors (GH #669 )
2018-06-23 17:38:07 -04:00
Jeffrey Walton
d9797c414a
Add CRYPTOPP_LEA_ARM_SPLAT_ROUNDKEYS for LEA
2018-06-23 14:19:18 -04:00
Jeffrey Walton
2d0d87b57a
Use pre-splatted key table for LEA NEON and Aarch64
2018-06-23 13:47:59 -04:00
Jeffrey Walton
09c8ae2835
Use inline for LEA_Encryption and LEA_Decryption
2018-06-23 12:58:55 -04:00
Jeffrey Walton
8279fab432
Fix AdvancedProcessBlocks128_6x1_NEON template name
2018-06-23 12:35:06 -04:00
Jeffrey Walton
527613df22
Update documentation
2018-06-23 12:27:25 -04:00
Jeffrey Walton
d0b5dac162
Update comments
2018-06-23 04:49:10 -04:00
Jeffrey Walton
9980d30734
Add LEA-128 NEON and ARMv8 implementation (GH #669 )
...
LEA-128(128) from 35.6 cpb to 14.11 cpb on a LeMaker HiKey dev-board. LEA-128 from 12.60 cpb to 11.89 cpb on AMD Opteron 1100.
2018-06-23 03:54:51 -04:00
Jeffrey Walton
80ae9f4f0a
Add AVX512 rotates to RotateLeft and RotateRight templates
2018-06-22 17:44:16 -04:00
Jeffrey Walton
fa7714f6cb
Add LEA-128 SSSE3 implementation (GH #669 )
...
LEA-128(128) from 6.73 cpb to 2.84 cpb on modern Core-i5 6400. LEA-128 from 10.12 cpb to 7.84 cpb antique Core2 Duo.
2018-06-22 16:26:27 -04:00
Jeffrey Walton
ea109e0f8f
Add CHAM and LEA to cryptest.nmake
2018-06-21 13:34:18 -04:00
Jeffrey Walton
68305324ef
Fix C2719 on MSVC
...
"error C2719: 'value': formal parameter with __declspec(align('16')) won't be aligned"
2018-06-21 13:32:27 -04:00
Jeffrey Walton
73513d0d04
Whitespace check-in
2018-06-21 01:29:30 -04:00
Jeffrey Walton
b00a378a8d
Add CHAM64 SSSE3 implementation (PR #670 )
...
CHAM64 from 20 cpb to 14 cpb on modern iCore. CHAM64 from 90 cpb to 18 cpb antique Core2 Duo
2018-06-21 00:37:10 -04:00
Jeffrey Walton
a80b1d35b0
Parameterize word type for subkeys in AdvancedProcessBlocks templates
...
This was needed a while ago but we mostly side-stepped the issues with casts. CHAM64 uses a word16 type for subkeys and a cast won't fix it because we favor word32 for 64-bit block sizes.
2018-06-20 19:25:52 -04:00
Jeffrey Walton
a6cdf2bfd1
Switch to _mm_loadu_pd to load round keys
...
This is profitable by 0.1 to 0.2 cpb on a modern Core-i5
2018-06-20 01:20:27 -04:00
Jeffrey Walton
1fd8d612ea
Specialize single word UnpackXMM
2018-06-19 21:35:44 -04:00
Jeffrey Walton
5e41d5d9b6
Fix SSSE3 include guard
...
Use single XMM word for subkeys
2018-06-19 20:15:30 -04:00
Jeffrey Walton
6138829572
Add CHAM128 SSSE3 implementation (PR #670 )
...
CHAM-128(128) from 10.5 cpb to 4.1 cpb. CHAM-128(256) from 12.5 cpb to 4.7 cpb.
2018-06-19 18:03:28 -04:00
Jeffrey Walton
34dcb0d4cd
Add additional CHAM test vectors (PR #670 )
...
This is in preparation for SSE and large block processing. CTR mode is used because AdvancedProcessBlocks128_4x1_SSE
2018-06-19 17:09:43 -04:00
Jeffrey Walton
55ba5de9b5
Fix typo
2018-06-18 19:00:30 -04:00
Jeffrey Walton
0ccdc197b7
Add AVX and AVX2 runtime feature detection (GH #671 )
...
There are no corresponding defines in config.h at the moment. Programs will have to use the preprocessor macros __AVX__ and __AVX2__ to determine when they are available.
2018-06-18 18:33:17 -04:00
Jeffrey Walton
207c6fcb1a
Update documentation
2018-06-18 00:14:31 -04:00
Jeffrey Walton
54d5100344
Add CHAM lightweight block cipher (PR #670 )
...
Add CHAM lightweight block cipher
2018-06-17 23:24:47 -04:00
Jeffrey Walton
30b2de26f4
Update documentation
2018-06-17 22:49:59 -04:00
Jeffrey Walton
1f06c512c4
Add LEA lightweight block cipher (GH #669 )
2018-06-17 22:36:41 -04:00
Jeffrey Walton
f320e7d92a
Fix missing constants in Threefish (GH #664 )
2018-06-03 09:10:45 -04:00
Jeffrey Walton
1543de863c
Fix Kalyna512_Info parameter (GH #662 )
2018-06-02 16:50:28 -04:00
Jeffrey Walton
d286f89b3f
Fix Threefish blocksize parameter (GH #663 )
2018-06-02 16:28:25 -04:00
Jeffrey Walton
edc7689a7f
Fix overcommit resources for Scrypt parallelization (GH #641 )
2018-05-20 08:33:21 -04:00
Mouse
a0f91aeb25
Merge pull request #640 from alanbirtles/patch-1
...
Workaround for #636
2018-05-13 12:37:18 -04:00
Jeffrey Walton
4fc0fefc6e
Add missing include to pwdbased.h (GH #657 )
2018-05-13 10:42:50 -04:00
Marcel Raad
7c1d296283
Fix clang warnings in headers ( #655 )
...
* remove superfluous semicolon
* Remove C-style casts from public headers
clang warns about them with -Wold-style-cast. It also warns about
implicitly casting away const with -Wcast-qual. Fix both by removing
unnecessary casts and converting the remaining ones to C++ casts.
2018-05-10 19:59:21 -04:00
Jeffrey Walton
a07a0e5e5f
Add recipe to install the library only (GH #653 )
...
Some distros don't want to install cryptest.exe. For folks who don't want to install the test program, they can issue 'make install-lib'.
install-lib is a non-standard target, but the GNU Coding Standard does not have a standard target for the task.
2018-05-06 00:10:38 -04:00
Jeffrey Walton
3e965ac9b3
Back-off on Hash asserts (GH #652 )
...
The asserts were a little aggressive and caused very noisy Debug runs. The library itself was one of the biggest offenders.
2018-05-05 23:27:55 -04:00
Jeffrey Walton
d1087291b3
Back-off on Hash asserts (GH #652 )
...
The asserts were a little aggressive and caused very noisy Debug runs. The library itself was one of the biggest offenders.
2018-05-05 23:17:44 -04:00
Jeffrey Walton
3159969808
Back-off on Hash asserts (GH #652 )
...
The asserts were a little aggressive and caused very noisy Debug runs. The library itself was one of the biggest offenders.
2018-05-05 22:56:15 -04:00
Jeffrey Walton
3deb24b7de
Fix Android build after renaming defines for CMake
...
This change should have occurred during commits 188e0df650 and 5422f0c13a .
2018-05-05 21:46:17 -04:00
Jeffrey Walton
188e0df650
Rename CRYPTOPP_DISABLE_SHA → CRYPTOPP_DISABLE_SHANI …
...
This aligns both config.h and Cmake. Also see Gentoo Issue 654598 (https://bugs.gentoo.org/654598 )
2018-05-04 10:10:50 -04:00
Jeffrey Walton
5422f0c13a
Rename CRYPTOPP_DISABLE_AES → CRYPTOPP_DISABLE_AESNI
...
This aligns both config.h and Cmake. Also see Gentoo Issue 654598 (https://bugs.gentoo.org/654598 )
2018-05-03 21:28:17 -04:00
Asen Kovachev
039db17da7
Add CRYPTOPP_ASSERT to match Keccak and SHA3 ( #654 )
...
As described in https://github.com/weidai11/cryptopp/issues/652 for consistency we should add assert in all hash transformations. The expectation is to have a good pointer and a non-0 length or a null pointer and 0-length.
2018-05-03 20:12:34 -04:00
Jeffrey Walton
91faa5d399
Add AdditionalOptions property to VCXPROJ files (GH #649 )
2018-05-01 23:42:04 -04:00
Jeffrey Walton
55071c49c1
Fix failed Android tests on Travis
...
This change should have been made at https://github.com/weidai11/cryptopp/commit/e2bc3b55caab
2018-04-26 21:35:01 -04:00