2679 Commits

Author SHA1 Message Date
Jeffrey Walton
3fe188ba89
Updated README with additional algorithms 2017-05-18 00:59:11 -04:00
Jeffrey Walton
1b1c32d7cf
Build RDRAND for all platofrms (Issue 419, PR 424)
We have not been able to determine a reliable way to detect cpu's and platforms with Cmake. We are side stepping the Cmake problem by building rdrand.cpp all the time. If its not avilable for a cpu or platform, then RDRAND or RDSEED throw an exception.
2017-05-17 16:21:20 -04:00
Jeffrey Walton
03a6a8fb73
Add separate Enc and Dec classes to Threefish
The change speeds up benchmarks for Threefish-256 and Threefish-512 by about 10 MiB/s on a 6th gen Skylake
2017-05-17 14:38:37 -04:00
Jeffrey Walton
5b81b5c66c
Updated test scripts for ARM NEON 2017-05-17 10:59:22 -04:00
Jeffrey Walton
a59e32be73
Add missing Threefish test vectors to Filelist (Isse 422) 2017-05-16 04:49:33 -04:00
Jeffrey Walton
c9d4ebb3d4
Cleared C4250 under MSVC (Issue 412) 2017-05-16 04:21:27 -04:00
Jeffrey Walton
5f0cbde980
Removed MSVC warning suppression for many warnings (Issue 412)
Most of these appear to have been cleared over the last couple of years.

C4127 is too prevelant. We are probably going to have to live with it.

We may be able to clear C4250 with a using statement. For example 'using ASN1CryptoMaterial::Load'.

MSVC resisted clearing C4661 by pushing/poping in iterhash.h and osrng.h. It was like MSVC simply ignored it.
2017-05-16 03:52:03 -04:00
Jeffrey Walton
b083390d4f
Added some intelligence to truncated Gzip stream test 2017-05-16 01:59:09 -04:00
Jeffrey Walton
5bf43f4ef3
Add additional Threefish test vectors
The test vectors came from NIST submission archive (NIST_CD_102610), skein_golden_kat_short_internals.txt
2017-05-15 22:55:33 -04:00
Jeffrey Walton
ae09662f43
Update Makefile to trim data files 2017-05-15 22:53:44 -04:00
Jeffrey Walton
30ac53ff41
Add support for word32 and word64 parsing 2017-05-15 21:55:39 -04:00
Jeffrey Walton
4da06919eb
Switch conversion switch from 'ce' to 'cvt'
There were some collisions in the RSA test vectors
2017-05-15 21:02:47 -04:00
Jeffrey Walton
30ac06dd0d
Fix substring length 2017-05-15 20:41:32 -04:00
Jeffrey Walton
7fd5c13e06
Fix PutDecodedDatumInto on OS X 2017-05-15 20:14:22 -04:00
Jeffrey Walton
a61c97f7ee
Re-enable the Tweak on Threefish
We also add a helper to PutDecodedDatumInto which reverses the little-endian values from the Threefish test vectors. Test vectors will follow at next check-in.
2017-05-15 18:42:20 -04:00
Jeffrey Walton
f60f212687
Remove Tweak handling.
We are arriving at incorrect result for G2 after the first Key Injection, and its not readily apparent why.
2017-05-15 14:38:24 -04:00
Jeffrey Walton
b3399b4f86
Remove SSE2 intrinsics from Threefish
The benchmarks showed things ran slower with GCC and MSVC
2017-05-14 16:59:04 -04:00
Jeffrey Walton
54ca8b3a16
Whitespace check-in 2017-05-14 15:30:59 -04:00
Jeffrey Walton
32ab4af5ff
Add Threefish to project files
Whitespace check-in
2017-05-14 15:27:50 -04:00
Jeffrey Walton
8c34a5f7f5
Add Threefish block cipher (Issue 422) 2017-05-14 13:51:41 -04:00
Jeffrey Walton
7ee87af86b
Don't latch BlockSize or BlockPaddingScheme across tests 2017-05-14 05:26:33 -04:00
Jeffrey Walton
017f7f61b4
Rearrange characters in whitespace string
The arrangement saves about 1.3 seconds when running the test vectors. It looks like the tab character is dominant, so we profit by listing it first.
2017-05-14 04:09:26 -04:00
Jeffrey Walton
2c570e27a0
Explicitly add space on line continuation
Formatting of data for a failed self test was still off a bit. It was due to retaining a whitespace character from the test vector file. The problem was, the whitespace was a tab on occasion.
2017-05-14 02:41:22 -04:00
Jeffrey Walton
bc2678478c
Add polynomial for 1024-bit block cipher.
This will support Threefish and its 1024-bit block size. I believe this is correct, but it may be wrong. According to "Table of Low-Weight Binary Irreducible Polynomials" (http://www.hpl.hp.com/techreports/98/HPL-98-135.pdf), the polynomial is x^1024 + x^19 + x^6 + x + 1.
2017-05-13 19:23:24 -04:00
Jeffrey Walton
cea45eb024 Revert "Add polynomial for 1024-bit block cipher."
This reverts commit d654c893ef4658da83ed5753cb4c360e60e5afa3. The polinomial for 1024-bit block sizes had a typo.
2017-05-13 19:18:24 -04:00
Jeffrey Walton
d654c893ef
Add polynomial for 1024-bit block cipher.
This will support Threefish and its 1024-bit block size. I believe this is correct, but it may be wrong. According to "Table of Low-Weight Binary Irreducible Polynomials" (http://www.hpl.hp.com/techreports/98/HPL-98-135.pdf), the polynomial is x^1024 + x^19 + x^6 + x + 1.
2017-05-13 19:15:46 -04:00
Jeffrey Walton
7697857481
Add polynomial for 512-bit block ciphers
I believe this is correct, but it may be wrong. According to the Kalyna team, the polynomial for GCM mode is x^512 + x^8 + x^5 + x^2 + 1. It appears the polinomial applies to other block cipher modes of operations, like CMAC.Dropping the first term and evaluating the remaining terms at X=2 results in 293 (0x125)
2017-05-13 17:36:29 -04:00
Jeffrey Walton
e226523b05
Call cipher.SetKey() before cipher.BlockSize() (Issue 408)
Variable block size ciphers need the key set before they can return an accurate size for BlockSize(). This issue surfaced during Kalyna testing with authenticated encryption modes. In particular, EAX mode, which effectively uses CMAC:

    AlgorithmParameters params = MakeParameters(Name::BlockSize(), 64)
        (Name::IV(), ConstByteArrayParameter((const byte *)iv, 64));

    EAX<Kalyna>::Encryption kalyna;
    kalyna.SetKey(key, 64, params);
2017-05-13 16:28:05 -04:00
Jeffrey Walton
0611e11507
Disable word128 for PPC64 and GCC 4.8 (Issue 421) 2017-05-12 23:51:27 -04:00
Jeffrey Walton
78db20d939
Add FileName, FileTime and Comment to argnames.h
Add self tests to verify handling of filenames, filetimes and comments
2017-05-12 19:52:42 -04:00
Jeffrey Walton
e3ae7000ea
Whitespace check-in 2017-05-12 16:53:07 -04:00
Jeffrey Walton
cfa339535b Revert "Write MTIME in big-endian order"
This reverts commit 591b13934336. RFC 1952 states the bytes are written in little-endian order, not big-endian. That includes MTIME.
2017-05-12 16:51:03 -04:00
Jeffrey Walton
591b139343
Write MTIME in big-endian order
Whitespace
2017-05-12 15:29:03 -04:00
c0ff
d901ecd9a4 Gunzip: added GetFilename() and GetComment() methods (#418)
Add Filename, Filtetime and Comment support to Gzip classes
2017-05-12 15:09:21 -04:00
Jeffrey Walton
973de7712a
Fix GetField for stray CR or LF
The test vector rsa_pkcs1_1_5.txt is the torture test. We calculated an incorrect index when a line continuation was part of a comment
2017-05-12 14:25:25 -04:00
Jeffrey Walton
3f9667f3cd
Remove VC++ 6.0 workaround in datatest.cpp 2017-05-12 03:50:37 -04:00
Jeffrey Walton
b160cb40e1
Add comment concerning empty value 2017-05-12 03:09:06 -04:00
Jeffrey Walton
d3986223a6
Add early continuation for parsing a continued line 2017-05-12 03:05:24 -04:00
Jeffrey Walton
ac6db2fa91
Fix parser break on OS X
This was introduced at Commit e456cd2275bba020, and affected Uri during his rounds of testing.
We also took the opportunity to write it in modern C++ (and remove the VC++ 6.0 bug workaround)
2017-05-12 02:20:44 -04:00
Jeffrey Walton
9850576d0b
Improve compressor error messages 2017-05-11 17:59:20 -04:00
Jeffrey Walton
35451f3ab6
Additional self tests for Decompressors 2017-05-11 13:00:17 -04:00
Jeffrey Walton
537ee61ade
Switch to _MSC_FULL_VER for SP1 releases 2017-05-11 12:05:57 -04:00
Jeffrey Walton
aa287d6112
Fix compile under GCC 6.3 on Fedora 2017-05-11 11:55:00 -04:00
Jeffrey Walton
308336c4e1
Switch to COUNTOF in validat3.cpp 2017-05-11 11:18:52 -04:00
Jeffrey Walton
34edf7e12f
Fix subscript out of range in test 2017-05-11 04:14:13 -04:00
Jeffrey Walton
ea5d003a9a
Move TestPolynomialMod2 to validat0.cpp 2017-05-11 03:56:19 -04:00
Jeffrey Walton
c87b0d1485
Fix subscript out of range in test 2017-05-11 02:57:48 -04:00
Jeffrey Walton
598f838e0a
Reduce random string size.
Tests run faster without diminishing returns
2017-05-11 02:13:27 -04:00
Jeffrey Walton
b40d4d9180
Add CRYPTOPP_COVERAGE for Asan and UBsan builds 2017-05-11 01:35:32 -04:00
Jeffrey Walton
b3f5bae3b9 Merge pull request #417 from c0ff/master
NULLPTR fix for blake2 tests
2017-05-11 00:46:56 -04:00