26 #include "BlockCipher.h"
35 void encryptBlock(uint8_t *output,
const uint8_t *input);
36 void decryptBlock(uint8_t *output,
const uint8_t *input);
47 void keyScheduleCore(uint8_t *output,
const uint8_t *input, uint8_t iteration);
48 void applySbox(uint8_t *output,
const uint8_t *input);
64 bool setKey(
const uint8_t *key,
size_t len);
78 bool setKey(
const uint8_t *key,
size_t len);
92 bool setKey(
const uint8_t *key,
size_t len);
void decryptBlock(uint8_t *output, const uint8_t *input)
Decrypts a single block using this cipher.
AES block cipher with 256-bit keys.
Abstract base class for block ciphers.
AESCommon()
Constructs an AES block cipher object.
size_t keySize() const
Size of a 128-bit AES key in bytes.
bool setKey(const uint8_t *key, size_t len)
Sets the key to use for future encryption and decryption operations.
size_t blockSize() const
Size of an AES block in bytes.
virtual ~AESCommon()
Destroys this AES block cipher object after clearing sensitive information.
void clear()
Clears all security-sensitive state from this block cipher.
bool setKey(const uint8_t *key, size_t len)
Sets the key to use for future encryption and decryption operations.
size_t keySize() const
Size of a 192-bit AES key in bytes.
void encryptBlock(uint8_t *output, const uint8_t *input)
Encrypts a single block using this cipher.
AES256()
Constructs an AES 256-bit block cipher with no initial key.
Abstract base class for AES block ciphers.
bool setKey(const uint8_t *key, size_t len)
Sets the key to use for future encryption and decryption operations.
AES block cipher with 128-bit keys.
size_t keySize() const
Size of a 256-bit AES key in bytes.
AES128()
Constructs an AES 128-bit block cipher with no initial key.
AES block cipher with 192-bit keys.
AES192()
Constructs an AES 192-bit block cipher with no initial key.