Botan
1.10.9
|
#include <key_filt.h>
Public Member Functions | |
virtual bool | attachable () |
virtual void | end_msg () |
virtual std::string | name () const =0 |
virtual void | set_iv (const InitializationVector &iv) |
virtual void | set_key (const SymmetricKey &key)=0 |
virtual void | start_msg () |
virtual bool | valid_iv_length (size_t length) const |
virtual bool | valid_keylength (size_t length) const =0 |
virtual void | write (const byte input[], size_t length)=0 |
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) |
This class represents keyed filters, i.e. filters that have to be fed with a key in order to function.
Definition at line 20 of file key_filt.h.
|
inlinevirtualinherited |
Check whether this filter is an attachable filter.
Reimplemented in Botan::SecureQueue, and Botan::DataSink.
|
inlinevirtualinherited |
Notify that the current message is finished; flush buffers and do end-of-message processing (if any).
Reimplemented in Botan::MAC_Filter, Botan::Hash_Filter, Botan::PK_Verifier_Filter, Botan::Base64_Decoder, Botan::Hex_Decoder, Botan::PK_Signer_Filter, Botan::Zlib_Decompression, Botan::Bzip_Decompression, Botan::PK_Decryptor_Filter, Botan::PBE_PKCS5v20, Botan::Base64_Encoder, Botan::Hex_Encoder, Botan::PBE_PKCS5v15, Botan::Bzip_Compression, Botan::Zlib_Compression, and Botan::PK_Encryptor_Filter.
|
pure virtualinherited |
Implemented in Botan::MAC_Filter, Botan::Hash_Filter, Botan::PK_Verifier_Filter, Botan::XTS_Decryption, Botan::CBC_Decryption, Botan::Fork, Botan::Hex_Decoder, Botan::Base64_Decoder, Botan::ECB_Decryption, Botan::PK_Signer_Filter, Botan::CTS_Decryption, Botan::CFB_Decryption, Botan::Zlib_Decompression, Botan::Bzip_Decompression, Botan::PK_Decryptor_Filter, Botan::EAX_Base, Botan::StreamCipher_Filter, Botan::Chain, Botan::DataSink_Stream, Botan::XTS_Encryption, Botan::PBE_PKCS5v20, Botan::Hex_Encoder, Botan::CBC_Encryption, Botan::ECB_Encryption, Botan::PBE_PKCS5v15, Botan::BitBucket, Botan::Bzip_Compression, Botan::CFB_Encryption, Botan::CTS_Encryption, Botan::PK_Encryptor_Filter, Botan::SecureQueue, Botan::Zlib_Compression, and Botan::Base64_Encoder.
Referenced by set_iv().
|
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 |
|
virtual |
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().
|
pure virtual |
Set the key of this filter
key | the key to use |
Implemented in Botan::MAC_Filter, Botan::CBC_Decryption, Botan::CTS_Decryption, Botan::ECB_Decryption, Botan::XTS_Decryption, Botan::CFB_Decryption, Botan::StreamCipher_Filter, Botan::CBC_Encryption, Botan::ECB_Encryption, Botan::CFB_Encryption, Botan::CTS_Encryption, Botan::EAX_Base, and Botan::XTS_Encryption.
Referenced by Botan::algorithm_kat(), and Botan::get_cipher().
|
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.
|
inlinevirtual |
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().
|
pure virtual |
Check whether a key length is valid for this filter
length | the key length to be checked for validity |
Implemented in Botan::MAC_Filter, Botan::CBC_Decryption, Botan::StreamCipher_Filter, Botan::XTS_Decryption, Botan::CTS_Decryption, Botan::ECB_Decryption, Botan::CFB_Decryption, Botan::EAX_Base, Botan::CBC_Encryption, Botan::ECB_Encryption, Botan::CFB_Encryption, Botan::CTS_Encryption, and Botan::XTS_Encryption.
|
pure virtualinherited |
Write a portion of a message to this filter.
input | the input as a byte array |
length | the length of the byte array input |
Implemented in Botan::MAC_Filter, Botan::Hash_Filter, Botan::PK_Verifier_Filter, Botan::Base64_Decoder, Botan::Hex_Decoder, Botan::PK_Signer_Filter, Botan::Fork, Botan::Zlib_Decompression, Botan::Bzip_Decompression, Botan::StreamCipher_Filter, Botan::PK_Decryptor_Filter, Botan::DataSink_Stream, Botan::Chain, Botan::PBE_PKCS5v20, Botan::Hex_Encoder, Botan::Base64_Encoder, Botan::PBE_PKCS5v15, Botan::Bzip_Compression, Botan::PK_Encryptor_Filter, Botan::SecureQueue, Botan::Zlib_Compression, and Botan::BitBucket.
Referenced by Botan::Filter::send(), and Botan::Pipe::write().