Botan::Engine Class Reference

#include <engine.h>

Inheritance diagram for Botan::Engine:

Botan::AES_ISA_Engine Botan::Assembler_Engine Botan::Core_Engine Botan::Dynamically_Loaded_Engine Botan::GMP_Engine Botan::OpenSSL_Engine Botan::SIMD_Engine

List of all members.

Public Member Functions

virtual BlockCipherfind_block_cipher (const SCAN_Name &algo_spec, Algorithm_Factory &af) const
virtual HashFunctionfind_hash (const SCAN_Name &algo_spec, Algorithm_Factory &af) const
virtual MessageAuthenticationCodefind_mac (const SCAN_Name &algo_spec, Algorithm_Factory &af) const
virtual StreamCipherfind_stream_cipher (const SCAN_Name &algo_spec, Algorithm_Factory &af) const
virtual Keyed_Filterget_cipher (const std::string &algo_spec, Cipher_Dir dir, Algorithm_Factory &af)
virtual PK_Ops::Decryptionget_decryption_op (const Private_Key &key) const
virtual PK_Ops::Encryptionget_encryption_op (const Public_Key &key) const
virtual PK_Ops::Key_Agreementget_key_agreement_op (const Private_Key &key) const
virtual PK_Ops::Signatureget_signature_op (const Private_Key &key) const
virtual PK_Ops::Verificationget_verify_op (const Public_Key &key) const
virtual Modular_Exponentiatormod_exp (const BigInt &n, Power_Mod::Usage_Hints hints) const
virtual std::string provider_name () const =0
virtual ~Engine ()


Detailed Description

Base class for all engines. All non-pure virtual functions simply return NULL, indicating the algorithm in question is not supported. Subclasses can reimplement whichever function(s) they want to hook in a particular type.

Definition at line 35 of file engine.h.


Constructor & Destructor Documentation

virtual Botan::Engine::~Engine (  )  [inline, virtual]

Definition at line 38 of file engine.h.

00038 {}


Member Function Documentation

BlockCipher * Botan::Engine::find_block_cipher ( const SCAN_Name algo_spec,
Algorithm_Factory af 
) const [virtual]

Parameters:
algo_spec the algorithm name/specification
af an algorithm factory object
Returns:
newly allocated object, or NULL

Reimplemented in Botan::AES_ISA_Engine, Botan::Assembler_Engine, Botan::Core_Engine, Botan::Dynamically_Loaded_Engine, Botan::OpenSSL_Engine, and Botan::SIMD_Engine.

Definition at line 13 of file engine.cpp.

00015    {
00016    return 0;
00017    }

HashFunction * Botan::Engine::find_hash ( const SCAN_Name algo_spec,
Algorithm_Factory af 
) const [virtual]

Parameters:
algo_spec the algorithm name/specification
af an algorithm factory object
Returns:
newly allocated object, or NULL

Reimplemented in Botan::Assembler_Engine, Botan::Core_Engine, Botan::Dynamically_Loaded_Engine, Botan::OpenSSL_Engine, and Botan::SIMD_Engine.

Definition at line 27 of file engine.cpp.

00029    {
00030    return 0;
00031    }

MessageAuthenticationCode * Botan::Engine::find_mac ( const SCAN_Name algo_spec,
Algorithm_Factory af 
) const [virtual]

Parameters:
algo_spec the algorithm name/specification
af an algorithm factory object
Returns:
newly allocated object, or NULL

Reimplemented in Botan::Core_Engine, and Botan::Dynamically_Loaded_Engine.

Definition at line 34 of file engine.cpp.

00036    {
00037    return 0;
00038    }

StreamCipher * Botan::Engine::find_stream_cipher ( const SCAN_Name algo_spec,
Algorithm_Factory af 
) const [virtual]

Parameters:
algo_spec the algorithm name/specification
af an algorithm factory object
Returns:
newly allocated object, or NULL

Reimplemented in Botan::Core_Engine, Botan::Dynamically_Loaded_Engine, and Botan::OpenSSL_Engine.

Definition at line 20 of file engine.cpp.

00022    {
00023    return 0;
00024    }

Keyed_Filter * Botan::Engine::get_cipher ( const std::string &  algo_spec,
Cipher_Dir  dir,
Algorithm_Factory af 
) [virtual]

Return a new cipher object

Parameters:
algo_spec the algorithm name/specification
dir specifies if encryption or decryption is desired
af an algorithm factory object
Returns:
newly allocated object, or NULL

Reimplemented in Botan::Core_Engine, and Botan::Dynamically_Loaded_Engine.

Definition at line 47 of file engine.cpp.

00050    {
00051    return 0;
00052    }

PK_Ops::Decryption * Botan::Engine::get_decryption_op ( const Private_Key key  )  const [virtual]

Return a new operator object for this key, if possible

Parameters:
key the key we want an operator for
Returns:
newly allocated operator object, or NULL

Reimplemented in Botan::Core_Engine, Botan::Dynamically_Loaded_Engine, Botan::GMP_Engine, and Botan::OpenSSL_Engine.

Definition at line 79 of file engine.cpp.

00080    {
00081    return 0;
00082    }

PK_Ops::Encryption * Botan::Engine::get_encryption_op ( const Public_Key key  )  const [virtual]

Return a new operator object for this key, if possible

Parameters:
key the key we want an operator for
Returns:
newly allocated operator object, or NULL

Reimplemented in Botan::Core_Engine, Botan::Dynamically_Loaded_Engine, Botan::GMP_Engine, and Botan::OpenSSL_Engine.

Definition at line 73 of file engine.cpp.

00074    {
00075    return 0;
00076    }

PK_Ops::Key_Agreement * Botan::Engine::get_key_agreement_op ( const Private_Key key  )  const [virtual]

Return a new operator object for this key, if possible

Parameters:
key the key we want an operator for
Returns:
newly allocated operator object, or NULL

Reimplemented in Botan::Core_Engine, Botan::Dynamically_Loaded_Engine, Botan::GMP_Engine, and Botan::OpenSSL_Engine.

Definition at line 55 of file engine.cpp.

00056    {
00057    return 0;
00058    }

PK_Ops::Signature * Botan::Engine::get_signature_op ( const Private_Key key  )  const [virtual]

Return a new operator object for this key, if possible

Parameters:
key the key we want an operator for
Returns:
newly allocated operator object, or NULL

Reimplemented in Botan::Core_Engine, Botan::Dynamically_Loaded_Engine, Botan::GMP_Engine, and Botan::OpenSSL_Engine.

Definition at line 61 of file engine.cpp.

00062    {
00063    return 0;
00064    }

PK_Ops::Verification * Botan::Engine::get_verify_op ( const Public_Key key  )  const [virtual]

Return a new operator object for this key, if possible

Parameters:
key the key we want an operator for
Returns:
newly allocated operator object, or NULL

Reimplemented in Botan::Core_Engine, Botan::Dynamically_Loaded_Engine, Botan::GMP_Engine, and Botan::OpenSSL_Engine.

Definition at line 67 of file engine.cpp.

00068    {
00069    return 0;
00070    }

Modular_Exponentiator * Botan::Engine::mod_exp ( const BigInt n,
Power_Mod::Usage_Hints  hints 
) const [virtual]

Parameters:
n the modulus
hints any use hints
Returns:
newly allocated object, or NULL

Reimplemented in Botan::Core_Engine, Botan::Dynamically_Loaded_Engine, Botan::GMP_Engine, and Botan::OpenSSL_Engine.

Definition at line 41 of file engine.cpp.

00043    {
00044    return 0;
00045    }

virtual std::string Botan::Engine::provider_name (  )  const [pure virtual]


The documentation for this class was generated from the following files:

Generated on Fri Aug 13 16:20:57 2010 for Botan by  doxygen 1.5.8