Botan
1.10.9
|
#include <gost_3410.h>
Public Member Functions | |
std::string | algo_name () const |
AlgorithmIdentifier | algorithm_identifier () const |
bool | check_key (RandomNumberGenerator &rng, bool strong) const |
MemoryVector< byte > | DER_domain () const |
const EC_Group & | domain () const |
EC_Group_Encoding | domain_format () const |
virtual OID | get_oid () const |
GOST_3410_PublicKey (const EC_Group &dom_par, const PointGFp &public_point) | |
GOST_3410_PublicKey (const AlgorithmIdentifier &alg_id, const MemoryRegion< byte > &key_bits) | |
size_t | max_input_bits () const |
size_t | message_part_size () const |
size_t | message_parts () const |
const PointGFp & | public_point () const |
void | set_parameter_encoding (EC_Group_Encoding enc) |
MemoryVector< byte > | x509_subject_public_key () const |
Protected Member Functions | |
GOST_3410_PublicKey () | |
virtual void | load_check (RandomNumberGenerator &rng) const |
Protected Attributes | |
EC_Group_Encoding | domain_encoding |
EC_Group | domain_params |
PointGFp | public_key |
GOST-34.10 Public Key
Definition at line 21 of file gost_3410.h.
|
inline |
Construct a public key from a given public point.
dom_par | the domain parameters associated with this key |
public_point | the public point defining this key |
Definition at line 30 of file gost_3410.h.
Botan::GOST_3410_PublicKey::GOST_3410_PublicKey | ( | const AlgorithmIdentifier & | alg_id, |
const MemoryRegion< byte > & | key_bits | ||
) |
Construct from X.509 algorithm id and subject public key bits
Definition at line 51 of file gost_3410.cpp.
References BOTAN_ASSERT, Botan::BER_Decoder::decode(), Botan::EC_PublicKey::domain(), Botan::EC_PublicKey::domain_params, Botan::OCTET_STRING, Botan::PointGFp::on_the_curve(), Botan::AlgorithmIdentifier::parameters, Botan::EC_PublicKey::public_key, Botan::SEQUENCE, Botan::MemoryRegion< T >::size(), Botan::BER_Decoder::start_cons(), and std::swap().
|
inlineprotected |
Definition at line 64 of file gost_3410.h.
|
inlinevirtual |
Get this keys algorithm name.
Implements Botan::Public_Key.
Definition at line 44 of file gost_3410.h.
|
virtual |
Reimplemented from Botan::EC_PublicKey.
Definition at line 40 of file gost_3410.cpp.
References Botan::EC_PublicKey::domain(), Botan::DER_Encoder::encode(), Botan::DER_Encoder::end_cons(), Botan::DER_Encoder::get_contents(), Botan::Public_Key::get_oid(), Botan::SEQUENCE, and Botan::DER_Encoder::start_cons().
|
virtualinherited |
Test the key values for consistency.
rng | rng to use |
strong | whether to perform strong and lengthy version of the test |
Implements Botan::Public_Key.
Reimplemented in Botan::ECDSA_PrivateKey.
Definition at line 39 of file ecc_key.cpp.
References Botan::PointGFp::on_the_curve(), and Botan::EC_PublicKey::public_point().
|
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.
Referenced by Botan::EC_PublicKey::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.
Referenced by algorithm_identifier(), Botan::EC_PrivateKey::EC_PrivateKey(), Botan::EC_PublicKey::EC_PublicKey(), Botan::ECDH_KA_Operation::ECDH_KA_Operation(), and GOST_3410_PublicKey().
|
inlineinherited |
|
virtualinherited |
Get the OID of the underlying public key scheme.
Definition at line 17 of file pk_keys.cpp.
References Botan::Public_Key::algo_name(), and Botan::OIDS::lookup().
Referenced by Botan::DL_Scheme_PublicKey::algorithm_identifier(), Botan::IF_Scheme_PublicKey::algorithm_identifier(), algorithm_identifier(), and Botan::EC_PublicKey::algorithm_identifier().
|
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 Botan::Public_Key::algo_name(), and Botan::Public_Key::check_key().
|
inlinevirtual |
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 56 of file gost_3410.h.
|
inlinevirtual |
Find out the message part size supported by this scheme/key.
Reimplemented from Botan::Public_Key.
Definition at line 60 of file gost_3410.h.
|
inlinevirtual |
Find out the number of message parts supported by this scheme.
Reimplemented from Botan::Public_Key.
Definition at line 58 of file gost_3410.h.
|
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.
Referenced by Botan::EC_PublicKey::check_key(), Botan::ECDSA_PrivateKey::check_key(), Botan::EC_PublicKey::EC_PublicKey(), x509_subject_public_key(), and Botan::EC_PublicKey::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 Botan::EC_PublicKey::domain_encoding, Botan::EC_PublicKey::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().
|
virtual |
Reimplemented from Botan::EC_PublicKey.
Definition at line 17 of file gost_3410.cpp.
References Botan::BigInt::binary_encode(), Botan::BigInt::bytes(), Botan::DER_Encoder::encode(), Botan::PointGFp::get_affine_x(), Botan::PointGFp::get_affine_y(), Botan::DER_Encoder::get_contents(), Botan::OCTET_STRING, Botan::EC_PublicKey::public_point(), and std::swap().
|
protectedinherited |
Definition at line 86 of file ecc_key.h.
Referenced by Botan::EC_PrivateKey::EC_PrivateKey(), Botan::EC_PublicKey::EC_PublicKey(), and Botan::EC_PublicKey::set_parameter_encoding().
|
protectedinherited |
Definition at line 84 of file ecc_key.h.
Referenced by Botan::EC_PrivateKey::EC_PrivateKey(), Botan::EC_PublicKey::EC_PublicKey(), GOST_3410_PublicKey(), and Botan::EC_PublicKey::set_parameter_encoding().
|
protectedinherited |
Definition at line 85 of file ecc_key.h.
Referenced by Botan::EC_PrivateKey::EC_PrivateKey(), Botan::EC_PublicKey::EC_PublicKey(), and GOST_3410_PublicKey().