Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Add optimized inversion for P-256 | Jack Lloyd | 2018-04-18 | 1 | -0/+75 |
| | | | | | | Could be slightly more clever here but this is pretty decent. GH #1479 | ||||
* | Add early exit for P-192 reduce | Jack Lloyd | 2018-04-18 | 1 | -0/+5 |
| | |||||
* | Remove now unused function | Jack Lloyd | 2018-04-18 | 1 | -19/+0 |
| | |||||
* | Optimize P-224 reduction | Jack Lloyd | 2018-04-18 | 1 | -47/+77 |
| | | | | 5-7% faster ECDSA | ||||
* | Further NIST reduction tweaks | Jack Lloyd | 2018-04-18 | 1 | -40/+44 |
| | |||||
* | P-192 optimizations | Jack Lloyd | 2018-04-18 | 1 | -34/+64 |
| | | | | 5-7% faster for ECDSA and ECDH | ||||
* | Micro optimizations in P-256 and P-384 reductions | Jack Lloyd | 2018-04-18 | 1 | -30/+73 |
| | | | | Improves ECDSA and ECDH by 1% or so. | ||||
* | Minor optimizations for P-256 and P-384 | Jack Lloyd | 2018-04-17 | 1 | -161/+65 |
| | | | | Improves ECDSA by ~5% on Skylake | ||||
* | Add EC_Group::inverse_mod_order | Jack Lloyd | 2018-04-17 | 6 | -6/+21 |
| | | | | | | | Centralizing this logic allows curve specific implementations such as using a precomputed ladder for exponentiating by p - 2 GH #1479 | ||||
* | Precompute for multiexponentation when verifying ECC signatures | Jack Lloyd | 2018-04-17 | 4 | -15/+19 |
| | | | | | ECDSA already did this. Improves repeated ECGDSA, ECKCDSA, SM2, and GOST signature verification by 10-15% | ||||
* | Avoid potential side channel when generating RSA primes | Jack Lloyd | 2018-04-17 | 4 | -43/+179 |
| | | | | | | | | | | Add a new function dedicated to generating RSA primes. Don't test for p.bits() > bits until the very end - rarely happens, and speeds up prime generation quite noticably. Add Miller-Rabin error probabilities for 1/2**128, which again speeds up RSA keygen and DL param gen quite a bit. | ||||
* | Remove debug assignment [ci skip] | Jack Lloyd | 2018-04-16 | 1 | -1/+0 |
| | |||||
* | Truncate new SKIDs to 192 bits | Jack Lloyd | 2018-04-16 | 2 | -6/+9 |
| | | | | | More than long enough, and saves quite a bit of space especially for SHA-512 certificates. | ||||
* | Add vars to split the two Karatsuba sub-workspaces | Jack Lloyd | 2018-04-16 | 1 | -14/+20 |
| | |||||
* | Merge GH #1540 Progress towards const-time RSA | Jack Lloyd | 2018-04-16 | 10 | -47/+112 |
|\ | |||||
| * | Add const time annotations | Jack Lloyd | 2018-04-15 | 6 | -7/+43 |
| | | |||||
| * | Simplify Karatsuba code | Jack Lloyd | 2018-04-15 | 3 | -39/+43 |
| | | | | | | | | And set us up for eventually having this be completely const time. | ||||
| * | Use GCC builtins for clz operation | Jack Lloyd | 2018-04-15 | 1 | -1/+26 |
| | | |||||
* | | Use bad_record_mac instead of decode_error for short TLS packets | Jack Lloyd | 2018-04-16 | 1 | -1/+8 |
|/ | | | | | Decode error seems more appropriate but it confuses some automated tools including older versions of TLS-Attacker. | ||||
* | Add an explicit test mode build | Jack Lloyd | 2018-04-14 | 1 | -2/+2 |
| | | | | GH #1537 | ||||
* | Merge GH #1538 Minor ECC optimizations | Jack Lloyd | 2018-04-14 | 7 | -21/+105 |
|\ | |||||
| * | Various minor ECC optimizations | Jack Lloyd | 2018-04-13 | 7 | -21/+105 |
| | | | | | | | | | | | | | | | | | | Add a way of getting Montgomery representation of one. Reduce use of temporaries in variable point mult. Prefer doubling over addition in precomputing fixed window. Add Brainpool ECDH tests Improves ECDH by 2-3% across the board | ||||
* | | Merge GH #1531 Improve XMSS test coverage | Jack Lloyd | 2018-04-14 | 3 | -12/+8 |
|\ \ | |/ |/| | |||||
| * | Removes unused overload in XMSS_Hash | Matthias Gierlings | 2018-04-12 | 2 | -12/+0 |
| | | | | | | | | - Removes overload `XMSS_Hash::h_msg_update(secure_vector<uint8_t>&)` | ||||
| * | Codecov - cover MT code in XMSS_PrivateKey | Matthias Gierlings | 2018-04-12 | 1 | -0/+8 |
| | | | | | | | | | | | | Codecov does not reach all parts of the `XMSS_PrivateKey` code because too few cores are detected during the CI run. To cover the missed codepaths always return a large enough core count if botan is compiled with coverage. | ||||
* | | Merge GH #1537 Add missing XMSS signature length check | Jack Lloyd | 2018-04-12 | 2 | -22/+21 |
|\ \ | |||||
| * | | Adds missing XMSS signature length check. | Matthias Gierlings | 2018-04-12 | 2 | -22/+21 |
| | | | | | | | | | | | | | | | | | | | | | | | | - Fixes out of bounds read in `XMSS_Signature` constructor when the raw signature data supplied as arguments is shorter than the signature size defined by the XMSS parameter set encoded in the `XMSS_PublicKey`. - Fixes valid signatures with arbitrary appended data to be verified as correct signature. | ||||
* | | | In XMSS_Tools::bench_threads only call hardware_concurrency once | Jack Lloyd | 2018-04-12 | 1 | -7/+9 |
| | | | | | | | | | | | | | | | Getting this value will typically require either a system call or a cpuid call, both of which are fairly expensive. | ||||
* | | | Allow year up to 2200 in ASN1 time objects | Jack Lloyd | 2018-04-12 | 2 | -4/+19 |
| |/ |/| | | | | | | | | | Also tighten up checking of days Fixes GH #1536 | ||||
* | | Optimize EC point doubling for a == 0 and a == -3 | Jack Lloyd | 2018-04-11 | 3 | -9/+61 |
|/ | |||||
* | Add EC_Group::a_is_zero | Jack Lloyd | 2018-04-11 | 2 | -1/+14 |
| | |||||
* | Add missing errno.h include to entropy/dev_random | fwsGonzo | 2018-04-11 | 1 | -0/+1 |
| | |||||
* | Add DL_Group::exponent_bits | Jack Lloyd | 2018-04-09 | 4 | -7/+25 |
| | | | | Just a useful helper | ||||
* | Add a Montgomery exponentiation that takes variable time | Jack Lloyd | 2018-04-09 | 3 | -7/+52 |
| | | | | | | | | In the case of RSA encryption/verification the public exponent is... public. So we don't need to carefully guard against side channels that leak the exponent. Improves RSA verification performance by 50% or more. | ||||
* | Fix bug that broke session decryption (and thus resumption) | Jack Lloyd | 2018-04-09 | 1 | -1/+1 |
| | | | | Introduced in 3657639ab. Add a test that would have caught this | ||||
* | Fix off by one when decoding TLS-CBC ciphertexts | Jack Lloyd | 2018-04-09 | 3 | -27/+30 |
| | |||||
* | Fix interop bug in TLS server | Jack Lloyd | 2018-04-08 | 3 | -0/+33 |
| | | | | | The connection would fail if the client advertised any signature algorithm we did not support (eg RSA/SHA-224) | ||||
* | Square is always positive | Jack Lloyd | 2018-04-08 | 1 | -0/+1 |
| | |||||
* | Add BigInt::square plus a speed test for BigInt multiply | Jack Lloyd | 2018-04-08 | 3 | -8/+25 |
| | |||||
* | Convert comba script to Python3 | Jack Lloyd | 2018-04-08 | 1 | -1/+1 |
| | |||||
* | Work around unique_ptr conversion bug in older GCC | Jack Lloyd | 2018-04-07 | 1 | -1/+1 |
| | |||||
* | Add RAII versions of get_cipher_mode and get_aead | Jack Lloyd | 2018-04-07 | 13 | -76/+143 |
| | | | | See also #1526 | ||||
* | Add defensive assert to buffer_insert | Jack Lloyd | 2018-04-07 | 1 | -0/+2 |
| | | | | | Otherwise an integer overflow bug elsewhere could turn into a heap overflow. | ||||
* | Add pk_workfactor CLI and refactor workfactor estimator functions | Jack Lloyd | 2018-04-05 | 1 | -12/+19 |
| | | | | No reason to duplicate the NFS workfactor estimator twice | ||||
* | Split up asm constructs to avoid miscompilation | Jack Lloyd | 2018-04-05 | 1 | -30/+49 |
| | | | | | | | The constraints were invalid as they missed the clobber of a/d registers. This caused miscompilation when using GCC -fno-plt option. GH #1524 | ||||
* | Merge GH #1523 RSA optimizations and exponent blinding | Jack Lloyd | 2018-04-04 | 2 | -25/+53 |
|\ | |||||
| * | Work around a bug in MSVC lambda handling | Jack Lloyd | 2018-04-04 | 1 | -1/+1 |
| | | |||||
| * | Add RSA exponent blinding | Jack Lloyd | 2018-04-04 | 2 | -5/+14 |
| | | | | | | | | Additional paranoia never hurt. | ||||
| * | Tweak how RSA private operations are performed | Jack Lloyd | 2018-04-04 | 1 | -25/+44 |
| | | | | | | | | Improves perf by about 15% | ||||
* | | Add DL_Group::monty_params_p to get Montgomery params | Jack Lloyd | 2018-04-04 | 2 | -2/+13 |
|/ |