Botan
1.10.9
|
#include <filters.h>
Public Member Functions | |
virtual bool | attachable () |
void | end_msg () |
MAC_Filter (MessageAuthenticationCode *mac_obj, size_t out_len=0) | |
MAC_Filter (MessageAuthenticationCode *mac_obj, const SymmetricKey &key, size_t out_len=0) | |
MAC_Filter (const std::string &mac, size_t len=0) | |
MAC_Filter (const std::string &mac, const SymmetricKey &key, size_t len=0) | |
std::string | name () const |
virtual void | set_iv (const InitializationVector &iv) |
void | set_key (const SymmetricKey &key) |
virtual void | start_msg () |
virtual bool | valid_iv_length (size_t length) const |
bool | valid_keylength (size_t length) const |
void | write (const byte input[], size_t len) |
~MAC_Filter () | |
Protected Member Functions | |
void | send (const byte in[], size_t length) |
void | send (byte in) |
void | send (const MemoryRegion< byte > &in) |
void | send (const MemoryRegion< byte > &in, size_t length) |
|
inline |
Construct a MAC filter. The MAC key will be left empty.
mac_obj | the MAC to use |
out_len | the output length of this filter. Leave the default value 0 if you want to use the full output of the MAC. Otherwise, specify a smaller value here so that the output of the MAC will be cut off. |
Definition at line 172 of file filters.h.
References mac.
|
inline |
Construct a MAC filter.
mac_obj | the MAC to use |
key | the MAC key to use |
out_len | the output length of this filter. Leave the default value 0 if you want to use the full output of the MAC. Otherwise, specify a smaller value here so that the output of the MAC will be cut off. |
Definition at line 187 of file filters.h.
References mac.
Botan::MAC_Filter::MAC_Filter | ( | const std::string & | mac, |
size_t | len = 0 |
||
) |
Construct a MAC filter. The MAC key will be left empty.
mac | the name of the MAC to use |
len | the output length of this filter. Leave the default value 0 if you want to use the full output of the MAC. Otherwise, specify a smaller value here so that the output of the MAC will be cut off. |
Definition at line 105 of file algo_filt.cpp.
References Botan::Library_State::algorithm_factory(), Botan::Global_State_Management::global_state(), and Botan::Algorithm_Factory::make_mac().
Botan::MAC_Filter::MAC_Filter | ( | const std::string & | mac, |
const SymmetricKey & | key, | ||
size_t | len = 0 |
||
) |
Construct a MAC filter.
mac | the name of the MAC to use |
key | the MAC key to use |
len | the output length of this filter. Leave the default value 0 if you want to use the full output of the MAC. Otherwise, specify a smaller value here so that the output of the MAC will be cut off. |
Definition at line 115 of file algo_filt.cpp.
References Botan::Library_State::algorithm_factory(), Botan::Global_State_Management::global_state(), Botan::Algorithm_Factory::make_mac(), and Botan::SymmetricAlgorithm::set_key().
|
inline |
|
inlinevirtualinherited |
Check whether this filter is an attachable filter.
Reimplemented in Botan::SecureQueue, and Botan::DataSink.
|
virtual |
Notify that the current message is finished; flush buffers and do end-of-message processing (if any).
Reimplemented from Botan::Filter.
Definition at line 126 of file algo_filt.cpp.
References Botan::Buffered_Computation::final(), Botan::Filter::send(), and Botan::MemoryRegion< T >::size().
|
inlinevirtual |
Implements Botan::Filter.
Definition at line 148 of file filters.h.
References mac.
|
protectedinherited |
in | some input for the filter |
length | the length of in |
Definition at line 28 of file filter.cpp.
References Botan::MemoryRegion< T >::clear(), Botan::MemoryRegion< T >::size(), and Botan::Filter::write().
Referenced by Botan::PK_Encryptor_Filter::end_msg(), Botan::Zlib_Compression::end_msg(), Botan::Bzip_Compression::end_msg(), Botan::Hex_Encoder::end_msg(), Botan::Base64_Encoder::end_msg(), Botan::PK_Decryptor_Filter::end_msg(), Botan::Bzip_Decompression::end_msg(), Botan::Zlib_Decompression::end_msg(), Botan::PK_Signer_Filter::end_msg(), Botan::Hex_Decoder::end_msg(), Botan::Base64_Decoder::end_msg(), Botan::PK_Verifier_Filter::end_msg(), Botan::Hash_Filter::end_msg(), end_msg(), Botan::Bzip_Compression::flush(), Botan::Zlib_Compression::flush(), Botan::Zlib_Compression::write(), Botan::Bzip_Compression::write(), Botan::StreamCipher_Filter::write(), Botan::Bzip_Decompression::write(), Botan::Zlib_Decompression::write(), Botan::Hex_Decoder::write(), and Botan::Base64_Decoder::write().
|
inlineprotectedinherited |
in | some input for the filter |
Definition at line 63 of file filter.h.
References Botan::Filter::send().
Referenced by Botan::Filter::send().
|
inlineprotectedinherited |
in | some input for the filter |
Definition at line 68 of file filter.h.
References Botan::Filter::send(), and Botan::MemoryRegion< T >::size().
Referenced by Botan::Filter::send().
|
inlineprotectedinherited |
|
virtualinherited |
Set the initialization vector of this filter. Note: you should call set_iv() only after you have called set_key()
iv | the initialization vector to use |
Reimplemented in Botan::CBC_Decryption, Botan::XTS_Decryption, Botan::CTS_Decryption, Botan::CFB_Decryption, Botan::StreamCipher_Filter, Botan::CBC_Encryption, Botan::EAX_Base, Botan::XTS_Encryption, Botan::CFB_Encryption, and Botan::CTS_Encryption.
Definition at line 13 of file basefilt.cpp.
References Botan::OctetString::length(), and Botan::Filter::name().
Referenced by Botan::algorithm_kat(), and Botan::get_cipher().
|
inlinevirtual |
Set the key of this filter.
key | the key to set |
Implements Botan::Keyed_Filter.
Definition at line 154 of file filters.h.
References mac.
|
inlinevirtualinherited |
Start a new message. Must be closed by end_msg() before another message can be started.
Reimplemented in Botan::Zlib_Decompression, Botan::EAX_Base, Botan::Bzip_Decompression, Botan::PBE_PKCS5v20, Botan::PBE_PKCS5v15, Botan::Bzip_Compression, and Botan::Zlib_Compression.
|
inlinevirtualinherited |
Check whether an IV length is valid for this filter
length | the IV length to be checked for validity |
Reimplemented in Botan::CBC_Decryption, Botan::XTS_Decryption, Botan::CTS_Decryption, Botan::CFB_Decryption, Botan::StreamCipher_Filter, Botan::EAX_Base, Botan::CBC_Encryption, Botan::CFB_Encryption, Botan::CTS_Encryption, and Botan::XTS_Encryption.
Definition at line 48 of file key_filt.h.
Referenced by Botan::algorithm_kat().
|
inlinevirtual |
Check whether a key length is valid for this filter.
length | the key length to be checked for validity |
Implements Botan::Keyed_Filter.
Definition at line 161 of file filters.h.
References mac.
|
inlinevirtual |
Write a portion of a message to this filter.
input | the input as a byte array |
length | the length of the byte array input |
Implements Botan::Filter.
Definition at line 145 of file filters.h.
References mac.