Decrypts an entire message and generates its authentication tag in the CCM mode.
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);
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). |
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).
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. |
Copyright © 2000 - 2011, Intel Corporation. All rights reserved.