Commit Graph

2771 Commits (02e3a794443ae6d985ddf881d52a87bae1e7cd6f)

Author SHA1 Message Date
Jeffrey Walton e456cd2275
Modify datatest parse to eat whitespace when line continuation is in effect
Previously the parsed string would look as follows. You would get this on a failed self test.
Key: 0000000000000000
    0000000000000000
        0000000000000000
            0000000000000000

The new behavior eats the leading whitespace, so the key is reported as:
Key: 0000000000000000000000000000000000000000000000000000000000000000
2017-05-10 16:20:12 -04:00
Jeffrey Walton d236cf1277
Add Kalyna CBC test vectors 2017-05-10 15:27:57 -04:00
Jeffrey Walton b2a6ba460f
Make datatest.cpp aware of padding schemes
This change was needed for Kalyna and its CBC test vectors. One test uses OneAndZeros padding
2017-05-10 15:26:36 -04:00
Jeffrey Walton 0de44edde1
Remove EncryptBlockCipher
The test mode EncryptBlockCipher is not needed. datatest.cpp is versatile enough to handle variable block sizes under test mode Encrypt
2017-05-10 13:50:36 -04:00
Jeffrey Walton 3bee1f57cf
XOR block in specialized ProcessBlock
Use Put and Get blocks consistently
2017-05-10 06:34:22 -04:00
Jeffrey Walton 20c3d556c3 Revert "XOR block in specialized ProcessBlock"
This reverts commit 76bb4ead40. The Visual Studio project files and other test files were not supposed to be checked-in.
2017-05-10 06:30:08 -04:00
Jeffrey Walton 76bb4ead40
XOR block in specialized ProcessBlock
Use Put and Get blocks consistently
2017-05-10 06:26:29 -04:00
Jeffrey Walton 9b383e8a07
Clear out-of-bounds read when fuzzing
zinflate.cpp:553:41: runtime error: index 30 out of bounds for type 'unsigned int [30]'
zinflate.cpp:553:11: runtime error: load of address 0x0000011806b8 with insufficient space for an object of type 'const unsigned int'
zinflate.cpp:32:32: runtime error: shift exponent 64 is too large for 64-bit type 'long unsigned int'
2017-05-10 04:15:42 -04:00
Jeffrey Walton 093499260e
Fix compile error with NO_OS_DEPENDENCE 2017-05-10 03:50:32 -04:00
Jeffrey Walton 151ec518e8
Add additional tests 2017-05-10 01:28:52 -04:00
Jeffrey Walton 4904a951ce
Fix bad code generation with GCC, -Os and rdseed 2017-05-10 01:28:25 -04:00
Jeffrey Walton 5c42ec96f2
Fix bad GCC code generation with -Os
It appears GCC was doing something wonky with the call to RDSEED. The test script was experiencing a hang
2017-05-09 22:47:14 -04:00
Jeffrey Walton 0cbaea0428
Add tests for Information Dispersal and Secret Sharing 2017-05-09 18:44:45 -04:00
Jeffrey Walton 35ec7b105e
Enable MD4 testing under extended validations 2017-05-09 16:40:02 -04:00
Jeffrey Walton 33235f88db
Removed unneeded guard
Whitespace check-in
2017-05-09 16:23:30 -04:00
Jeffrey Walton 3b4a9e2ccf
Update padding check logic 2017-05-09 15:48:52 -04:00
Jeffrey Walton f817fc7c2e
Clear C4100 warning (Issue 412) 2017-05-09 15:40:49 -04:00
Jeffrey Walton a0832a63be
Whitespace check-in 2017-05-09 15:28:42 -04:00
Jeffrey Walton bc29f1b5b8
Updated documentation 2017-05-09 15:13:11 -04:00
Jeffrey Walton 4f7fee38d6
Mkaake RDRAND and RDSEED throw if not available
Fix Carmichael pseudo-prime tests
2017-05-09 13:20:53 -04:00
Jeffrey Walton 8a177c58e6
Add validation for W3C_PADDING InitializeDerivedAndReturnNewSizes
This should have occurred with PR 368 or Commit 8e088b4865
2017-05-09 00:58:42 -04:00
Jeffrey Walton 6ca68e714b
Updated documentation 2017-05-08 23:25:39 -04:00
Jeffrey Walton ffa92b09e6
Add test for Carmichael pseudo-primes 2017-05-08 22:36:58 -04:00
Jeffrey Walton ba8882db39
Use [31398, 31468] for prime gap test 2017-05-08 17:03:06 -04:00
Jeffrey Walton 7421bd2055
Fix "Load of address X with insufficient space for an object of type const word32" 2017-05-08 16:17:17 -04:00
Jeffrey Walton fe2d5752cd
Switch to library's GetUserKey 2017-05-08 14:32:30 -04:00
Jeffrey Walton 7ba33868e0
Add zLib compressor and decompressor tests 2017-05-08 06:08:27 -04:00
Jeffrey Walton 798f1c9ed8
Clear warnings under Visual Studio 2017-05-08 05:13:55 -04:00
Jeffrey Walton 238b5e6188
Whitespace check-in 2017-05-08 03:20:23 -04:00
Jeffrey Walton 1d7dfc6927
Port Kalyna to big-endian (Issue 411)
Tested on GCC110 from the GCC compile farm. Performance is comparable to AES on GCC110.
2017-05-08 01:59:37 -04:00
Jeffrey Walton c35e616cbf
Make make_odd_key_NNN a template function 2017-05-06 23:59:17 -04:00
Jeffrey Walton c62e1ade6e
Add Makefile recipe for Valgrind builds 2017-05-06 22:54:49 -04:00
Jeffrey Walton 9cf9f4235d
Add timing attack countermeasures to Kalyna (Issue 411)
The code at check-in a5c67cfdd6 did not include it. Unlike Threefish, it looks like Kalyna could benefit from the cache hardening given how similar Kalyna is to AES. The hardening costs less than 0.1 cpb, which equates to about 199 MB/s vs 201 MB/s on a 6th gen Skylake
2017-05-06 20:14:26 -04:00
Jeffrey Walton 14236ce94b
Fold compressor and default encryptor tests 2017-05-06 19:20:57 -04:00
Jeffrey Walton bdd82d781e
Added additional tests 2017-05-06 18:51:55 -04:00
Jeffrey Walton c04b98072c
Fix compile error with -DNO_OS_DEPENDENCE
Whitespace check-in
2017-05-06 18:00:57 -04:00
Jeffrey Walton 374b8a419f
Added additional tests 2017-05-06 11:37:22 -04:00
Jeffrey Walton 3ea8e0655f
Add constants to default encryptor classes 2017-05-06 09:07:24 -04:00
Jeffrey Walton 6ad999ef2f
Updated documentation 2017-05-06 08:18:54 -04:00
Jeffrey Walton a5c67cfdd6
Add Kalyna block cipher (Issue 411)
Thanks to Roman Oliynykov and Oleksandr Kazymyrov for their assistance. Thanks to Keru Kuro for the reference implementation.
2017-05-06 00:24:35 -04:00
Jeffrey Walton 06092259c2
Make UncheckedKeySet and ProcessXorBlocks protected 2017-05-06 00:21:24 -04:00
Jeffrey Walton 02df6ea847
Add additional self tests under debug builds 2017-05-05 23:16:28 -04:00
Jeffrey Walton ac930b084d
Add additional tests
Whitespace check-in
2017-05-05 20:34:43 -04:00
Jeffrey Walton 9225ca09cb
Updated MersenneTwister tests
The tests now include the first 10 elements of the sequence to ensure a properly implemented algorithm and endianess correctness.
2017-05-05 19:00:17 -04:00
Jeffrey Walton c1377b2955
Add additional self tests under debug builds 2017-05-05 17:21:08 -04:00
Jeffrey Walton 5c1de7b5a5
Add variable block size support to test and benchmarks
CRYPTOPP_COVERAGE was added at 9614307ab7 to increase code coverage support. This commit enables additional validation routines when  CRYPTOPP_COVERAGE is in effect.
2017-05-04 19:11:24 -04:00
Jeffrey Walton 9614307ab7
Add CRYPTOPP_COVERAGE define for 'make coverage' recipe 2017-05-04 03:01:07 -04:00
Jeffrey Walton 7131a0fbb8
Add VariableBlockSize constants to FixedBlockSize
This also follows the pattern set forth by FxiedKeyLength and VariableKeyLength
2017-05-03 22:34:37 -04:00
Jeffrey Walton 2d9678fa6d
Remove BLOCKSIZE from VariableBlockSize (Issue 408)
VariableBlockSize and VariableBlockCipherImpl were added at Commit bd8edfa87b. Reflecting on FixedKeyLength and VariableKeyLength, the const KEYLENGTH is only provided by FixedKeyLength. VariableKeyLength provides DEFAULT_KEYLENGTH. This check-in makes VariableBlockSize follow VariableKeyLength.
This check-in also splits block size and iv length. Its conceivable we will encounter a cipher with a block size of 128-bits with an iv of 256-bits. The bd8edfa87b check-in could not handle the difference, so we fix it now.
2017-05-03 21:06:49 -04:00
Jeffrey Walton ca9e788fbf
Add const GetStream() member function 2017-05-02 18:25:58 -04:00