/usr/include/botan/engine.h is in libbotan1.8-dev 1.8.13-4.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 | /*
* Engine
* (C) 1999-2007 Jack Lloyd
*
* Distributed under the terms of the Botan license
*/
#ifndef BOTAN_ENGINE_H__
#define BOTAN_ENGINE_H__
#include <botan/scan_name.h>
#include <botan/block_cipher.h>
#include <botan/stream_cipher.h>
#include <botan/hash.h>
#include <botan/mac.h>
#include <botan/pow_mod.h>
#include <utility>
#include <map>
#if defined(BOTAN_HAS_IF_PUBLIC_KEY_FAMILY)
#include <botan/if_op.h>
#endif
#if defined(BOTAN_HAS_DSA)
#include <botan/dsa_op.h>
#endif
#if defined(BOTAN_HAS_DIFFIE_HELLMAN)
#include <botan/dh_op.h>
#endif
#if defined(BOTAN_HAS_NYBERG_RUEPPEL)
#include <botan/nr_op.h>
#endif
#if defined(BOTAN_HAS_ELGAMAL)
#include <botan/elg_op.h>
#endif
#if defined(BOTAN_HAS_ECDSA)
#include <botan/ecdsa_op.h>
#include <botan/ec_dompar.h>
#endif
#if defined(BOTAN_HAS_ECKAEG)
#include <botan/eckaeg_op.h>
#include <botan/ec_dompar.h>
#endif
namespace Botan {
class Algorithm_Factory;
class Keyed_Filter;
/*
* Engine Base Class
*/
class BOTAN_DLL Engine
{
public:
virtual ~Engine() {}
virtual std::string provider_name() const = 0;
// Lookup functions
virtual BlockCipher*
find_block_cipher(const SCAN_Name&, Algorithm_Factory&) const
{ return 0; }
virtual StreamCipher*
find_stream_cipher(const SCAN_Name&, Algorithm_Factory&) const
{ return 0; }
virtual HashFunction*
find_hash(const SCAN_Name&, Algorithm_Factory&) const
{ return 0; }
virtual MessageAuthenticationCode*
find_mac(const SCAN_Name&, Algorithm_Factory&) const
{ return 0; }
virtual Modular_Exponentiator*
mod_exp(const BigInt&, Power_Mod::Usage_Hints) const
{ return 0; }
virtual Keyed_Filter* get_cipher(const std::string&,
Cipher_Dir,
Algorithm_Factory&)
{ return 0; }
#if defined(BOTAN_HAS_IF_PUBLIC_KEY_FAMILY)
virtual IF_Operation* if_op(const BigInt&, const BigInt&, const BigInt&,
const BigInt&, const BigInt&, const BigInt&,
const BigInt&, const BigInt&) const
{ return 0; }
#endif
#if defined(BOTAN_HAS_DSA)
virtual DSA_Operation* dsa_op(const DL_Group&, const BigInt&,
const BigInt&) const
{ return 0; }
#endif
#if defined(BOTAN_HAS_NYBERG_RUEPPEL)
virtual NR_Operation* nr_op(const DL_Group&, const BigInt&,
const BigInt&) const
{ return 0; }
#endif
#if defined(BOTAN_HAS_ELGAMAL)
virtual ELG_Operation* elg_op(const DL_Group&, const BigInt&,
const BigInt&) const
{ return 0; }
#endif
#if defined(BOTAN_HAS_DIFFIE_HELLMAN)
virtual DH_Operation* dh_op(const DL_Group&, const BigInt&) const
{ return 0; }
#endif
#if defined(BOTAN_HAS_ECDSA)
virtual ECDSA_Operation* ecdsa_op(const EC_Domain_Params&,
const BigInt&,
const PointGFp&) const
{ return 0; }
#endif
#if defined(BOTAN_HAS_ECKAEG)
virtual ECKAEG_Operation* eckaeg_op(const EC_Domain_Params&,
const BigInt&,
const PointGFp&) const
{ return 0; }
#endif
};
}
#endif
|