8#ifndef BOTAN_ENGINE_H__
9#define BOTAN_ENGINE_H__
11#include <botan/scan_name.h>
12#include <botan/block_cipher.h>
13#include <botan/stream_cipher.h>
14#include <botan/hash.h>
16#include <botan/pbkdf.h>
17#include <botan/pow_mod.h>
18#include <botan/pk_keys.h>
19#include <botan/pk_ops.h>
virtual MessageAuthenticationCode * find_mac(const SCAN_Name &algo_spec, Algorithm_Factory &af) const
virtual PK_Ops::Signature * get_signature_op(const Private_Key &key) const
virtual Modular_Exponentiator * mod_exp(const BigInt &n, Power_Mod::Usage_Hints hints) const
virtual PK_Ops::Decryption * get_decryption_op(const Private_Key &key) const
virtual std::string provider_name() const =0
virtual PK_Ops::Verification * get_verify_op(const Public_Key &key) const
virtual PK_Ops::Encryption * get_encryption_op(const Public_Key &key) const
virtual Keyed_Filter * get_cipher(const std::string &algo_spec, Cipher_Dir dir, Algorithm_Factory &af)
virtual HashFunction * find_hash(const SCAN_Name &algo_spec, Algorithm_Factory &af) const
virtual PBKDF * find_pbkdf(const SCAN_Name &algo_spec, Algorithm_Factory &af) const
virtual PK_Ops::Key_Agreement * get_key_agreement_op(const Private_Key &key) const
virtual StreamCipher * find_stream_cipher(const SCAN_Name &algo_spec, Algorithm_Factory &af) const
virtual BlockCipher * find_block_cipher(const SCAN_Name &algo_spec, Algorithm_Factory &af) const