LibLogicalAccess  2.5.0
An Open Source RFID Library
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Static Public Member Functions | Protected Member Functions | Static Private Attributes | List of all members
logicalaccess::openssl::AESInitializationVector Class Reference

An AES initialization vector. More...

#include <aes_initialization_vector.hpp>

Inheritance diagram for logicalaccess::openssl::AESInitializationVector:
logicalaccess::openssl::InitializationVector

Static Public Member Functions

static AESInitializationVector createNull ()
 Create a null IV.
 
static AESInitializationVector createRandom ()
 Create a random IV.
 
static AESInitializationVector createFromData (const ByteVector &data)
 Create an IV from data.
 

Protected Member Functions

 AESInitializationVector (bool random)
 Create a new AESInitializationVector.
 
 AESInitializationVector (const ByteVector &data)
 Create an AESInitializationVector from existing data.
 
- Protected Member Functions inherited from logicalaccess::openssl::InitializationVector
void zero ()
 Zero the IV.
 
void randomize ()
 Randomize the IV.
 

Static Private Attributes

static const size_t DEFAULT_SIZE = 16
 The AES initialization vector size.
 

Additional Inherited Members

- Public Member Functions inherited from logicalaccess::openssl::InitializationVector
 InitializationVector (size_t size, bool random)
 Create a new InitializationVector.
 
 InitializationVector (const ByteVector &data)
 Create an InitializationVector from existing data.
 
const ByteVectordata () const
 Get the IV data.
 

Detailed Description

An AES initialization vector.

AESInitializationVector represents an AES initialization vector (IV). Every AESInitializationVector is 16 bytes long.

It is meant to be used with an instance of AESCipher.

Constructor & Destructor Documentation

◆ AESInitializationVector() [1/2]

logicalaccess::openssl::AESInitializationVector::AESInitializationVector ( bool  random)
explicitprotected

Create a new AESInitializationVector.

Parameters
randomtrue if the IV must be randomized, false otherwise.

◆ AESInitializationVector() [2/2]

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

Create an AESInitializationVector from existing data.

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

Member Function Documentation

◆ createFromData()

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

Create an IV from data.

Parameters
dataThe data. Must be 16 exactly bytes long.
Returns
IV from the data.
Warning
If data is not exactly 16 bytes long, the behavior is undefined.

◆ createNull()

AESInitializationVector logicalaccess::openssl::AESInitializationVector::createNull ( )
static

Create a null IV.

◆ createRandom()

AESInitializationVector logicalaccess::openssl::AESInitializationVector::createRandom ( )
static

Create a random IV.

Member Data Documentation

◆ DEFAULT_SIZE

const size_t logicalaccess::openssl::AESInitializationVector::DEFAULT_SIZE = 16
staticprivate

The AES initialization vector size.


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