Commit Graph

3864 Commits (6f64671e4ae3092206ed8b853e6336f8db75fbcc)

Author SHA1 Message Date
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
PetteriHuusko d132639881 Fix ios build for cases where Xcode is installed in a path with spaces (PR #646) 2018-04-26 06:56:26 -04:00
Flo 63b655d7ee Access modifiers for SIMON and SPECK ciphers modified. (#644)
- ProcessAndXorBlock
- AdvancedProcessBlocks
now public instead of protected.
2018-04-20 20:54:02 -04:00
Jeffrey Walton e2bc3b55ca
Rename setenv-android.sh to setenv-android-gcc.sh (GH #637)
This makes room for a Clang/LLVM version of the script
2018-04-19 22:39:07 -04:00
alanbirtles a4acbb38da
Workaround for #636
Temporarily switch to AT&T syntax in ASJ for clang 5.0.0+ and apple clang 9.0.0+ to workaround https://bugs.llvm.org/show_bug.cgi?id=36144
2018-04-12 14:59:15 +01:00
Jeffrey Walton bdd0f02867
Make chenage-version.sh OS X friendly 2018-04-08 16:19:16 -04:00
Jeffrey Walton 4bb331f5d0
Post-release version increment 2018-04-08 15:58:25 -04:00
Jeffrey Walton c8d8caf700
Prepare for Crypto++ 7.0 release 2018-04-08 04:48:59 -04:00
Jeffrey Walton 9a991ac1eb
Fix UBsan finding in HKDF
This was introduced when HKDF was reworked for the new KeyDerivationFunction interface
2018-04-08 03:20:14 -04:00
Jeffrey Walton 71e9fece87
Make CAST temporaries class members 2018-04-07 11:41:00 -04:00
Jeffrey Walton 11e076003a
Coverity finding CID 189203, 189204, 189205 (ARRAY_VS_SINGLETON)
The finding was an out-of-bounds read but Coverity does not realize the API takes a byte count, not element count. This change may produce the same finding.
2018-04-07 10:39:01 -04:00
Jeffrey Walton cd8c03c816
Move PasswordBasedKeyDerivationFunction to cryptlib.h 2018-04-07 08:14:22 -04:00