|
Botan 1.10.17
|
#include <ecdsa.h>
Public Member Functions | |
| std::string | algo_name () const |
| AlgorithmIdentifier | algorithm_identifier () const |
| bool | check_key (RandomNumberGenerator &rng, bool) const |
| MemoryVector< byte > | DER_domain () const |
| const EC_Group & | domain () const |
| EC_Group_Encoding | domain_format () const |
| ECDSA_PrivateKey (const AlgorithmIdentifier &alg_id, const MemoryRegion< byte > &key_bits) | |
| ECDSA_PrivateKey (RandomNumberGenerator &rng, const EC_Group &domain, const BigInt &x=0) | |
| virtual OID | get_oid () const |
| size_t | max_input_bits () const |
| size_t | message_part_size () const |
| size_t | message_parts () const |
| virtual AlgorithmIdentifier | pkcs8_algorithm_identifier () const |
| MemoryVector< byte > | pkcs8_private_key () const |
| const BigInt & | private_value () const |
| const PointGFp & | public_point () const |
| void | set_parameter_encoding (EC_Group_Encoding enc) |
| MemoryVector< byte > | x509_subject_public_key () const |
Protected Member Functions | |
| void | gen_check (RandomNumberGenerator &rng) const |
| void | load_check (RandomNumberGenerator &rng) const |
| virtual void | load_check (RandomNumberGenerator &rng) const |
Protected Attributes | |
| EC_Group_Encoding | domain_encoding |
| EC_Group | domain_params |
| BigInt | private_key |
| PointGFp | public_key |
|
inline |
Load a private key
| alg_id | the X.509 algorithm identifier |
| key_bits | PKCS #8 structure |
Definition at line 74 of file ecdsa.h.
References Botan::EC_PrivateKey::EC_PrivateKey().
Referenced by Botan::make_private_key().
|
inline |
Generate a new private key
| rng | a random number generator |
| domain | parameters to used for this key |
| x | the private key (if zero, generate a ney random key) |
Definition at line 84 of file ecdsa.h.
References Botan::EC_PublicKey::domain(), and Botan::EC_PrivateKey::EC_PrivateKey().
|
inlinevirtualinherited |
Get this keys algorithm name.
Implements Botan::Public_Key.
Definition at line 43 of file ecdsa.h.
Referenced by Botan::CVC_EAC::create_cvc_req(), and Botan::CVC_EAC::create_self_signed_cert().
|
virtualinherited |
Implements Botan::Public_Key.
Definition at line 45 of file ecc_key.cpp.
References Botan::AlgorithmIdentifier::AlgorithmIdentifier(), DER_domain(), and Botan::Public_Key::get_oid().
|
virtual |
Test the key values for consistency.
| rng | rng to use |
| strong | whether to perform strong and lengthy version of the test |
Reimplemented from Botan::EC_PublicKey.
Definition at line 15 of file ecdsa.cpp.
References Botan::EC_PublicKey::public_point(), and Botan::KeyPair::signature_consistency_check().
|
inlineinherited |
Return the DER encoding of this keys domain in whatever format is preset for this particular key
Definition at line 72 of file ecc_key.h.
References domain(), and domain_format().
Referenced by algorithm_identifier().
|
inlineinherited |
Get the domain parameters of this key.
| Invalid_State | is thrown if the domain parameters of this point are not set |
Definition at line 60 of file ecc_key.h.
References domain_params.
Referenced by DER_domain(), Botan::EC_PrivateKey::EC_PrivateKey(), Botan::EC_PrivateKey::EC_PrivateKey(), EC_PublicKey(), EC_PublicKey(), Botan::ECDH_KA_Operation::ECDH_KA_Operation(), Botan::ECDH_PrivateKey::ECDH_PrivateKey(), Botan::ECDSA_PrivateKey::ECDSA_PrivateKey(), Botan::ECDH_PublicKey::max_input_bits(), Botan::ECDSA_PublicKey::max_input_bits(), and Botan::ECDSA_PublicKey::message_part_size().
|
inlineinherited |
Get the domain parameter encoding to be used when encoding this key.
Definition at line 79 of file ecc_key.h.
References domain_encoding.
Referenced by DER_domain().
|
protectedinherited |
Self-test after generating a key
| rng | a random number generator |
Definition at line 49 of file pk_keys.cpp.
References Botan::Public_Key::algo_name(), Botan::Public_Key::check_key(), and Botan::Self_Test_Failure::Self_Test_Failure().
Referenced by Botan::DH_PrivateKey::DH_PrivateKey(), Botan::DSA_PrivateKey::DSA_PrivateKey(), Botan::ElGamal_PrivateKey::ElGamal_PrivateKey(), Botan::NR_PrivateKey::NR_PrivateKey(), Botan::RSA_PrivateKey::RSA_PrivateKey(), and Botan::RW_PrivateKey::RW_PrivateKey().
|
virtualinherited |
Get the OID of the underlying public key scheme.
Definition at line 17 of file pk_keys.cpp.
References algo_name(), Botan::OIDS::lookup(), and Botan::Lookup_Error::Lookup_Error().
Referenced by algo_name(), Botan::DL_Scheme_PublicKey::algorithm_identifier(), Botan::EC_PublicKey::algorithm_identifier(), and Botan::IF_Scheme_PublicKey::algorithm_identifier().
|
protectedvirtualinherited |
Self-test after loading a key
| rng | a random number generator |
Reimplemented from Botan::Public_Key.
Definition at line 40 of file pk_keys.cpp.
References Botan::Public_Key::algo_name(), and Botan::Public_Key::check_key().
Referenced by Botan::DH_PrivateKey::DH_PrivateKey(), Botan::DH_PrivateKey::DH_PrivateKey(), Botan::DSA_PrivateKey::DSA_PrivateKey(), Botan::DSA_PrivateKey::DSA_PrivateKey(), Botan::ElGamal_PrivateKey::ElGamal_PrivateKey(), Botan::ElGamal_PrivateKey::ElGamal_PrivateKey(), Botan::IF_Scheme_PrivateKey::IF_Scheme_PrivateKey(), Botan::IF_Scheme_PrivateKey::IF_Scheme_PrivateKey(), Botan::NR_PrivateKey::NR_PrivateKey(), and Botan::NR_PrivateKey::NR_PrivateKey().
|
protectedvirtualinherited |
Self-test after loading a key
| rng | a random number generator |
Reimplemented in Botan::Private_Key.
Definition at line 31 of file pk_keys.cpp.
References algo_name(), and check_key().
|
inlinevirtualinherited |
Get the maximum number of bits allowed to be fed to this key. This is the bitlength of the order of the base point.
Implements Botan::Public_Key.
Definition at line 50 of file ecdsa.h.
References Botan::EC_PublicKey::domain().
|
inlinevirtualinherited |
Find out the message part size supported by this scheme/key.
Reimplemented from Botan::Public_Key.
Definition at line 54 of file ecdsa.h.
References Botan::EC_PublicKey::domain().
|
inlinevirtualinherited |
Find out the number of message parts supported by this scheme.
Reimplemented from Botan::Public_Key.
Definition at line 52 of file ecdsa.h.
|
inlinevirtualinherited |
Definition at line 98 of file pk_keys.h.
References Botan::Public_Key::algorithm_identifier().
Referenced by Botan::PKCS8::BER_encode().
|
virtualinherited |
Implements Botan::Private_Key.
Definition at line 99 of file ecc_key.cpp.
References Botan::BigInt::bytes(), Botan::DER_Encoder::encode(), Botan::BigInt::encode_1363(), Botan::DER_Encoder::end_cons(), Botan::DER_Encoder::get_contents(), Botan::OCTET_STRING, private_key, Botan::SEQUENCE, and Botan::DER_Encoder::start_cons().
|
inherited |
Get the private key value of this key object.
Definition at line 70 of file ecc_key.cpp.
References Botan::Invalid_State::Invalid_State(), and private_key.
Referenced by Botan::ECDH_KA_Operation::ECDH_KA_Operation().
|
inlineinherited |
Get the public point of this key.
| Invalid_State | is thrown if the domain parameters of this point are not set |
Definition at line 45 of file ecc_key.h.
References public_key.
Referenced by check_key(), Botan::ECDSA_PrivateKey::check_key(), EC_PublicKey(), Botan::ECDH_PublicKey::ECDH_PublicKey(), Botan::ECDSA_PublicKey::ECDSA_PublicKey(), Botan::ECDH_PublicKey::public_value(), and x509_subject_public_key().
|
inherited |
Set the domain parameter encoding to be used when encoding this key.
| enc | the encoding to use |
Definition at line 55 of file ecc_key.cpp.
References domain_encoding, domain_params, Botan::EC_DOMPAR_ENC_EXPLICIT, Botan::EC_DOMPAR_ENC_IMPLICITCA, Botan::EC_DOMPAR_ENC_OID, and Botan::EC_Group::get_oid().
Referenced by Botan::DE_EAC::create_cvc_req(), Botan::DE_EAC::link_cvca(), and Botan::DE_EAC::sign_request().
|
virtualinherited |
Implements Botan::Public_Key.
Definition at line 50 of file ecc_key.cpp.
References Botan::PointGFp::COMPRESSED, Botan::EC2OSP(), and public_point().
|
protectedinherited |
Definition at line 86 of file ecc_key.h.
Referenced by domain_format(), Botan::EC_PrivateKey::EC_PrivateKey(), Botan::EC_PrivateKey::EC_PrivateKey(), EC_PublicKey(), EC_PublicKey(), EC_PublicKey(), and set_parameter_encoding().
|
protectedinherited |
Definition at line 84 of file ecc_key.h.
Referenced by domain(), Botan::EC_PrivateKey::EC_PrivateKey(), Botan::EC_PrivateKey::EC_PrivateKey(), EC_PublicKey(), EC_PublicKey(), and set_parameter_encoding().
|
protectedinherited |
Definition at line 113 of file ecc_key.h.
Referenced by EC_PrivateKey(), EC_PrivateKey(), pkcs8_private_key(), and private_value().
|
protectedinherited |
Definition at line 85 of file ecc_key.h.
Referenced by Botan::EC_PrivateKey::EC_PrivateKey(), Botan::EC_PrivateKey::EC_PrivateKey(), EC_PublicKey(), EC_PublicKey(), and public_point().