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

#include <CryptoImpl.h>

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

Public Member Functions

 AES_KeyWrap_Cipher_CommonCrypto (const CryptoBuffer &key)
 
 AES_KeyWrap_Cipher_CommonCrypto (const AES_KeyWrap_Cipher_CommonCrypto &)=delete
 
AES_KeyWrap_Cipher_CommonCryptooperator= (const AES_KeyWrap_Cipher_CommonCrypto &)=delete
 
 AES_KeyWrap_Cipher_CommonCrypto (AES_KeyWrap_Cipher_CommonCrypto &&)=default
 
CryptoBuffer EncryptBuffer (const CryptoBuffer &unEncryptedData) override
 
CryptoBuffer FinalizeEncryption () override
 
CryptoBuffer DecryptBuffer (const CryptoBuffer &encryptedData) 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 ()
 
- 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 KeyWrap mode. The key for the c_tor is the Kek, it either encrypts a CEK or decrypts it.

Definition at line 331 of file CryptoImpl.h.

Constructor & Destructor Documentation

◆ AES_KeyWrap_Cipher_CommonCrypto() [1/3]

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

Create AES in KeyWrap mode off of a 256 bit key.

◆ AES_KeyWrap_Cipher_CommonCrypto() [2/3]

Aws::Utils::Crypto::AES_KeyWrap_Cipher_CommonCrypto::AES_KeyWrap_Cipher_CommonCrypto ( const AES_KeyWrap_Cipher_CommonCrypto )
delete

◆ AES_KeyWrap_Cipher_CommonCrypto() [3/3]

Aws::Utils::Crypto::AES_KeyWrap_Cipher_CommonCrypto::AES_KeyWrap_Cipher_CommonCrypto ( AES_KeyWrap_Cipher_CommonCrypto &&  )
default

Member Function Documentation

◆ DecryptBuffer()

CryptoBuffer Aws::Utils::Crypto::AES_KeyWrap_Cipher_CommonCrypto::DecryptBuffer ( const CryptoBuffer encryptedData)
overridevirtual

Decrypt a buffer of data. Part of the contract for this interface is that intention that a user call this function multiple times for a large stream. As such, multiple calls to this function on the same instance should produce valid sequential output from an encrypted stream.

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

◆ EncryptBuffer()

CryptoBuffer Aws::Utils::Crypto::AES_KeyWrap_Cipher_CommonCrypto::EncryptBuffer ( const CryptoBuffer unEncryptedData)
overridevirtual

Encrypt a buffer of data. Part of the contract for this interface is that intention that a user call this function multiple times for a large stream. As such, multiple calls to this function on the same instance should produce valid sequential output for an encrypted stream.

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

◆ FinalizeDecryption()

CryptoBuffer Aws::Utils::Crypto::AES_KeyWrap_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_KeyWrap_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_KeyWrap_Cipher_CommonCrypto::GetBlockSizeBytes ( ) const
inlineoverrideprotectedvirtual

Implements Aws::Utils::Crypto::CommonCryptoCipher.

Definition at line 356 of file CryptoImpl.h.

◆ GetKeyLengthBits()

size_t Aws::Utils::Crypto::AES_KeyWrap_Cipher_CommonCrypto::GetKeyLengthBits ( ) const
inlineoverrideprotectedvirtual

Implements Aws::Utils::Crypto::CommonCryptoCipher.

Definition at line 358 of file CryptoImpl.h.

◆ operator=()

AES_KeyWrap_Cipher_CommonCrypto& Aws::Utils::Crypto::AES_KeyWrap_Cipher_CommonCrypto::operator= ( const AES_KeyWrap_Cipher_CommonCrypto )
delete

◆ Reset()

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

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