Commit Graph

65 Commits (692ed2a2bbafcc724219a0126b0c6b5ffe8385c6)

Author SHA1 Message Date
Jeffrey Walton b74a6f4445
Add algorithm provider member function to Algorithm class 2018-07-06 09:23:37 -04:00
Jeffrey Walton 989bf6dc5e
Add HC-256 stream cipher (GH #680) 2018-07-05 06:43:04 -04:00
Jeffrey Walton ccc1b71bc8
Move TEA and XTEA to lightweight block ciphers 2018-07-05 01:59:42 -04:00
Jeffrey Walton 4feb3731ff
Fix HC-128 benchmark 2018-07-05 01:57:30 -04:00
Jeffrey Walton dd31eb80c0
Add HC-128 stream cipher (GH #679) 2018-07-05 00:29:07 -04:00
Jeffrey Walton d00777e1d7
Add Rabbit stream cipher (GH #678) 2018-07-04 03:47:28 -04:00
Jeffrey Walton 904e8ce283
Remove code to accomodate variable block size (GH #535)
This should have occured when we yanked the variable block size experiment
2018-07-01 22:20:45 -04:00
Jeffrey Walton 01f11727ad
Fix bench1.cpp from SIMECK testing 2018-07-01 03:14:53 -04:00
Jeffrey Walton 08e6137082
Add SIMECK-64 SSSE3 implementation (GH #675) 2018-07-01 03:11:00 -04:00
Jeffrey Walton ac036496d3
Add Simeck lightweight block cipher (GH #675)
Add Simeck lightweight block cipher (GH #675)
2018-06-30 02:43:12 -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 54d5100344
Add CHAM lightweight block cipher (PR #670)
Add CHAM lightweight block cipher
2018-06-17 23:24:47 -04:00
Jeffrey Walton 1f06c512c4
Add LEA lightweight block cipher (GH #669) 2018-06-17 22:36:41 -04:00
Jeffrey Walton e416b243d3
Re-add Simon and Speck, enable SSE (GH #585)
This commit re-adds Simon and Speck. The commit includes C++, SSSE3 and SSE4. NEON, Aarch32 and Aarch64 are disabled at the moment.
2018-02-18 23:23:50 -05:00
Jeffrey Walton 15b14cc618
Remove Simon and Speck ciphers (GH #585)
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...
2018-02-14 04:06:16 -05:00
Jeffrey Walton e872c8dc3a
Keep CAST tests together in bench1.cpp 2018-01-24 08:53:00 -05:00
Jeffrey Walton 5542055327
Fix benchmarks after variable block size removal (GH #535) 2018-01-18 21:31:19 -05:00
Tanzinul Islam b4df31c7f9 Change ::log() to log() to work with C++Builder (#552)
As reported in #520, C++Builder standard libraries don't have a `log()` function at global namespace. Change the invocations to unqualified name lookup, and apply a using-declaration to `std::log()` when compiling under C++Builder.
2017-12-30 15:16:27 -05:00
Jeffrey Walton 4990ffe5b8
Add SIMON-64 NEON intrinsics 2017-12-05 08:53:57 -05:00
Jeffrey Walton 45db15e51b
Increase precision of cpb
When cpb is less than 24 or so print two decimal places
2017-11-27 11:38:15 -05:00
Jeffrey Walton 5267723a49
Add SM3 hash function (GH #541) 2017-11-23 23:19:09 -05:00
Jeffrey Walton 2c8a618a03
Add SM4 block ciphers (GH #540) 2017-11-23 11:41:40 -05:00
Jeffrey Walton aec67799a3
Add CTR to display for SIMON and SPECK 2017-11-22 18:43:08 -05:00
Jeffrey Walton 3970a066e3
Add SIMON-64 and SIMON-128 lightweight block ciphers (GH #539) 2017-11-21 04:58:51 -05:00
Jeffrey Walton b9fc470bc7
Add SPECK-64 and SPECK-128 lightweight block ciphers (GH #538) 2017-11-20 06:30:21 -05:00
Jeffrey Walton b9bd51f7a6
Remove variable block size for Threefish (GH #535) 2017-11-17 19:15:14 -05:00
Jeffrey Walton eb894d2d5a
Remove bold from algorithm name in benchmarks 2017-11-13 23:01:04 -05:00
Jeffrey Walton 642cf3aa74
Add "stdcpp.h" to bench1.cpp and bench2.cpp (GH #520)
This is the first of possibly two or three for Borland compilers. We have to be careful because its very easy to break something due to math overloads with other compilers like SunCC or XL/C
2017-10-12 21:52:23 -04:00
Jeffrey Walton e4498a105e
Use ::time() and ::log() instead of std::time() and std::log() (GH #512)
The 35c0fa82fd change broke GCC 4.8
2017-09-20 18:43:51 -04:00
Jeffrey Walton 559fc3bd89 Fix benchmark selection code (GH #464) 2017-08-22 05:10:25 -04:00
Jeffrey Walton 7fb5953055
Add VIA Padlock RNG 2017-08-19 15:41:45 -04:00
Jeffrey Walton e2c377effd Split source files to support Base Implementation + SIMD implementation (GH #461)
Split source files to support Base Implementation + SIMD implementation
2017-08-17 12:33:43 -04:00
Jeffrey Walton 24bc2b8567
Add HMAC(SHA256) benchmark 2017-08-07 19:04:14 -04:00
Jeffrey Walton 030de2e457
Fix multiple output of shared key benchmarks
Benchmark2 is used to benchmark shared key algorithms. At the moment Benchmark2 is all or nothing. It does not understand SharedKeyMAC, SharedKeyStream, SharedKeyBlock. It will be fixed in the future.
2017-07-23 23:25:39 -04:00
Jeffrey Walton 7ac77ca9ac Revert "Revert "Clear Visual Studio warnings (Issue 412)""
This reverts commit c3871aec94.
2017-06-02 05:18:52 -04:00
Jeffrey Walton c3871aec94 Revert "Clear Visual Studio warnings (Issue 412)"
This reverts commit eb3b27a6a5. The change broke GCC 4.8 and unknown version of Clang on OS X. UB reported the OS X break, and JW found duplicated the break on a ARM CubieTruck with GCC 4.8.
2017-06-02 05:06:56 -04:00
Jeffrey Walton eb3b27a6a5
Clear Visual Studio warnings (Issue 412) 2017-05-30 16:37:41 -04:00
Jeffrey Walton ce5ac01193
Use consistent names like MinEntropyLength()
Avoid member function names like GetMinEntropy()
2017-05-29 02:44:55 -04:00
Jeffrey Walton 4fef9b8837
Rework benchmark code
This change moves test selections from test.cpp into bench.cpp. It also allows us finer control over test classes and algorithms
2017-05-19 23:29:59 -04:00
Jeffrey Walton 8c34a5f7f5
Add Threefish block cipher (Issue 422) 2017-05-14 13:51:41 -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 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 ceecf3faf5
Fix table whitespace 2017-04-17 04:23:50 -04:00
Jeffrey Walton bf92cb0039
Split regtest.cpp into regtest{1|2|3}.cpp
regtest.cpp is where ciphers register by name. The library has added a number of ciphers over the last couple of years and the source file has experienced bloat. Most of the ARM and MIPS test borads were suffering Out of Memory (OOM) kills as the compiler processed the source fille and the included header files.
This won't stop the OOM kills, but it will help the situation. An early BeagleBoard with 512 MB of RAM is still going to have trouble, but it can be worked around by building with 1 make job as opposed to 2 or 4.
2017-04-13 21:45:21 -04:00
Jeffrey Walton 8ca0f47939
Add ARIA block cipher
This is the reference implementation, test data and test vectors from the ARIA.zip package on the KISA website. The website is located at http://seed.kisa.or.kr/iwt/ko/bbs/EgovReferenceList.do?bbsId=BBSMSTR_000000000002.

We have optimized routines that improve Key Setup and Bulk Encryption performance, but they are not being checked-in at the moment. The ARIA team is updating its implementation for contemporary hardware and we would like to use it as a starting point before we wander too far away from the KISA implementation.
2017-04-10 10:52:40 -04:00
Jeffrey Walton 2b4ec92dbe
Remove style from TABLE tag for benchmarks 2017-03-12 09:30:16 -04:00
Jeffrey Walton c2efbae80a
Add AES/OFB RNG benchmark 2017-03-11 15:56:55 -05:00
Jeffrey Walton ef7a6a2f4e
Speedup Hash_DRBG and HMAC_DRBG
Add benchmarks for SHA1 and SHA256 variants
Hash_DRBG sped-up by about 2 MiB/s by using word128 and word64 in the initial update loop. It did not benefit other loops
HMAC_DRBG sped-up by about 5 MiB/s by reworking variables, access and loop control
2017-03-11 08:10:32 -05:00
Jeffrey Walton ce38a411fc
Add Random Number Generator benchmarks (Issue 386)
Move HTML header and footer into benchmark functions
Switch to <cmath> and standard math routines
Switch to <ctime> and standard clock and time routines
Move static variable^Cinto anonymous namespace
Add TimeToString function for printing start and end times
2017-03-08 16:59:24 -05:00