ArduinoLibs
|
AES block cipher with 128-bit keys and tiny memory usage. More...
#include <AES.h>
Public Member Functions | |
AESTiny128 () | |
Constructs an AES 128-bit block cipher with no initial key. More... | |
size_t | blockSize () const |
Size of an AES block in bytes. More... | |
size_t | keySize () const |
Size of a 128-bit AES key in bytes. More... | |
bool | setKey (const uint8_t *key, size_t len) |
Sets the key to use for future encryption and decryption operations. More... | |
void | encryptBlock (uint8_t *output, const uint8_t *input) |
Encrypts a single block using this cipher. More... | |
void | decryptBlock (uint8_t *output, const uint8_t *input) |
Decrypts a single block using this cipher. More... | |
void | clear () |
Clears all security-sensitive state from this block cipher. More... | |
![]() | |
BlockCipher () | |
Constructs a block cipher. | |
virtual | ~BlockCipher () |
Destroys this block cipher object. More... | |
AES block cipher with 128-bit keys and tiny memory usage.
This class differs from the AES128 class in the following ways:
This class is useful when RAM is at a premium, CBC mode is not required, and reduced encryption performance is not a hindrance to the application.
The companion AESSmall128 class supports decryptBlock() at the cost of some additional memory and slower setKey() times.
AESTiny128::AESTiny128 | ( | ) |
Constructs an AES 128-bit block cipher with no initial key.
This constructor must be followed by a call to setKey() before the block cipher can be used for encryption or decryption.
Definition at line 150 of file AES128.cpp.
|
virtual |
Size of an AES block in bytes.
Implements BlockCipher.
Definition at line 163 of file AES128.cpp.
|
virtual |
Clears all security-sensitive state from this block cipher.
Security-sensitive information includes key schedules and any temporary state that is used by encryptBlock() or decryptBlock() which is stored in the object itself.
Implements BlockCipher.
Reimplemented in AESSmall128.
Definition at line 238 of file AES128.cpp.
|
virtual |
Decrypts a single block using this cipher.
output | The output buffer to put the plaintext into. Must be at least blockSize() bytes in length. |
input | The input buffer to read the ciphertext from which is allowed to overlap with output. Must be at least blockSize() bytes in length. |
Implements BlockCipher.
Reimplemented in AESSmall128.
Definition at line 233 of file AES128.cpp.
|
virtual |
Encrypts a single block using this cipher.
output | The output buffer to put the ciphertext into. Must be at least blockSize() bytes in length. |
input | The input buffer to read the plaintext from which is allowed to overlap with output. Must be at least blockSize() bytes in length. |
Implements BlockCipher.
Definition at line 187 of file AES128.cpp.
|
virtual |
Size of a 128-bit AES key in bytes.
Implements BlockCipher.
Definition at line 172 of file AES128.cpp.
|
virtual |
Sets the key to use for future encryption and decryption operations.
key | The key to use. |
len | The length of the key. |
Use clear() or the destructor to remove the key and any other sensitive data from the object once encryption or decryption is complete.
Implements BlockCipher.
Reimplemented in AESSmall128.
Definition at line 177 of file AES128.cpp.