8 #ifndef BOTAN_PUBKEY_H__     9 #define BOTAN_PUBKEY_H__    11 #include <botan/pk_keys.h>    12 #include <botan/pk_ops.h>    13 #include <botan/symkey.h>    14 #include <botan/rng.h>    15 #include <botan/eme.h>    16 #include <botan/emsa.h>    17 #include <botan/kdf.h>    51          return enc(in, length, rng);
    63          return enc(&in[0], in.
size(), rng);
    70       virtual size_t maximum_input_size() 
const = 0;
    96          return dec(in, length);
   106          return dec(&in[0], in.
size());
   144          { 
return sign_message(&in[0], in.
size(), rng); }
   157       void update(
const byte in[], 
size_t length);
   188                 const std::string& emsa,
   222       bool verify_message(
const byte msg[], 
size_t msg_length,
   223                           const byte sig[], 
size_t sig_length);
   233          return verify_message(&msg[0], msg.
size(),
   234                                &sig[0], sig.
size());
   250       void update(
const byte msg_part[], 
size_t length);
   258          { update(&in[0], in.
size()); }
   267       bool check_signature(
const byte sig[], 
size_t length);
   277          return check_signature(&sig[0], sig.
size());
   293                   const std::string& emsa,
   302                               const byte sig[], 
size_t sig_len);
   328                               size_t params_len) 
const;
   341                               size_t params_len)
 const   343          return derive_key(key_len, &in[0], in.
size(),
   355                               const byte in[], 
size_t in_len,
   356                               const std::string& params = 
"")
 const   358          return derive_key(key_len, in, in_len,
   359                            reinterpret_cast<const byte*>(params.data()),
   371                               const std::string& params = 
"")
 const   373          return derive_key(key_len, &in[0], in.
size(),
   374                            reinterpret_cast<const byte*
>(params.data()),
   384                        const std::string& kdf);
   389       PK_Key_Agreement& operator=(
const PK_Key_Agreement&) { 
return *
this; }
   401       size_t maximum_input_size() 
const;
   409                        const std::string& eme);
   432                        const std::string& eme);
 bool check_signature(const MemoryRegion< byte > &sig)
SecureVector< byte > sign_message(const MemoryRegion< byte > &in, RandomNumberGenerator &rng)
void update(const MemoryRegion< byte > &in)
SecureVector< byte > encrypt(const byte in[], size_t length, RandomNumberGenerator &rng) const
SymmetricKey derive_key(size_t key_len, const MemoryRegion< byte > &in, const byte params[], size_t params_len) const
void update(const MemoryRegion< byte > &in)
SecureVector< byte > encrypt(const MemoryRegion< byte > &in, RandomNumberGenerator &rng) const
SecureVector< byte > decrypt(const byte in[], size_t length) const
SymmetricKey derive_key(size_t key_len, const MemoryRegion< byte > &in, const std::string ¶ms="") const
SecureVector< byte > decrypt(const MemoryRegion< byte > &in) const
PK_Encryptor_EME PK_Encryptor_MR_with_EME
bool verify_message(const MemoryRegion< byte > &msg, const MemoryRegion< byte > &sig)
void set_output_format(Signature_Format format)
PK_Decryptor_EME PK_Decryptor_MR_with_EME
SymmetricKey derive_key(size_t key_len, const byte in[], size_t in_len, const std::string ¶ms="") const