Arduino Cryptography Library
|
Abstract base class for AES block ciphers. More...
#include <AES.h>
Public Member Functions | |
virtual | ~AESCommon () |
Destroys this AES block cipher object after clearing sensitive information. | |
size_t | blockSize () const |
Size of an AES block in bytes. 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... | |
Public Member Functions inherited from BlockCipher | |
BlockCipher () | |
Constructs a block cipher. | |
virtual | ~BlockCipher () |
Destroys this block cipher object. More... | |
virtual size_t | keySize () const =0 |
Default size of the key for this block cipher, in bytes. More... | |
virtual bool | setKey (const uint8_t *key, size_t len)=0 |
Sets the key to use for future encryption and decryption operations. More... | |
Protected Member Functions | |
AESCommon () | |
Constructs an AES block cipher object. | |
Friends | |
class | AESTiny128 |
class | AESTiny256 |
class | AESSmall128 |
class | AESSmall256 |
Abstract base class for AES block ciphers.
This class is abstract. The caller should instantiate AES128, AES192, or AES256 to create an AES block cipher with a specific key size.
Reference: http://en.wikipedia.org/wiki/Advanced_Encryption_Standard
|
virtual |
Size of an AES block in bytes.
Implements BlockCipher.
Definition at line 144 of file AESCommon.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.
Definition at line 332 of file AESCommon.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.
Definition at line 301 of file AESCommon.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 270 of file AESCommon.cpp.