aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/pubkey/ecdsa
Commit message (Collapse)AuthorAgeFilesLines
* Apply final annotations to the library alsoJack Lloyd2017-09-222-3/+3
| | | | | Done by a perl script which converted all classes to final, followed by selective reversion where it caused compilation failures.
* Change header guard format to BOTAN_FOO_H_Jack Lloyd2017-09-201-2/+2
| | | | | | ISO C++ reserves names with double underscores in them Closes #512
* Add API stability annotations.Jack Lloyd2017-09-191-2/+2
| | | | | Defined in build.h, all equal to BOTAN_DLL so ties into existing system for exporting symbols.
* Avoid having variable named m_emsa twice in class hierarchyJack Lloyd2017-08-291-4/+8
| | | | | | | | In fact the variable was only used if we use deterministic nonces, and just to extract the hash name. So just do that once, and only if we are not using random nonces. Flagged by Sonar
* BearSSL: Support for ECDSAPatrick Wildt2017-07-051-0/+34
| | | | | | This commit adds support for ECDSA using BearSSL as a backend. This means we can test BearSSL's ECDSA algorithms using the extensive Botan testsuite.
* Content:Tomasz Frydrych2017-04-031-1/+1
| | | | | | | | | * fixes for deprecated constructions in c++11 and later (explicit rule of 3/5 or implicit rule of 0 and other violations) * `default` specifier instead of `{}` in some places(probably all) * removal of unreachable code (for example `return` after `throw`) * removal of compilation unit only visible, but not used functions * fix for `throw()` specifier - used instead `BOTAN_NOEXCEPT` * removed not needed semicolons
* Remove "Dirty hack" for multiple defines in lex_me_harder()Simon Warta2017-04-021-1/+3
|
* Fix private key ctors API docs [ci skip]René Korthaus2017-01-271-1/+1
|
* Convert to using standard uintN_t integer typesJack Lloyd2016-12-182-9/+9
| | | | | | Renames a couple of functions for somewhat better name consistency, eg make_u32bit becomes make_uint32. The old typedefs remain for now since probably lots of application code uses them.
* Public_Key derived class ctors take an std::vector<byte>René Korthaus2016-12-111-2/+2
| | | | | | | Changes all the Public_Key derived classes ctors to take a std::vector instead of a secure_vector for the DER encoded public key bits. There is no point in transporting a public key in secure storage. (GH #768)
* Pubkey cleanupsJack Lloyd2016-11-122-14/+2
| | | | | | | | | | Add Public_Key::key_length usable for policy checking (as in TLS::Policy::check_peer_key_acceptable) Remove Public_Key::max_input_bits because it didn't make much sense for most algorithms actually. Remove message_parts and message_part_size from PK_Ops
* Remove Key_Type typedefsJack Lloyd2016-11-081-2/+0
| | | | Also part of Algo_Registry and not needed after #668
* Improve pubkey doxygen [ci skip]René Korthaus2016-10-191-2/+7
|
* OpenSSL EC: Correctly handle OpenSSL not supporting the curveJack Lloyd2016-10-091-4/+4
| | | | GH #656
* Revert PK_Verifier change (don't require RNG there).Jack Lloyd2016-10-072-16/+33
| | | | | | | Verification is deterministic and public, so really no RNG is ever needed. Change provider handling - accepts "base", "openssl", or empty, otherwise throws a Provider_Not_Found exception.
* Remove Algo_Registry usage from public key code.Jack Lloyd2016-10-072-6/+51
| | | | | | | | Instead the key types exposes operations like `create_encryption_op` which will return the relevant operation if the algorithm supports it. Changes pubkey.h interface, now RNG is passed at init time. Blinder previous created its own RNG, now it takes it from app.
* Fix leading zero bytes in DSA, ECDSA, ECGDSA and ECKCDSA signaturesRené Korthaus2016-08-171-4/+1
|
* Merge GH #504 Add ECKCDSAJack Lloyd2016-06-201-1/+2
|\
| * Add ECKCDSA signature algorithmRené Korthaus2016-06-141-1/+2
| |
* | fix test failures and seg faults when Botan is configured with ↵René Korthaus2016-06-172-1/+3
|/ | | | --module-policy bsi
* Add support probabilistic DSA & ECDSARené Korthaus2016-05-082-5/+11
| | | | | | | Adds support for probabilistic, aka the standard, DSA and ECDSA. Can be enabled by disabling the rfc6979 module. Includes test vectors from NIST CAVP. Adds rfc6979 to the list of prohibited modules in BSI policy.
* Add ECGDSARené Korthaus2016-04-191-1/+1
|
* Merge the openssl code together.Jack Lloyd2015-12-191-213/+0
| | | | | | | Having the code diffused all over the place was ugly and would not scale well to multiple alternative providers. GH #368
* Break up openssl providerJack Lloyd2015-10-191-0/+213
| | | | | | For RSA, RC4, and ECDSA put the openssl versions in the same directory as the base version. They just rely on a macro check for the openssl module to test for the desire to use OpenSSL.
* Remove unused variableJack Lloyd2015-08-281-3/+0
|
* Add power analysis countermeasures for ECC point multiplications.Jack Lloyd2015-08-211-16/+18
| | | | | | | | The plain PointGFp operator* now uses Montgomery ladder exclusively. Adds a blinded point multiply algorithm which uses exponent and point randomization, as well as a Montgomery ladder technique that takes a random walk of the possible addition chains for k.
* pubkey: Add missing overridesDaniel Seither2015-07-301-5/+6
|
* Make Botan compile when only some modules are enabledSimon Warta2015-07-031-0/+1
| | | | Fixes #146.
* Move the signature padding schemes to the PK operation classes,lloyd2015-03-231-15/+17
| | | | | | | | | as was previously done with encrypt/decrypt ops. One feature dropped on the floor here is previously PK_Signer by default did verification of signatures before releasing them as an measure against fault attacks. However in addition to being expensive this turned out to be difficult to implement with the new scheme.
* Avoid a ECC point multiplication in ECDSA signature verification bylloyd2015-03-121-14/+20
| | | | | | | distributing w into the exponents. This is at least a 50% speedup across all keysizes on my laptop. Optimization pointed out by Dr. Falko Strenzke on the mailing list.
* Convert PK operations to using Algo_Registry instead of Engine.lloyd2015-02-032-60/+67
| | | | Remove global PRNG.
* Ensure all files have copyright and license info.lloyd2015-01-102-2/+2
| | | | | Update license header line to specify the terms and refer to the file, neither of which it included before.
* Implement RFC 6979 determinstic signatures for DSA and ECDSA.lloyd2014-12-103-20/+17
| | | | | Drop the GNU MP engine. Its implementations were potentially faster in some scenarios but not well protected against side channels.
* Move lib into srclloyd2014-01-103-0/+244