8#ifndef OPENSSL_SYMETRIC_CIPHER_HPP
9#define OPENSSL_SYMETRIC_CIPHER_HPP
12#include <openssl/evp.h>
18class OpenSSLSymmetricCipherContext;
An initialisation vector.
Definition: initialization_vector.hpp:26
An OpenSSL context class.
Definition: openssl_symmetric_cipher_context.hpp:26
A OpenSSL symmetric cipher base class.
Definition: openssl_symmetric_cipher.hpp:33
Method
A method.
Definition: openssl_symmetric_cipher.hpp:52
@ M_ENCRYPT
Definition: openssl_symmetric_cipher.hpp:53
virtual const EVP_CIPHER * getEVPCipher(const SymmetricKey &key) const =0
Get the openssl EVP cipher.
EncMode mode() const
Get the encryption mode.
Definition: openssl_symmetric_cipher.hpp:131
EncMode
Encryption mode.
Definition: openssl_symmetric_cipher.hpp:39
@ ENC_MODE_CFB
CFB.
Definition: openssl_symmetric_cipher.hpp:41
@ ENC_MODE_CBC
CBC.
Definition: openssl_symmetric_cipher.hpp:40
@ ENC_MODE_CFB8
CFB8.
Definition: openssl_symmetric_cipher.hpp:43
@ ENC_MODE_ECB
ECB.
Definition: openssl_symmetric_cipher.hpp:44
@ ENC_MODE_CFB1
CFB1.
Definition: openssl_symmetric_cipher.hpp:42
EncMode d_mode
The encryption mode.
Definition: openssl_symmetric_cipher.hpp:140
A symmetric cipher.
Definition: symmetric_cipher.hpp:25
An immutable symmetric key.
Definition: symmetric_key.hpp:27
std::vector< uint8_t > ByteVector
Definition: lla_fwd.hpp:80
Symmetric cipher base class.