Commit Graph

3675 Commits (afd3b5c596f31de650deac45301c1c3071b27357)

Author SHA1 Message Date
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