Botan
1.10.9
|
#include <eax.h>
Public Member Functions | |
virtual bool | attachable () |
EAX_Decryption (BlockCipher *ciph, size_t tag_size=0) | |
EAX_Decryption (BlockCipher *ciph, const SymmetricKey &key, const InitializationVector &iv, size_t tag_size=0) | |
std::string | name () const |
void | set_header (const byte header[], size_t header_len) |
void | set_iv (const InitializationVector &iv) |
void | set_key (const SymmetricKey &key) |
bool | valid_iv_length (size_t) const |
bool | valid_keylength (size_t key_len) const |
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) |
void | start_msg () |
Protected Attributes | |
const size_t | BLOCK_SIZE |
std::string | cipher_name |
MessageAuthenticationCode * | cmac |
StreamCipher * | ctr |
SecureVector< byte > | ctr_buf |
SecureVector< byte > | header_mac |
SecureVector< byte > | nonce_mac |
const size_t | TAG_SIZE |
Botan::EAX_Decryption::EAX_Decryption | ( | BlockCipher * | ciph, |
size_t | tag_size = 0 |
||
) |
ciph | the cipher to use |
tag_size | is how big the auth tag will be |
Definition at line 18 of file eax_dec.cpp.
References Botan::MemoryRegion< T >::resize(), and Botan::EAX_Base::TAG_SIZE.
Botan::EAX_Decryption::EAX_Decryption | ( | BlockCipher * | ciph, |
const SymmetricKey & | key, | ||
const InitializationVector & | iv, | ||
size_t | tag_size = 0 |
||
) |
ciph | the cipher to use |
key | the key to use |
iv | the initially set IV |
tag_size | is how big the auth tag will be |
Definition at line 29 of file eax_dec.cpp.
References Botan::MemoryRegion< T >::resize(), Botan::EAX_Base::set_iv(), Botan::EAX_Base::set_key(), and Botan::EAX_Base::TAG_SIZE.
|
inlinevirtualinherited |
Check whether this filter is an attachable filter.
Reimplemented in Botan::SecureQueue, and Botan::DataSink.
|
virtualinherited |
Implements Botan::Filter.
Definition at line 106 of file eax.cpp.
References Botan::EAX_Base::cipher_name.
Referenced by Botan::EAX_Base::EAX_Base().
|
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(), Botan::MAC_Filter::end_msg(), Botan::Bzip_Compression::flush(), Botan::Zlib_Compression::flush(), Botan::Bzip_Compression::write(), Botan::Zlib_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 |
|
inherited |
Set some additional data that is not included in the ciphertext but that will be authenticated.
header | the header contents |
header_len | length of header in bytes |
Definition at line 98 of file eax.cpp.
References Botan::EAX_Base::cmac, and Botan::EAX_Base::header_mac.
|
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 from Botan::Keyed_Filter.
Definition at line 89 of file eax.cpp.
References Botan::OctetString::begin(), Botan::EAX_Base::cmac, Botan::EAX_Base::ctr, Botan::OctetString::length(), Botan::EAX_Base::nonce_mac, Botan::StreamCipher::set_iv(), and Botan::MemoryRegion< T >::size().
Referenced by EAX_Decryption().
|
virtualinherited |
Set the key of this filter
key | the key to use |
Implements Botan::Keyed_Filter.
Definition at line 64 of file eax.cpp.
References Botan::EAX_Base::cmac, Botan::EAX_Base::ctr, Botan::EAX_Base::header_mac, and Botan::SymmetricAlgorithm::set_key().
Referenced by EAX_Decryption().
|
protectedvirtualinherited |
Start a new message. Must be closed by end_msg() before another message can be started.
Reimplemented from Botan::Filter.
Definition at line 79 of file eax.cpp.
References Botan::EAX_Base::cmac, and Botan::Buffered_Computation::update().
|
inlinevirtualinherited |
EAX supports arbitrary IV lengths
Reimplemented from Botan::Keyed_Filter.
|
virtualinherited |
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 54 of file eax.cpp.
References Botan::EAX_Base::ctr, and Botan::SymmetricAlgorithm::valid_keylength().
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
The MAC (CMAC)
Definition at line 79 of file eax.h.
Referenced by Botan::EAX_Base::EAX_Base(), Botan::EAX_Base::set_header(), Botan::EAX_Base::set_iv(), Botan::EAX_Base::set_key(), and Botan::EAX_Base::start_msg().
|
protectedinherited |
The stream cipher (CTR mode)
Definition at line 74 of file eax.h.
Referenced by Botan::EAX_Base::EAX_Base(), Botan::EAX_Base::set_iv(), Botan::EAX_Base::set_key(), and Botan::EAX_Base::valid_keylength().
|
protectedinherited |
|
protectedinherited |
The MAC of the header
Definition at line 89 of file eax.h.
Referenced by Botan::EAX_Base::set_header(), and Botan::EAX_Base::set_key().
|
protectedinherited |
|
protectedinherited |
The requested tag name
Definition at line 64 of file eax.h.
Referenced by Botan::EAX_Base::EAX_Base(), and EAX_Decryption().