aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib
Commit message (Collapse)AuthorAgeFilesLines
* Use GetProcessWorkingSetSize instead of GetProcessWorkingSetSizeExJack Lloyd2018-02-231-2/+1
| | | | | The Ex variant is not available in older Wine (including the version in Trusty) and GetProcessWorkingSetSize is sufficient.
* Add DL_Group::estimated_strengthJack Lloyd2018-02-233-4/+20
|
* Add EC_Group::verify_public_elementJack Lloyd2018-02-233-28/+33
|
* Add DL_Group functions to verify elementsJack Lloyd2018-02-233-31/+48
|
* Simplify IDEA key scheduleJack Lloyd2018-02-231-23/+28
|
* Use 2-bit wide table in PointGFp multi_exponentiateJack Lloyd2018-02-232-17/+56
| | | | ECDSA verification is 10-15% faster
* Inline NIST normalize function, use bigint_sub3Jack Lloyd2018-02-231-12/+3
|
* Minor optimizations in BigInt memory handlingJack Lloyd2018-02-232-2/+4
| | | | Makes 4-6% difference for ECDSA
* Avoid unneeded grow_to callsJack Lloyd2018-02-231-1/+2
|
* Small cleanups in NIST reduction codeJack Lloyd2018-02-231-35/+22
|
* Fix an error in BigInt operator-Jack Lloyd2018-02-231-0/+1
| | | | (x) - (-x) would result in -2x instead of the correct 2x
* In PointGFp add/double avoid creating temporariesJack Lloyd2018-02-233-40/+60
| | | | | | | We already had the temp workspace passed in but did not use it effectively... :/ Improves ECDSA sign and verify by 5-15%
* Merge GH #1457 Use faster algorithm for ECC multiplicationJack Lloyd2018-02-2214-266/+399
|\
| * Move declarations that don't need to be friends of PointGFpJack Lloyd2018-02-211-21/+20
| |
| * Small cleanupJack Lloyd2018-02-211-3/+8
| |
| * Minimize header dependenciesJack Lloyd2018-02-211-1/+2
| |
| * Expose EC_Group::a_is_minus_3Jack Lloyd2018-02-212-1/+15
| |
| * Use a table in multi_exponentiateJack Lloyd2018-02-211-13/+13
| |
| * Remove the randomized Montgomery point mul codeJack Lloyd2018-02-212-61/+2
| |
| * Remove mutable worksspace from PointGFpJack Lloyd2018-02-213-100/+89
| | | | | | | | Was not thread safe, big problem now that we share elements in EC_Group
| * New API for blinded ECC point multiplicationJack Lloyd2018-02-2114-148/+332
| | | | | | | | No shared state
* | Fix incorrect check in DL key checkJack Lloyd2018-02-221-6/+3
| | | | | | | | get_q returns zero instead of throwing if q is not set
* | Remove unused include [ci skip]Jack Lloyd2018-02-221-1/+0
|/
* Improve exception message in DSA group generation when seed is shortJack Lloyd2018-02-201-1/+1
|
* Add some additional error checking to DL_GroupJack Lloyd2018-02-201-0/+6
|
* Fix validation of SRP groupsJack Lloyd2018-02-192-12/+24
| | | | | For whatever reason in the SRP groups g generates the group mod p rather than the subgroup of size q.
* Remove PK_Ops::Decryption_with_EME::max_raw_input_bitsJack Lloyd2018-02-193-5/+0
| | | | | Unused and not exposed to higher levels. RSA and ElGamal both check their inputs vs the system parameters (n, p) after decoding.
* Merge GH #1454 Used shared_ptr repr for DL_GroupJack Lloyd2018-02-1919-912/+845
|\
| * Small fixesJack Lloyd2018-02-197-23/+31
| |
| * Use new DL_Group functionsJack Lloyd2018-02-196-86/+93
| |
| * Add shared_ptr for DL_Group stateJack Lloyd2018-02-193-691/+510
| | | | | | | | Add precomputations for mod-p math and g^x%p calcualations.
| * Add constsJack Lloyd2018-02-191-3/+3
| |
| * Split out Montgomery exponentation stateJack Lloyd2018-02-195-112/+204
| | | | | | | | | | The existing Power_Mod classes are not thread safe so can't be used in shared contexts.
| * Minor optimizations for BigInt operator/Jack Lloyd2018-02-191-0/+6
| | | | | | | | Detect divisions by small powers of 2
| * Move allocator initializer RAII class to mem_ops.hJack Lloyd2018-02-192-5/+6
| | | | | | | | May be needed elsewhere
* | Add missing overrides [ci skip]Jack Lloyd2018-02-191-1/+1
| |
* | Merge GH #1448 Support custom curves in TLS handshakeJack Lloyd2018-02-1917-337/+273
|\ \ | |/ |/|
| * Fix server use of EC point format extensionJack Lloyd2018-02-131-1/+1
| | | | | | | | | | In the resumption case it would use that extension for any ECC ciphersuite, but is only allowed to do so if the client sent the extension.
| * Remove house curve supportJack Lloyd2018-02-134-22/+0
| |
| * Add a test of TLS handshake with custom curve (secp112r1 in this case)Jack Lloyd2018-02-131-4/+21
| |
| * Add callback for decoding TLS group paramsJack Lloyd2018-02-134-3/+20
| |
| * Remove cruftJack Lloyd2018-02-134-114/+16
| |
| * Use enums for TLS key exchange group paramsJack Lloyd2018-02-1312-224/+246
| |
* | Further simplifications in SM2 codeJack Lloyd2018-02-182-14/+14
| |
* | Add point_multiply operation to EC_GroupJack Lloyd2018-02-187-6/+19
| | | | | | | | Allows precomputations in the future.
* | Add functions to reduce integers mod the order to EC_GroupJack Lloyd2018-02-187-162/+196
| | | | | | | | | | | | This allows calculating the Barett reduction params just once, when the group is initialized, then sharing them across all operations which use that group.
* | Tighten up RSA key validity testsJack Lloyd2018-02-131-3/+7
| | | | | | | | They allowed even e, another leftover from Rabin-Williams
* | Remove handling of even e in RSA keygenJack Lloyd2018-02-131-5/+2
| | | | | | | | | | This is a holdover from Rabin-Williams support and just confusing in RSA-specific code.
* | Of course they are public member variables, not functions ...Jack Lloyd2018-02-134-4/+4
| |
* | Add BOTAN_DEPRECATED_PUBLIC_MEMBER_FUNCTIONSJack Lloyd2018-02-134-1/+4
|/ | | | | | Makes such things easier to find in the future. Also adds BOTAN_NO_DEPRECATED which causes them to be private instead.