Arduino Cryptography Library
Public Member Functions | List of all members
AES256 Class Reference

AES block cipher with 256-bit keys. More...

#include <AES.h>

Inheritance diagram for AES256:
AESCommon BlockCipher

Public Member Functions

 AES256 ()
 Constructs an AES 256-bit block cipher with no initial key. More...
 
size_t keySize () const
 Size of a 256-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...
 
- Public Member Functions inherited from AESCommon
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...
 

Additional Inherited Members

- Protected Member Functions inherited from AESCommon
 AESCommon ()
 Constructs an AES block cipher object.
 

Detailed Description

AES block cipher with 256-bit keys.

See also
AES128, AES192, AESTiny256, AESSmall256

Definition at line 103 of file AES.h.

Constructor & Destructor Documentation

◆ AES256()

AES256::AES256 ( )

Constructs an AES 256-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 42 of file AES256.cpp.

Member Function Documentation

◆ keySize()

size_t AES256::keySize ( ) const
virtual

Size of a 256-bit AES key in bytes.

Returns
Always returns 32.

Implements BlockCipher.

Definition at line 57 of file AES256.cpp.

◆ setKey()

bool AES256::setKey ( const uint8_t *  key,
size_t  len 
)
virtual

Sets the key to use for future encryption and decryption operations.

Parameters
keyThe key to use.
lenThe length of the key.
Returns
Returns false if the key length is not supported, or the key is somehow "weak" and unusable by this cipher.

Use clear() or the destructor to remove the key and any other sensitive data from the object once encryption or decryption is complete.

See also
keySize(), clear()

Implements BlockCipher.

Definition at line 62 of file AES256.cpp.


The documentation for this class was generated from the following files: