Rijndael128CCMDecryptMessage

Decrypts an entire message and generates its authentication tag in the CCM mode.

Syntax

IppStatus ippsRijndael128CCMDecryptMessage(const Ipp8u* pKey, IppsRijndaelKeyLength keyLen, const Ipp8u* pIV, Ipp32u ivLen, const Ipp8u* pAAD, Ipp32u aadLen, const Ipp8u* pSrc, Ipp8u* pDst, Ipp32u len, Ipp8u* pTag, Ipp32u tagLen);

Parameters

pKey

Pointer to the secret key.

keyLength

Length of the secret key.

pIV

Pointer to the initialization vector.

ivLen

Length of the initialization vector *pIV (in bytes).

pAAD

Pointer to the additional authenticated data (not encrypted).

aadLen

Length of additional authenticated data *pAAD (in bytes).

pSrc

Pointer to the input ciphertext data stream of a variable length.

pDst

Pointer to the resulting plaintext data stream.

len

Length of the plaintext and ciphertext data stream (in bytes).

pTag

Pointer to the authentication tag.

tagLen

Length of the authentication tag *pTag (in bytes).

Description

This function is declared in the ippcp.h file. The function decrypts the input data stream of a variable length and verifies the authentication tag in the CCM mode as specified in [NIST SP 800-38C]. Use this function if the entire message is available. Otherwise, follow the typical sequence of invoking the incremental functions (see AES-CCM Functions).

Return Values

ippStsNoErr

Indicates no error. Any other value indicates an error or warning.

ippStsNullPtrErr

Indicates an error condition if any of the specified pointers is NULL.

ippStsLengthErr

Indicates an error condition if the length parameters do not meet any of the following conditions:

keyLen = IppsRijndaelKey128 or keyLen = IppsRijndaelKey192 or keyLen = IppsRijndaelKey256

7 ivLen 13

4 tagLen 16 and tagLen is even.


Submit feedback on this help topic

Copyright © 2000 - 2011, Intel Corporation. All rights reserved.