Commit Graph

3203 Commits

Author SHA1 Message Date
Jeffrey Walton
f5784c1634
Update comments 2017-11-22 17:35:59 -05:00
Jeffrey Walton
f2bc3cd0ca
Add speck-simd.cpp to project files (GH #538, #539)
Cleaned up whitespace
2017-11-22 08:45:38 -05:00
Jeffrey Walton
e7fee716d6
Add SSSE3 intrinsics for SPECK-128 (GH #538)
Performance increased by about 100% on a 3.1 GHz Core i5 Skylake. Throughput went from about 7.3 cpb to about 3.5 cpb. Not bad for a software-based implementation of a block cipher
2017-11-22 08:01:41 -05:00
Jeffrey Walton
39697d92bf
Add SSSE3 intrinsics for SPECK-128 (GH #538)
Performance increased by about 100% on a 3.1 GHz Core i5 Skylake. Throughput went from about 7.3 cpb to about 3.5 cpb. Not bad for a software-based implementation of a block cipher
2017-11-22 07:57:39 -05:00
Jeffrey Walton
c447918815
Add additional test vectors (GH #538, #539)
These were generated by Crypto++ using the C/C++ implementation, which operates on 1 block at a time. They are consumed by the SSSE3 implementation, which operates on 4 blocks at a time. Its not ideal, but it will have to do.
2017-11-22 07:38:55 -05:00
Jeffrey Walton
900dc5d1a6
Rework UncheckedSetKey to rearrange words in ExpandKey (GH #539) 2017-11-21 17:43:43 -05:00
Jeffrey Walton
b4cecfef95
Rework UncheckedSetKey to rearrange words in ExpandKey (GH #538) 2017-11-21 17:43:28 -05:00
Jeffrey Walton
6992de66ea
Fix URL in documentation 2017-11-21 16:13:23 -05:00
Jeffrey Walton
3f7eb03eaf
Update documentation 2017-11-21 15:29:41 -05:00
Jeffrey Walton
6b7a7b1ca6
Update documentation 2017-11-21 15:16:53 -05:00
Jeffrey Walton
14e33af525
Update documentation 2017-11-21 08:32:58 -05:00
Jeffrey Walton
8cc76597c6
Fix AlgorithmName() for 128-bit block SIMON and SPECK 2017-11-21 06:48:37 -05:00
Jeffrey Walton
c14e054ed8
Fix AlgorithmName() for 128-bit block SIMON and SPECK 2017-11-21 06:40:02 -05:00
Jeffrey Walton
0fab2a188f
Update documentation 2017-11-21 05:58:11 -05:00
Jeffrey Walton
79273a0f4d
Whitespace and spelling check-in 2017-11-21 05:54:15 -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
5007c13fbd
Switch to size_t for loop control 2017-11-21 04:55:41 -05:00
Jeffrey Walton
78922e9c85
Remove unneeded include 2017-11-21 03:01:23 -05:00
Jeffrey Walton
0dcec5a6d4
Clear unused variable warning for MSVC 2017-11-20 23:53:17 -05:00
Jeffrey Walton
c7760ac4e9
Use SPECK_ExpandKey instead of SPECK_RoundKeys
The reference implementation uses ExpandKey
2017-11-20 23:21:15 -05:00
Jeffrey Walton
fdd89d1bd5
Add speck.txt to Filelist
This should have occurred at Commit b9fc470bc7. At least we remembered to include speck.h and speck.cpp...
2017-11-20 20:47:30 -05:00
Jeffrey Walton
6cc89a983d
Update documentation 2017-11-20 20:03:39 -05:00
Jeffrey Walton
027a1a3d8c
Fix AES detection on AIX and Power8
This got knocked loose when adding Autotools support
2017-11-20 19:50:07 -05:00
Jeffrey Walton
f6f5583e63
Add additional SPECK test vectors (GH #538)
These were generated by modifying the reference implementation
2017-11-20 11:27:01 -05:00
Jeffrey Walton
4b3560baef
Update documentation
Whitespace check-in
2017-11-20 08:33:33 -05:00
Jeffrey Walton
93fb412215
Add Visual Studio filter for SPECK test vectors (GH #538) 2017-11-20 07:07:11 -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
32154a150f
Clear GCC pedantic warnings (GH #537) 2017-11-19 21:41:13 -05:00
Jeffrey Walton
23d95e803d
Provide virtual destructor for Threefish_Base 2017-11-19 01:39:47 -05:00
Jeffrey Walton
63e53e845e
Reword Threefish inheritance hierarchy
Threefish_Base does not need to inherit from Threefish_Info
2017-11-18 21:27:02 -05:00
Jeffrey Walton
ce62862db8
Update documentation 2017-11-18 19:51:45 -05:00
Jeffrey Walton
5f9b2b2a85
Fix algorithm names for Threefish (GH #535)
Algorithm name was returning " Threefish-32(32)" instead of "Threefish-256(256)"
2017-11-18 14:21:10 -05:00
Jeffrey Walton
7f7c848515
Update documentation 2017-11-17 19:48:40 -05:00
Jeffrey Walton
b9bd51f7a6
Remove variable block size for Threefish (GH #535) 2017-11-17 19:15:14 -05:00
Jeffrey Walton
dbd79a1e49
Fix GCC inline asm register constraint for SSE register
Also see https://gcc.gnu.org/onlinedocs/gcc/Machine-Constraints.html
2017-11-17 01:01:12 -05:00
Jeffrey Walton
3ed6ed39fa
Fix sse-simd.cpp for 32-bit MSVC compiles 2017-11-17 00:17:46 -05:00
Jeffrey Walton
7f7131dc55
Fix GCM_Xor16_SSE2 for 32-bit MSVC compiles 2017-11-16 23:07:30 -05:00
Jeffrey Walton
a5bf962681
Fix target misdetection on OS X with '-arch i386'
This tested OK on Linux OS X, Solaris and Windows. It may break things under IBM XL C/C++. We will cross that bridge when we get to it.
2017-11-16 19:37:29 -05:00
Jeffrey Walton
8734cfaa07
Add sse-simd.cpp to nmake file and vcxproj filters 2017-11-16 15:29:24 -05:00
Jeffrey Walton
bd41c3d5dd
Remove SSE2 from cpu.cpp, add sse-simd.cpp
We need to ensure SSE2 does not cross pollinate into other CPU functions since SSE2 is greater than the minimum arch. The minimum arch is i586/i686, and both lack SSE2 instructions
2017-11-16 15:11:51 -05:00
Jeffrey Walton
241ff3065e
Update documentation 2017-11-16 13:36:43 -05:00
Jeffrey Walton
3c537f3e02
Remove master-merge script
We don't use branches for development because they pollute the logs on Master
2017-11-16 12:55:38 -05:00
Jeffrey Walton
156fedea7f Revert "Remove master-merge script"
This reverts commit d3dc091. A version number change used to build the docs cross-pollinated into the deletion of the script.
2017-11-16 12:53:33 -05:00
Jeffrey Walton
d3dc09120b
Remove master-merge script
We don't use branches for development because they pollute the logs on Master
2017-11-16 12:51:33 -05:00
Jeffrey Walton
8b52a03d08
Fix SunCC 12.2 compiler crash with GCM_Xor16_SSE2
SunCC 12.3 through 12.5 still cannot handle CLMUL, though. It would be nice if Sun fixed the regression.
2017-11-16 02:38:53 -05:00
Jeffrey Walton
6f83a4fb7d
Switch to intrinsic operation instead of casts for GCM SSE2 XOR's 2017-11-15 23:05:30 -05:00
Jeffrey Walton
c49b6d4d71
Cleanup comments and old code artifacts 2017-11-15 21:11:42 -05:00
Jeffrey Walton
e8bed05b7d
Use SSE4.1 instead of SSE4.2 for BLAKE2
BLAKE2 requires SSE4.1, no SSE4.2. This change should have been made when we split SSE4 into .1 and .2, but we needed more OS X and LLVM testing
2017-11-15 20:08:06 -05:00
Jeffrey Walton
a3784a3ac5
Update Power8 support for Autotools 2017-11-14 20:54:43 -05:00
Jeffrey Walton
8fee0bb13f
Fix Valgrind detection in cryptest.sh 2017-11-14 08:24:13 -05:00