AWS SDK for C++  1.9.159
AWS SDK for C++
Public Member Functions | Protected Member Functions | List of all members
Aws::Utils::Crypto::AES_GCM_Cipher_CommonCrypto Class Reference

#include <CryptoImpl.h>

+ Inheritance diagram for Aws::Utils::Crypto::AES_GCM_Cipher_CommonCrypto:

Public Member Functions

 AES_GCM_Cipher_CommonCrypto (const CryptoBuffer &key)
 
 AES_GCM_Cipher_CommonCrypto (const CryptoBuffer &key, const CryptoBuffer *aad)
 
 AES_GCM_Cipher_CommonCrypto (CryptoBuffer &&key, CryptoBuffer &&initializationVector, CryptoBuffer &&tag=CryptoBuffer(0), CryptoBuffer &&aad=CryptoBuffer(0))
 
 AES_GCM_Cipher_CommonCrypto (const CryptoBuffer &key, const CryptoBuffer &initializationVector, const CryptoBuffer &tag=CryptoBuffer(), const CryptoBuffer &aad=CryptoBuffer())
 
 AES_GCM_Cipher_CommonCrypto (const AES_GCM_Cipher_CommonCrypto &other)=delete
 
AES_GCM_Cipher_CommonCryptooperator= (const AES_GCM_Cipher_CommonCrypto &other)=delete
 
 AES_GCM_Cipher_CommonCrypto (AES_GCM_Cipher_CommonCrypto &&toMove)=default
 
CryptoBuffer FinalizeEncryption () override
 
CryptoBuffer FinalizeDecryption () override
 
void Reset () override
 
- Public Member Functions inherited from Aws::Utils::Crypto::CommonCryptoCipher
 CommonCryptoCipher (const CryptoBuffer &key, size_t ivSize, bool ctrMode=false)
 
 CommonCryptoCipher (CryptoBuffer &&key, CryptoBuffer &&initializationVector, CryptoBuffer &&tag=CryptoBuffer(0))
 
 CommonCryptoCipher (const CryptoBuffer &key, const CryptoBuffer &initializationVector, const CryptoBuffer &tag=CryptoBuffer(0))
 
 CommonCryptoCipher (const CommonCryptoCipher &other)=delete
 
CommonCryptoCipheroperator= (const CommonCryptoCipher &other)=delete
 
 CommonCryptoCipher (CommonCryptoCipher &&toMove)
 
CommonCryptoCipheroperator= (CommonCryptoCipher &&toMove)=default
 
virtual ~CommonCryptoCipher ()
 
CryptoBuffer EncryptBuffer (const CryptoBuffer &unEncryptedData) override
 
CryptoBuffer DecryptBuffer (const CryptoBuffer &encryptedData) override
 
- Public Member Functions inherited from Aws::Utils::Crypto::SymmetricCipher
 SymmetricCipher (const CryptoBuffer &key, size_t ivSize, bool ivGenerationInCtrMode=false)
 
 SymmetricCipher (const CryptoBuffer &key, const CryptoBuffer &initializationVector, const CryptoBuffer &tag=CryptoBuffer(0))
 
 SymmetricCipher (CryptoBuffer &&key, CryptoBuffer &&initializationVector, CryptoBuffer &&tag=CryptoBuffer(0))
 
 SymmetricCipher (const SymmetricCipher &other)=delete
 
SymmetricCipheroperator= (const SymmetricCipher &other)=delete
 
 SymmetricCipher (SymmetricCipher &&toMove)
 
SymmetricCipheroperator= (SymmetricCipher &&toMove)
 
virtual ~SymmetricCipher ()=default
 
virtual operator bool () const
 
const CryptoBufferGetIV () const
 
const CryptoBufferGetTag () const
 
bool Fail () const
 
bool Good () const
 

Protected Member Functions

size_t GetBlockSizeBytes () const override
 
size_t GetKeyLengthBits () const override
 
- Protected Member Functions inherited from Aws::Utils::Crypto::CommonCryptoCipher
bool CheckKeyAndIVLength (size_t expectedKeyLength, size_t expectedIVLength)
 
- Protected Member Functions inherited from Aws::Utils::Crypto::SymmetricCipher
 SymmetricCipher ()
 

Additional Inherited Members

- Static Public Member Functions inherited from Aws::Utils::Crypto::SymmetricCipher
static CryptoBuffer GenerateIV (size_t ivLengthBytes, bool ctrMode=false)
 
static CryptoBuffer GenerateKey (size_t keyLengthBytes=SYMMETRIC_KEY_LENGTH)
 
- Protected Attributes inherited from Aws::Utils::Crypto::CommonCryptoCipher
_CCCryptor * m_encryptorHandle
 
_CCCryptor * m_decryptorHandle
 
- Protected Attributes inherited from Aws::Utils::Crypto::SymmetricCipher
CryptoBuffer m_key
 
CryptoBuffer m_initializationVector
 
CryptoBuffer m_tag
 
bool m_failure
 

Detailed Description

CommonCrypto implementation for AES in GCM mode

Definition at line 274 of file CryptoImpl.h.

Constructor & Destructor Documentation

◆ AES_GCM_Cipher_CommonCrypto() [1/6]

Aws::Utils::Crypto::AES_GCM_Cipher_CommonCrypto::AES_GCM_Cipher_CommonCrypto ( const CryptoBuffer key)

Create AES in GCM mode off of a 256 bit key. Auto Generates a 12 bytes IV.

◆ AES_GCM_Cipher_CommonCrypto() [2/6]

Aws::Utils::Crypto::AES_GCM_Cipher_CommonCrypto::AES_GCM_Cipher_CommonCrypto ( const CryptoBuffer key,
const CryptoBuffer aad 
)

Create AES in GCM mode off of a 256 bit key and AAD. Auto Generates a 12 byte IV in the format

◆ AES_GCM_Cipher_CommonCrypto() [3/6]

Aws::Utils::Crypto::AES_GCM_Cipher_CommonCrypto::AES_GCM_Cipher_CommonCrypto ( CryptoBuffer &&  key,
CryptoBuffer &&  initializationVector,
CryptoBuffer &&  tag = CryptoBuffer(0),
CryptoBuffer &&  aad = CryptoBuffer(0) 
)

Create AES in GCM mode off of a 256 bit key and 12 byte IV, tag and additional authentication data (AAD), Note that tag could be acquired from encrypt mode and should only and must be set for decrypt mode.

◆ AES_GCM_Cipher_CommonCrypto() [4/6]

Aws::Utils::Crypto::AES_GCM_Cipher_CommonCrypto::AES_GCM_Cipher_CommonCrypto ( const CryptoBuffer key,
const CryptoBuffer initializationVector,
const CryptoBuffer tag = CryptoBuffer(),
const CryptoBuffer aad = CryptoBuffer() 
)

Create AES in GCM mode off of a 256 bit key and 12 byte IV, tag and additional authentication data (AAD) Note that tag could be acquired from encrypt mode and should only and must be set for decrypt mode.

◆ AES_GCM_Cipher_CommonCrypto() [5/6]

Aws::Utils::Crypto::AES_GCM_Cipher_CommonCrypto::AES_GCM_Cipher_CommonCrypto ( const AES_GCM_Cipher_CommonCrypto other)
delete

◆ AES_GCM_Cipher_CommonCrypto() [6/6]

Aws::Utils::Crypto::AES_GCM_Cipher_CommonCrypto::AES_GCM_Cipher_CommonCrypto ( AES_GCM_Cipher_CommonCrypto &&  toMove)
default

Member Function Documentation

◆ FinalizeDecryption()

CryptoBuffer Aws::Utils::Crypto::AES_GCM_Cipher_CommonCrypto::FinalizeDecryption ( )
overridevirtual

Finalize Decryption, returns anything remaining in the last block

Reimplemented from Aws::Utils::Crypto::CommonCryptoCipher.

◆ FinalizeEncryption()

CryptoBuffer Aws::Utils::Crypto::AES_GCM_Cipher_CommonCrypto::FinalizeEncryption ( )
overridevirtual

Finalize Encryption, returns anything remaining in the last block

Reimplemented from Aws::Utils::Crypto::CommonCryptoCipher.

◆ GetBlockSizeBytes()

size_t Aws::Utils::Crypto::AES_GCM_Cipher_CommonCrypto::GetBlockSizeBytes ( ) const
overrideprotectedvirtual

◆ GetKeyLengthBits()

size_t Aws::Utils::Crypto::AES_GCM_Cipher_CommonCrypto::GetKeyLengthBits ( ) const
overrideprotectedvirtual

◆ operator=()

AES_GCM_Cipher_CommonCrypto& Aws::Utils::Crypto::AES_GCM_Cipher_CommonCrypto::operator= ( const AES_GCM_Cipher_CommonCrypto other)
delete

◆ Reset()

void Aws::Utils::Crypto::AES_GCM_Cipher_CommonCrypto::Reset ( )
overridevirtual

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