summaryrefslogtreecommitdiff
path: root/validat1.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Add POWER8 GCM mode (GH #698)Jeffrey Walton2018-08-091-1/+1
| | | | GCM_SetKeyWithoutResync_VMULL, GCM_Multiply_VMULL and GCM_Reduce_VMULL work as expected on Linux (ppc64-le) and AIX (ppc64-be). We are still working on GCM_AuthenticateBlocks_VMULL.
* Add Altivec vector extraction testsJeffrey Walton2018-08-091-2/+31
|
* Remove temporary variableJeffrey Walton2018-08-081-9/+8
|
* Add additional PowerPC self testsJeffrey Walton2018-08-081-26/+73
|
* Update commentsJeffrey Walton2018-08-061-0/+6
|
* Add VectorLoad and VectorStore test codeJeffrey Walton2018-08-061-0/+78
| | | | Applies to POWER4 and above only
* Split validat*.cpp source filesJeffrey Walton2018-07-281-3471/+1000
| | | | Also see https://groups.google.com/forum/#\!topic/cryptopp-users/j_aQj6r-PoI
* Add ARMv8.4 cpu feature detection support (GH #685) (#687)Jeffrey Walton2018-07-151-4/+16
| | | | | | | | | This PR adds ARMv8.4 cpu feature detection support. Previously we only needed ARMv8.1 and things were much easier. For example, ARMv8.1 `__ARM_FEATURE_CRYPTO` meant PMULL, AES, SHA-1 and SHA-256 were available. ARMv8.4 `__ARM_FEATURE_CRYPTO` means PMULL, AES, SHA-1, SHA-256, SHA-512, SHA-3, SM3 and SM4 are available. We still use the same pattern as before. We make something available based on compiler version and/or preprocessor macros. But this time around we had to tighten things up a bit to ensure ARMv8.4 did not cross-pollinate down into ARMv8.1. ARMv8.4 is largely untested at the moment. There is no hardware in the field and CI lacks QEMU with the relevant patches/support. We will probably have to revisit some of this stuff in the future. Since this update applies to ARM gadgets we took the time to expand Android and iOS testing on Travis. Travis now tests more platforms, and includes Autotools and CMake builds, too.
* Remove CRYPTOPP_ALLOW_UNALIGNED_DATA_ACCESS support (GH #682)Jeffrey Walton2018-07-111-13/+2
| | | | | We were able to gut CRYPTOPP_ALLOW_UNALIGNED_DATA_ACCESS for everything except Rijndael. Rijndael uses unaligned accesses on x86 to harden against timing attacks. There's a little more to CRYPTOPP_ALLOW_UNALIGNED_DATA_ACCESS and Rijndael. If we remove unaligned access then AliasedWithTable hangs in an endless loop on non-AESNI machines. So care must be taken when trying to remove the vestige from Rijndael.
* Add ARMv7 cpu detectionJeffrey Walton2018-07-081-8/+14
|
* Add HC-256 stream cipher (GH #680)Jeffrey Walton2018-07-051-0/+7
|
* Add HC-128 stream cipher (GH #679)Jeffrey Walton2018-07-051-0/+7
|
* Add Rabbit stream cipher (GH #678)Jeffrey Walton2018-07-041-0/+7
|
* Add additional SIMECK tests (GH #675)Jeffrey Walton2018-06-301-0/+8
|
* Add HIGHT lightweight block cipher (GH #672)Jeffrey Walton2018-06-241-0/+8
|
* Fix typoJeffrey Walton2018-06-181-2/+2
|
* Add AVX and AVX2 runtime feature detection (GH #671)Jeffrey Walton2018-06-181-3/+12
| | | | 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.
* Add CHAM lightweight block cipher (PR #670)Jeffrey Walton2018-06-171-0/+8
| | | Add CHAM lightweight block cipher
* Add LEA lightweight block cipher (GH #669)Jeffrey Walton2018-06-171-0/+9
|
* Add scrypt key derivation function (GH #613, PR #626)Jeffrey Walton2018-03-311-0/+1
|
* Remove '#undef BLOCKING_RNG_AVAILABLE' from validate.cppJeffrey Walton2018-03-281-2/+0
| | | | This was for testing on low-resource ARM dev-boards. It accidentally cross-pollinated into other systems.
* Move some tests from TestIntegerBitops to TestIntegerOps (GH #602)Jeffrey Walton2018-03-251-0/+2
|
* Remove Simon and Speck ciphers (GH #585)Jeffrey Walton2018-02-141-2/+0
| | | | | | We recently learned our Simon and Speck implementation was wrong. The removal will stop harm until we can loop back and fix the issue. The issue is, the paper, the test vectors and the ref-impl do not align. Each produces slightly different result. We followed the test vectors but they turned out to be wrong for the ciphers. We have one kernel test vector but we don't have a working implementation to observe it to fix our implementation. Ugh...
* Clear Coverity finding CID 186948Jeffrey Walton2018-01-191-9/+6
| | | | "Logically dead code"
* Convert Kalyna from variable block size (GH #535)Jeffrey Walton2018-01-181-1/+1
|
* Add interface to TweetNaCl library (#566)Jeffrey Walton2018-01-171-0/+2
| | | | | | | | | | | | | TweetNaCl is a compact reimplementation of the NaCl library by Daniel J. Bernstein, Bernard van Gastel, Wesley Janssen, Tanja Lange, Peter Schwabe and Sjaak Smetsers. The library is less than 20 KB in size and provides 25 of the NaCl library functions. The compact library uses curve25519, XSalsa20, Poly1305 and SHA-512 as default primitives, and includes both x25519 key exchange and ed25519 signatures. The complete list of functions can be found in TweetNaCl: A crypto library in 100 tweets (20140917), Table 1, page 5. Crypto++ retained the function names and signatures but switched to data types provided by <stdint.h> to promote interoperability with Crypto++ and avoid size problems on platforms like Cygwin. For example, NaCl typdef'd u64 as an unsigned long long, but Cygwin, MinGW and MSYS are LP64 systems (not LLP64 systems). In addition, Crypto++ was missing NaCl's signed 64-bit integer i64. Crypto++ enforces the 0-key restriction due to small points. The TweetNaCl library allowed the 0-keys to small points. Also see RFC 7748, Elliptic Curves for Security, Section 6. TweetNaCl is well written but not well optimized. It runs 2x to 3x slower than optimized routines from libsodium. However, the library is still 2x to 4x faster than the algorithms NaCl was designed to replace. The Crypto++ wrapper for TweetNaCl requires OS features. That is, NO_OS_DEPENDENCE cannot be defined. It is due to TweetNaCl's internal function randombytes. Crypto++ used DefaultAutoSeededRNG within randombytes, so OS integration must be enabled. You can use another generator like RDRAND to avoid the restriction.
* Add additional Encoder and Decoder alphabet test (GH #562)Jeffrey Walton2018-01-131-10/+54
|
* Fix lookup array size in self testJeffrey Walton2018-01-121-1/+1
|
* Add additional Encoder and Decoder alphabet test (GH #562)Jeffrey Walton2018-01-121-6/+11
|
* add self test for custom Encoder and Decoder alphabet (GH #562)Jeffrey Walton2018-01-121-0/+109
|
* Fix error in bits2octets: should use the base point's bit count, instead of ↵Linmao Song2018-01-101-0/+1
| | | | the hash value's. Also add test case for GetRandom, with original data from RFC6979 (#560)
* Clear clang-tidy warningsJeffrey Walton2018-01-021-4/+3
|
* Add thorough param to ValidateECGDSAJeffrey Walton2017-11-251-1/+1
|
* Add SM3 hash function (GH #541)Jeffrey Walton2017-11-231-0/+2
|
* Add SIMON-64 and SIMON-128 lightweight block ciphers (GH #539)Jeffrey Walton2017-11-211-0/+1
|
* Add SPECK-64 and SPECK-128 lightweight block ciphers (GH #538)Jeffrey Walton2017-11-201-0/+1
|
* Prefix IS_LITTLE_ENDIAN and IS_BIG_ENDIAN with CRYPTOPPJeffrey Walton2017-11-101-2/+2
|
* Cleanup Altivec and Power7 code pathsJeffrey Walton2017-10-171-6/+7
| | | | This changes the dependency from Altivec to Power7. Internally we needed Power7 but it was cut-in as a pseudo Altivec dependency. Also see http://groups.google.com/forum/#!topic/cryptopp-users/fmEKOG41SG8
* Add Power8 SHA256 and SHA512 support (GH #513)Jeffrey Walton2017-09-221-3/+3
|
* Add missing newline to IA-32 config outputJeffrey Walton2017-09-161-14/+14
| | | | | Avoid flushing stream for config line items Use memcpy in std:: namespace
* Add PowerPC support to cpu.h and validate.cppJeffrey Walton2017-09-111-9/+22
|
* Clear GCC warnings with -Wall -WextraJeffrey Walton2017-09-051-32/+8
|
* Revert AltiVec and Power8 commitsJeffrey Walton2017-09-051-9/+5
| | | | | The strategy of "cleanup under-aligned buffers" is not scaling well. Corner cases are still turing up. The library has some corner-case breaks, like old 32-bit Intels. And it still has not solved the AltiVec and Power8 alignment problems. For now we are backing out the changes and investigating other strategies
* Clear warnings under GCC with -Wall -WextraJeffrey Walton2017-09-051-5/+9
|
* Remove unneeded Debug testsJeffrey Walton2017-09-011-3/+0
| | | | These tests are effectively performed in MDC, SEAL and OldRandomPool
* Remove BOOL macro value (GH #462)Jeffrey Walton2017-08-201-0/+2
| | | | Currently the CRYPTOPP_BOOL_XXX macros set the macro value to 0 or 1. If we remove setting the 0 value (the #else part of the expression), then the self tests speed up by about 0.3 seconds. I can't explain it, but I have observed it repeatedly. This check-in prepares for the removal in Upstream master
* Fix compile under MSVCJeffrey Walton2017-08-201-3/+3
| | | | | | | | | | (ClCompile target) -> validat1.cpp(1081): warning C4800: 'CryptoPP::word32' : forcing value to bool 'true' or 'false' (performance warning) [c:\Users\cryptopp\cryptest.vcxproj] validat1.cpp(1090): warning C4800: 'CryptoPP::word32' : forcing value to bool 'true' or 'false' (performance warning) [c:\Users\cryptopp\cryptest.vcxproj] validat1.cpp(1099): warning C4800: 'CryptoPP::word32' : forcing value to bool 'true' or 'false' (performance warning) [c:\Users\cryptopp\cryptest.vcxproj]
* Add additional VIA RNG testsJeffrey Walton2017-08-201-0/+57
| | | | The are configurations tests as recommended by Cryptography Research, Inc in their 2003 audit report
* Add VIA Padlock RNGJeffrey Walton2017-08-191-0/+104
|
* Clear Coverity finding CHECKED_RETURN (CID 182769)Jeffrey Walton2017-08-181-8/+8
|