LibLogicalAccess  2.5.0
An Open Source RFID Library
Loading...
Searching...
No Matches
Static Public Member Functions | Protected Member Functions | List of all members
logicalaccess::openssl::AESSymmetricKey Class Reference

An AES symmetric key. More...

#include <aes_symmetric_key.hpp>

Inheritance diagram for logicalaccess::openssl::AESSymmetricKey:
logicalaccess::openssl::SymmetricKey

Static Public Member Functions

static AESSymmetricKey createRandom (size_t size)
 Create a random symmetric key of a given size.
 
static AESSymmetricKey createFromData (const ByteVector &data)
 Create a symmetric key from the specified data.
 
static AESSymmetricKey createFromPassphrase (const std::string &passphrase)
 Create a 32 bytes long symmetric key from the specified passphrase.
 

Protected Member Functions

 AESSymmetricKey (size_t size)
 Create a new random AESSymmetricKey.
 
 AESSymmetricKey (const ByteVector &data)
 Create an AESInitializationVector from existing data.
 
- Protected Member Functions inherited from logicalaccess::openssl::SymmetricKey
void randomize ()
 Randomize the key.
 

Additional Inherited Members

- Public Member Functions inherited from logicalaccess::openssl::SymmetricKey
 SymmetricKey (size_t size)
 Constructor.
 
 SymmetricKey (const ByteVector &data)
 Constructor.
 
virtual ~SymmetricKey ()
 Virtual destructor.
 
const ByteVectordata () const
 Get the key data.
 

Detailed Description

An AES symmetric key.

AESSymmetricKey represents a 16, 24 or 32 bytes long AES key to use with an instance AESCipher.

You can create an AESSymmetricKey from random values, using createRandom() or from specific data, using createFromData(). You can also generate an AESSymmetricKey from a passphrase, using createFromPassphrase().

Constructor & Destructor Documentation

◆ AESSymmetricKey() [1/2]

logicalaccess::openssl::AESSymmetricKey::AESSymmetricKey ( size_t  size)
explicitprotected

Create a new random AESSymmetricKey.

Parameters
sizeThe size of the key. Must be 16, 24 or 32.

◆ AESSymmetricKey() [2/2]

logicalaccess::openssl::AESSymmetricKey::AESSymmetricKey ( const ByteVector data)
explicitprotected

Create an AESInitializationVector from existing data.

Parameters
dataThe data.
Warning
If data is not 16, 24 or 32 bytes long, the behavior is undefined.

Member Function Documentation

◆ createFromData()

AESSymmetricKey logicalaccess::openssl::AESSymmetricKey::createFromData ( const ByteVector data)
static

Create a symmetric key from the specified data.

Parameters
dataThe data.
Returns
The symmetric key.
Warning
If data is not 16, 24 or 32 bytes long, the behavior is undefined.

◆ createFromPassphrase()

AESSymmetricKey logicalaccess::openssl::AESSymmetricKey::createFromPassphrase ( const std::string &  passphrase)
static

Create a 32 bytes long symmetric key from the specified passphrase.

Parameters
passphraseThe passphrase.
Returns
The symmetric key.

◆ createRandom()

AESSymmetricKey logicalaccess::openssl::AESSymmetricKey::createRandom ( size_t  size)
static

Create a random symmetric key of a given size.

Parameters
sizeThe size of the key. Must be 16, 24 or 32.
Returns
The symmetric key.

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