Botan 1.10.17
Botan::PK_Encryptor_EME Class Reference

#include <pubkey.h>

Inheritance diagram for Botan::PK_Encryptor_EME:
Botan::PK_Encryptor

Public Member Functions

SecureVector< byteencrypt (const byte in[], size_t length, RandomNumberGenerator &rng) const
SecureVector< byteencrypt (const MemoryRegion< byte > &in, RandomNumberGenerator &rng) const
size_t maximum_input_size () const
 PK_Encryptor_EME (const Public_Key &key, const std::string &eme)
 ~PK_Encryptor_EME ()

Detailed Description

Encryption with an MR algorithm and an EME.

Definition at line 398 of file pubkey.h.

Constructor & Destructor Documentation

◆ PK_Encryptor_EME()

Botan::PK_Encryptor_EME::PK_Encryptor_EME ( const Public_Key & key,
const std::string & eme )

Construct an instance.

Parameters
keythe key to use inside the decryptor
emethe EME to use

Definition at line 25 of file pubkey.cpp.

27 {
28 Algorithm_Factory::Engine_Iterator i(global_state().algorithm_factory());
29
30 op = 0;
31
32 while(const Engine* engine = i.next())
33 {
34 op = engine->get_encryption_op(key);
35 if(op)
36 break;
37 }
38
39 if(!op)
40 throw Lookup_Error("Encryption with " + key.algo_name() + " not supported");
41
42 eme = (eme_name == "Raw") ? 0 : get_eme(eme_name);
43 }
Library_State & global_state()
EME * get_eme(const std::string &algo_spec)
Definition get_enc.cpp:143
Lookup_Error(const std::string &err)
Definition exceptn.h:37

References Botan::Public_Key::algo_name(), Botan::get_eme(), Botan::global_state(), Botan::Lookup_Error::Lookup_Error(), and Botan::Algorithm_Factory::Engine_Iterator::next().

Referenced by Botan::get_pk_encryptor().

◆ ~PK_Encryptor_EME()

Botan::PK_Encryptor_EME::~PK_Encryptor_EME ( )
inline

Definition at line 411 of file pubkey.h.

411{ delete op; delete eme; }

Member Function Documentation

◆ encrypt() [1/2]

SecureVector< byte > Botan::PK_Encryptor::encrypt ( const byte in[],
size_t length,
RandomNumberGenerator & rng ) const
inlineinherited

Encrypt a message.

Parameters
inthe message as a byte array
lengththe length of the above byte array
rngthe random number source to use
Returns
encrypted message

Definition at line 48 of file pubkey.h.

50 {
51 return enc(in, length, rng);
52 }

Referenced by Botan::Client_Key_Exchange::Client_Key_Exchange(), and Botan::KeyPair::encryption_consistency_check().

◆ encrypt() [2/2]

SecureVector< byte > Botan::PK_Encryptor::encrypt ( const MemoryRegion< byte > & in,
RandomNumberGenerator & rng ) const
inlineinherited

Encrypt a message.

Parameters
inthe message
rngthe random number source to use
Returns
encrypted message

Definition at line 60 of file pubkey.h.

62 {
63 return enc(&in[0], in.size(), rng);
64 }

References Botan::MemoryRegion< T >::size().

◆ maximum_input_size()

size_t Botan::PK_Encryptor_EME::maximum_input_size ( ) const
virtual

Return the maximum allowed message size in bytes.

Returns
maximum message size in bytes

Implements Botan::PK_Encryptor.

Definition at line 75 of file pubkey.cpp.

76 {
77 if(!eme)
78 return (op->max_input_bits() / 8);
79 else
80 return eme->maximum_input_size(op->max_input_bits());
81 }

Referenced by Botan::KeyPair::encryption_consistency_check().


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