CRYPT_AES_256_KEY_STATE structure (wincrypt.h)

The CRYPT_AES_256_KEY_STATE structure specifies the 256-bit symmetric key information for an Advanced Encryption Standard (AES) cipher.

Syntax

typedef struct _CRYPT_AES_256_KEY_STATE {
  unsigned char Key[32];
  unsigned char IV[16];
  unsigned char EncryptionState[15][16];
  unsigned char DecryptionState[15][16];
  unsigned char Feedback[16];
} CRYPT_AES_256_KEY_STATE, *PCRYPT_AES_256_KEY_STATE;

Members

Key[32]

An array of hexadecimal values that specify a 256-bit cipher key.

IV[16]

An array of hexadecimal values that specify an initialization vector (IV) for the cipher.

EncryptionState[15]

An array of hexadecimal values that specify a 15-round encryption key schedule.

DecryptionState[15]

An array of hexadecimal values that specify a 15-round decryption key schedule.

Feedback[16]

An array of hexadecimal values that specify the feedback vector for a stage in the encryption or decryption process.

Remarks

The CRYPT_AES_256_KEY_STATE structure is used by the CPImportKey and CPExportKey functions when the key BLOB was created by using the dwBlobType parameter set to the KEYSTATEBLOB value.

The Microsoft AES Cryptographic Provider only supports this structure in the context of the Secure Sockets Layer protocol (SSL), where the caller specified PROV_DH_SCHANNEL as the value for the dwProvType parameter of the CryptAcquireContext function.

Requirements

Requirement Value
Minimum supported client Windows Vista [desktop apps only]
Minimum supported server Windows Server 2008 [desktop apps only]
Header wincrypt.h