Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Update news | Jack Lloyd | 2017-10-13 | 1 | -0/+4 |
| | | | | [ci skip] | ||||
* | OCB optimizations | Jack Lloyd | 2017-10-13 | 2 | -58/+90 |
| | | | | | | With fast AES-NI, gets down to about 2 cycles per byte which is pretty good compared to the ~5.5 cpb of 2.3, still a long way off the best stiched impls which run at ~0.6 cpb. | ||||
* | Somewhat faster xor_buf | Jack Lloyd | 2017-10-12 | 1 | -18/+15 |
| | | | | Avoids the cast alignment problems of yesteryear | ||||
* | Remove needless mutable | Jack Lloyd | 2017-10-12 | 1 | -2/+2 |
| | | | | [ci skip] | ||||
* | Swapped encrypt and decrypt in BlockCipher _xex functions | Jack Lloyd | 2017-10-12 | 1 | -2/+2 |
| | | | | | Missed by everything but the OCB wide tests because most ciphers have fixed width and get the override. | ||||
* | Add some additional CPU aliases for x86-64 | Jack Lloyd | 2017-10-12 | 1 | -5/+8 |
| | |||||
* | Interleave SM3 message expansion | Jack Lloyd | 2017-10-12 | 1 | -141/+142 |
| | | | | Reduces stack usage and a bit faster | ||||
* | Use SIMD for in Threefish | Jack Lloyd | 2017-10-12 | 1 | -2/+2 |
| | | | | GCC 7 can actually vectorize this for AVX2 | ||||
* | OCB optimizations | Jack Lloyd | 2017-10-12 | 7 | -124/+163 |
| | | | | From ~5 cbp to ~2.5 cbp on Skylake | ||||
* | Merge GH #1247 Improve bit rotation functions | Jack Lloyd | 2017-10-12 | 36 | -661/+739 |
|\ | |||||
| * | Ugh, the GCC/Clang trick triggers C4146 under MSVC | Jack Lloyd | 2017-10-12 | 1 | -8/+25 |
| | | | | | | | | | | | | And rotate.h is a visible header. Blerg. Inline asm it is. | ||||
| * | Add compile-time rotation functions | Jack Lloyd | 2017-10-12 | 36 | -677/+716 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The problem with asm rol/ror is the compiler can't schedule effectively. But we only need asm in the case when the rotation is variable, so distinguish the two cases. If a compile time constant, then static_assert that the rotation is in the correct range and do the straightforward expression knowing the compiler will probably do the right thing. Otherwise do a tricky expression that both GCC and Clang happen to have recognize. Avoid the reduction case; instead require that the rotation be in range (this reverts 2b37c13dcf). Remove the asm rotations (making this branch illnamed), because now both Clang and GCC will create a roll without any extra help. Remove the reduction/mask by the word size for the variable case. The compiler can't optimize that it out well, but it's easy to ensure it is valid in the callers, especially now that the variable input cases are easy to grep for. | ||||
| * | Use rol/ror x86 instructions on GCC/Clang | Jack Lloyd | 2017-10-11 | 1 | -2/+24 |
| | | | | | | | | | | | | | | Neither is very good at recognizing rotate sequences. For cases where the rotation value is a constant they do fine, but for variable rotations they do horribly. Using inline asm here improved performance of both CAST-128 and CAST-256 by ~20% on my system with both GCC and Clang. | ||||
* | | Merge GH #1251 Fix CMake | Jack Lloyd | 2017-10-12 | 1 | -3/+5 |
|\ \ | |||||
| * | | Prevent a lint complaint. | Frank Schoenmann | 2017-10-12 | 1 | -1/+2 |
| | | | |||||
| * | | Repair generation of CMakeLists.txt after some files have been moved. | Frank Schoenmann | 2017-10-12 | 1 | -3/+4 |
| |/ | |||||
* | | Avoid std::count to skip a signed overflow warning | Jack Lloyd | 2017-10-12 | 2 | -3/+13 |
| | | | | | | | | | | | | Couldn't figure out a way to silence this otherwise. Deprecate replace_char, erase_chars, replace_chars | ||||
* | | Merge GH #1245 Restructure Barrier/Semaphore to avoid signed overflow warnings | Jack Lloyd | 2017-10-12 | 2 | -11/+9 |
|\ \ | |/ |/| | |||||
| * | #1220 - fixed fixes of integer overflow | Hubert Bugaj | 2017-10-10 | 2 | -7/+3 |
| | | |||||
| * | #1220 - fixed signed overflow warnings | Hubert Bugaj | 2017-10-09 | 2 | -10/+12 |
| | | |||||
* | | Merge GH #1248 Unroll SM3 compression loop | Jack Lloyd | 2017-10-11 | 1 | -56/+94 |
|\ \ | |||||
| * | | Unroll SM3 compression function | Jack Lloyd | 2017-10-10 | 1 | -56/+94 |
| | | | |||||
* | | | Merge GH #1249 Add Eclipse config | Jack Lloyd | 2017-10-11 | 1 | -0/+167 |
|\ \ \ | |||||
| * | | | Add Eclipse code formatting template [ci skip] | René Korthaus | 2017-10-11 | 1 | -0/+167 |
| | | | | |||||
* | | | | Avoid <thread> | Jack Lloyd | 2017-10-11 | 1 | -2/+6 |
| | | | | | | | | | | | | | | | | Not needed here | ||||
* | | | | Helpful comment | Jack Lloyd | 2017-10-11 | 1 | -1/+2 |
| | | | | |||||
* | | | | Update test for new error return | Jack Lloyd | 2017-10-11 | 1 | -1/+1 |
| | | | | |||||
* | | | | Remove SSE2 bswap_4 | Jack Lloyd | 2017-10-11 | 1 | -24/+0 |
| | | | | | | | | | | | | | | | | | | | | It was disabled anyway (bad macro check) and with recent GCC turned out to be slower than just using bswap. | ||||
* | | | | Optimize CFB mode | Jack Lloyd | 2017-10-11 | 2 | -39/+97 |
| | | | | | | | | | | | | | | | | Still slower but notably faster at least with AES-NI | ||||
* | | | | Add missing header | Jack Lloyd | 2017-10-11 | 1 | -0/+1 |
| | | | | | | | | | | | | | | | | Error under filesystem-free builds | ||||
* | | | | Deprecate anon DH/ECDH TLS ciphersuites | Jack Lloyd | 2017-10-11 | 1 | -0/+2 |
| | | | | |||||
* | | | | Simplify ffi call overhead | Jack Lloyd | 2017-10-11 | 5 | -45/+22 |
|/ / / | | | | | | | | | | Notable reductions in code size, stack size and function call overhead. | ||||
* | | | getenv is in standard C++ | Jack Lloyd | 2017-10-09 | 1 | -1/+1 |
| | | | |||||
* | | | Merge GH #1246 OpenBSD/clang build fix | Jack Lloyd | 2017-10-09 | 1 | -0/+2 |
|\ \ \ | |_|/ |/| | | |||||
| * | | Include cstdlib to make os_utils compile with clang. | Alexander Bluhm | 2017-10-09 | 1 | -0/+2 |
|/ / | |||||
* | | Merge GH #1244 Avoid deprecation warnings inside the library resolves #1243 | Jack Lloyd | 2017-10-09 | 3 | -7/+32 |
|\ \ | |||||
| * | | Add comments explaining why its ok to rely on deprecated features here. | Jack Lloyd | 2017-10-09 | 2 | -0/+8 |
| | | | | | | | | | | | | [ci skip] | ||||
| * | | Add a special Compat_Callbacks constructor to silence deprecation warnings. | Jack Lloyd | 2017-10-09 | 3 | -7/+24 |
| | | | | | | | | | | | | | | | | | | That way we avoid the warning internally even in amalgamation mode. GH #1243 | ||||
* | | | Merge GH #1241 Add ability to disable SSE 4 | Jack Lloyd | 2017-10-08 | 1 | -1/+1 |
|\ \ \ | |/ / |/| | | |||||
| * | | Make it possible to disable SSE4.1 and SSE4.2 | Simon Warta | 2017-10-08 | 1 | -1/+1 |
|/ / | |||||
* | | Forward declare BigInt in mp_core.h | Jack Lloyd | 2017-10-06 | 2 | -1/+3 |
| | | | | | | | | Only needed in one source file here. | ||||
* | | Remove needless variable | Jack Lloyd | 2017-10-06 | 1 | -2/+0 |
| | | |||||
* | | Address some bool/int conversion warnings from Sonar | Jack Lloyd | 2017-10-06 | 4 | -5/+12 |
| | | | | | | | | Nothing major but probably good to clean these up. | ||||
* | | Address various GCC warnings | Jack Lloyd | 2017-10-06 | 8 | -24/+26 |
| | | | | | | | | | | Things like -Wconversion and -Wuseless-cast that are noisy and not on by default. | ||||
* | | Add mod_inverse cmdlet | Jack Lloyd | 2017-10-06 | 1 | -0/+16 |
| | | | | | | | | I needed it ;) | ||||
* | | Restart state in Text_Based_Test after test is over | Jack Lloyd | 2017-10-06 | 1 | -0/+2 |
| | | | | | | | | This allows --test-runs= to work as expected | ||||
* | | Update news to mention RIPEMD-160 OID | Jack Lloyd | 2017-10-06 | 1 | -0/+2 |
| | | |||||
* | | Correct the SHA-3 PKCSv1.5 IDs | Jack Lloyd | 2017-10-05 | 5 | -5/+112 |
| | | | | | | | | | | | | | | Thanks to @noloader for pointing me at draft-jivsov-openpgp-sha3-01 which has the correct values. Adds a test so this can't happen again. | ||||
* | | Mark some functions of MDx_HashFunction final | Jack Lloyd | 2017-10-05 | 1 | -3/+3 |
| | | | | | | | | | | The class itself can't be final but we can final the overrides from HashFunction, which helps the compiler devirtualize. | ||||
* | | Add missing `override` | Jack Lloyd | 2017-10-05 | 1 | -1/+1 |
| | | | | | | | | | | Redundant with `final` but GCC -Wsuggest-override complains. (This is already a bug filed for this in GCC upstream.) |