Botan
1.10.16
|
#include <if_algo.h>
Public Member Functions | |
virtual std::string | algo_name () const =0 |
AlgorithmIdentifier | algorithm_identifier () const |
bool | check_key (RandomNumberGenerator &rng, bool) const |
const BigInt & | get_c () const |
const BigInt & | get_d () const |
const BigInt & | get_d1 () const |
const BigInt & | get_d2 () const |
const BigInt & | get_e () const |
const BigInt & | get_n () const |
virtual OID | get_oid () const |
const BigInt & | get_p () const |
const BigInt & | get_q () const |
IF_Scheme_PrivateKey (RandomNumberGenerator &rng, const BigInt &prime1, const BigInt &prime2, const BigInt &exp, const BigInt &d_exp, const BigInt &mod) | |
IF_Scheme_PrivateKey (RandomNumberGenerator &rng, const AlgorithmIdentifier &alg_id, const MemoryRegion< byte > &key_bits) | |
size_t | max_input_bits () const |
virtual size_t | message_part_size () const |
virtual size_t | message_parts () const |
virtual AlgorithmIdentifier | pkcs8_algorithm_identifier () const |
MemoryVector< byte > | pkcs8_private_key () const |
MemoryVector< byte > | x509_subject_public_key () const |
Protected Member Functions | |
void | gen_check (RandomNumberGenerator &rng) const |
IF_Scheme_PrivateKey () | |
virtual void | load_check (RandomNumberGenerator &rng) const |
void | load_check (RandomNumberGenerator &rng) const |
Protected Attributes | |
BigInt | c |
BigInt | d |
BigInt | d1 |
BigInt | d2 |
BigInt | e |
BigInt | n |
BigInt | p |
BigInt | q |
This class represents public keys of integer factorization based (IF) public key schemes.
Botan::IF_Scheme_PrivateKey::IF_Scheme_PrivateKey | ( | RandomNumberGenerator & | rng, |
const BigInt & | prime1, | ||
const BigInt & | prime2, | ||
const BigInt & | exp, | ||
const BigInt & | d_exp, | ||
const BigInt & | mod | ||
) |
Definition at line 89 of file if_algo.cpp.
Botan::IF_Scheme_PrivateKey::IF_Scheme_PrivateKey | ( | RandomNumberGenerator & | rng, |
const AlgorithmIdentifier & | alg_id, | ||
const MemoryRegion< byte > & | key_bits | ||
) |
Definition at line 69 of file if_algo.cpp.
|
inlineprotected |
|
pure virtualinherited |
Get the name of the underlying public key scheme.
Implemented in Botan::ECDSA_PublicKey, Botan::ECDH_PublicKey, Botan::ElGamal_PublicKey, Botan::DH_PublicKey, Botan::DSA_PublicKey, Botan::NR_PublicKey, Botan::RSA_PublicKey, and Botan::RW_PublicKey.
Referenced by Botan::EAC_Signed_Object::check_signature(), Botan::X509_Object::check_signature(), Botan::X509::find_constraints(), Botan::Public_Key::get_oid(), Botan::PK_Decryptor_EME::PK_Decryptor_EME(), Botan::PK_Encryptor_EME::PK_Encryptor_EME(), Botan::PK_Key_Agreement::PK_Key_Agreement(), Botan::PK_Signer::PK_Signer(), Botan::PK_Verifier::PK_Verifier(), Botan::CMS_Encoder::sign(), and Botan::Server_Key_Exchange::verify().
|
virtualinherited |
Implements Botan::Public_Key.
Definition at line 15 of file if_algo.cpp.
References Botan::Public_Key::get_oid(), and Botan::AlgorithmIdentifier::USE_NULL_PARAM.
|
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::IF_Scheme_PublicKey.
Reimplemented in Botan::RW_PrivateKey, and Botan::RSA_PrivateKey.
Definition at line 121 of file if_algo.cpp.
|
protectedinherited |
Self-test after generating a key
rng | a random number generator |
Definition at line 49 of file pk_keys.cpp.
|
inline |
|
inline |
|
inline |
|
inline |
|
inlineinherited |
|
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(), and Botan::EC_PublicKey::algorithm_identifier().
|
inline |
|
inline |
|
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.
|
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.
|
inlinevirtualinherited |
Get the maximum message size in bits supported by this public key.
Implements Botan::Public_Key.
Definition at line 46 of file if_algo.h.
|
inlinevirtualinherited |
Find out the message part size supported by this scheme/key.
Reimplemented in Botan::ECDSA_PublicKey, Botan::NR_PublicKey, and Botan::DSA_PublicKey.
|
inlinevirtualinherited |
Find out the number of message parts supported by this scheme.
Reimplemented in Botan::ECDSA_PublicKey, Botan::NR_PublicKey, and Botan::DSA_PublicKey.
Definition at line 50 of file pk_keys.h.
Referenced by Botan::EAC_Signed_Object::check_signature(), Botan::X509_Object::check_signature(), and Botan::X509_Store::validate_cert().
|
inlinevirtualinherited |
Definition at line 98 of file pk_keys.h.
Referenced by Botan::PKCS8::BER_encode().
|
virtual |
Implements Botan::Private_Key.
Definition at line 52 of file if_algo.cpp.
References Botan::IF_Scheme_PublicKey::e, Botan::DER_Encoder::encode(), Botan::DER_Encoder::end_cons(), Botan::DER_Encoder::get_contents(), Botan::IF_Scheme_PublicKey::n, Botan::SEQUENCE, and Botan::DER_Encoder::start_cons().
|
virtualinherited |
Implements Botan::Public_Key.
Definition at line 21 of file if_algo.cpp.
References Botan::IF_Scheme_PublicKey::e, Botan::DER_Encoder::encode(), Botan::DER_Encoder::end_cons(), Botan::DER_Encoder::get_contents(), Botan::IF_Scheme_PublicKey::n, Botan::SEQUENCE, and Botan::DER_Encoder::start_cons().
|
protectedinherited |
Definition at line 51 of file if_algo.h.
Referenced by Botan::IF_Scheme_PublicKey::check_key(), Botan::IF_Scheme_PublicKey::IF_Scheme_PublicKey(), pkcs8_private_key(), and Botan::IF_Scheme_PublicKey::x509_subject_public_key().
|
protectedinherited |
Definition at line 51 of file if_algo.h.
Referenced by Botan::IF_Scheme_PublicKey::check_key(), Botan::IF_Scheme_PublicKey::IF_Scheme_PublicKey(), pkcs8_private_key(), and Botan::IF_Scheme_PublicKey::x509_subject_public_key().