8 #include <botan/internal/core_engine.h>
10 #if defined(BOTAN_HAS_RSA)
11 #include <botan/rsa.h>
14 #if defined(BOTAN_HAS_RW)
18 #if defined(BOTAN_HAS_DSA)
19 #include <botan/dsa.h>
22 #if defined(BOTAN_HAS_ECDSA)
23 #include <botan/ecdsa.h>
26 #if defined(BOTAN_HAS_ELGAMAL)
27 #include <botan/elgamal.h>
30 #if defined(BOTAN_HAS_GOST_34_10_2001)
31 #include <botan/gost_3410.h>
34 #if defined(BOTAN_HAS_NYBERG_RUEPPEL)
38 #if defined(BOTAN_HAS_DIFFIE_HELLMAN)
42 #if defined(BOTAN_HAS_ECDH)
43 #include <botan/ecdh.h>
51 #if defined(BOTAN_HAS_RSA)
52 if(
const RSA_PublicKey*
s = dynamic_cast<const RSA_PublicKey*>(&key))
56 #if defined(BOTAN_HAS_ELGAMAL)
67 #if defined(BOTAN_HAS_RSA)
72 #if defined(BOTAN_HAS_ELGAMAL)
83 #if defined(BOTAN_HAS_DIFFIE_HELLMAN)
84 if(
const DH_PrivateKey* dh = dynamic_cast<const DH_PrivateKey*>(&key))
88 #if defined(BOTAN_HAS_ECDH)
89 if(
const ECDH_PrivateKey* ecdh = dynamic_cast<const ECDH_PrivateKey*>(&key))
99 #if defined(BOTAN_HAS_RSA)
100 if(
const RSA_PrivateKey*
s = dynamic_cast<const RSA_PrivateKey*>(&key))
104 #if defined(BOTAN_HAS_RW)
105 if(
const RW_PrivateKey*
s = dynamic_cast<const RW_PrivateKey*>(&key))
109 #if defined(BOTAN_HAS_DSA)
110 if(
const DSA_PrivateKey*
s = dynamic_cast<const DSA_PrivateKey*>(&key))
114 #if defined(BOTAN_HAS_ECDSA)
119 #if defined(BOTAN_HAS_GOST_34_10_2001)
121 dynamic_cast<const GOST_3410_PrivateKey*>(&key))
125 #if defined(BOTAN_HAS_NYBERG_RUEPPEL)
126 if(
const NR_PrivateKey*
s = dynamic_cast<const NR_PrivateKey*>(&key))
136 #if defined(BOTAN_HAS_RSA)
137 if(
const RSA_PublicKey*
s = dynamic_cast<const RSA_PublicKey*>(&key))
141 #if defined(BOTAN_HAS_RW)
142 if(
const RW_PublicKey*
s = dynamic_cast<const RW_PublicKey*>(&key))
146 #if defined(BOTAN_HAS_DSA)
147 if(
const DSA_PublicKey*
s = dynamic_cast<const DSA_PublicKey*>(&key))
151 #if defined(BOTAN_HAS_ECDSA)
156 #if defined(BOTAN_HAS_GOST_34_10_2001)
158 dynamic_cast<const GOST_3410_PublicKey*>(&key))
162 #if defined(BOTAN_HAS_NYBERG_RUEPPEL)
163 if(
const NR_PublicKey*
s = dynamic_cast<const NR_PublicKey*>(&key))
PK_Ops::Decryption * get_decryption_op(const Private_Key &key) const
PK_Ops::Encryption * get_encryption_op(const Public_Key &key) const
PK_Ops::Verification * get_verify_op(const Public_Key &key) const
PK_Ops::Signature * get_signature_op(const Private_Key &key) const
PK_Ops::Key_Agreement * get_key_agreement_op(const Private_Key &key) const