nn::crypto::CcmEncryptor

nn::crypto::CcmEncryptor Class

Syntax

class CcmEncryptor : public nn::crypto::AuthenticatedEncryptor

Description

Class for encrypting and generating an MAC in CCM mode.

CCM uses the cipher mode with verification stipulated by NIST SP 800-38C. When implementing this class, use the methods described in Appendix A of the above documentation for the input value format and counter value generation function.

CCM mode only supports block ciphers with block lengths of 128 bits.

Member Constants

S BLOCK_SIZE const size_t Constant representing the block size.
S IV_SIZE const size_t Constant representing the maximum IV size.
S UNIT_SIZE const size_t Constant representing the processing unit size.
S MAC_SIZE const size_t Constant representing the maximum MAC size.

Member Functions

Initialize Initializes encryption in CCM mode.
V Finalize Finalizes encryption in CCM mode.
V GetIvSize Gets the maximum IV size.
V GetUnitSize Gets the processing unit size.
V GetMacSize Gets the maximum MAC size.
V UpdateAdata Specifies the Adata.
V UpdateAdataFinal Finalizes Adata specification.
V UpdatePdata Specifies the Pdata and gets the encryption result.
V UpdatePdataFinal Finalizes Pdata specification.
V GenerateMac Generates an MAC.
S EncryptAndGenerate Handles batch encryption and MAC generation in CTR mode.

Class Hierarchy

nn::crypto::CipherMode
  nn::crypto::AuthenticatedEncryptor
    nn::crypto::CcmEncryptor

Revision History

2011/10/27
Initial version.

CONFIDENTIAL