Visible to Intel only — GUID: GUID-25F81EB0-DB7A-4A86-91BD-672C5E3EA265
Visible to Intel only — GUID: GUID-25F81EB0-DB7A-4A86-91BD-672C5E3EA265
AES_SIVEncrypt
Performs the SIV authenticated encryption using the AES cipher.
Syntax
IppStatus ippsAES_SIVEncrypt(const Ipp8u* pSrc, Ipp8u* pDst, int len, Ipp8u* pSIV, const Ipp8u* pAuthKey, const Ipp8u* pConfKey, int keyLen, const Ipp8u* AD[], const int ADlen[], int numAD);
Include Files
ippcp.h
Parameters
pSrc |
Pointer to the input data to encrypt (plaintext). |
pDst |
Pointer to the output encrypted data (ciphertext). |
len |
Length in bytes of the plaintext and ciphertext. |
pSIV |
Pointer to the output synthetic initialization vector. |
pAuthKey |
Pointer to the authentication key. |
pConfKey |
Pointer to the confidentiality key. |
keyLen |
Length of keys in bytes. |
AD |
Array of pointers to the associated input strings. |
ADlen |
Array of length (in bytes) of the associated input strings. |
numAD |
The number of the associated strings. |
Description
The AES_SIVEncrypt function acceptsauthentication and confidentiality keys of length keyLen each, plaintext (*pSrc) of an arbitrarylength len, and a vector AD[] of associated data(strings). The output of the function is the 16-byte synthetic initialization vector (*pSIV) andencrypted data (*pDst) of the same length as theplaintext.
The computation includes the following steps:
Compute a synthetic initialization vector by passing the plaintext, pAuthKey key, and AD[] to AES_S2V_CMAC.
Encrypt the plaintext using the AES cipher in the CTR mode with the initial counter value (CTR0) equal to the synthetic initialization vector xored with a fixed mask.
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 or a pointer AD[i] to any individual string is NULL while the length ADlen[i] is non-zero. |
ippStsLengthErr |
Indicates an error condition that occurs because of one of the following:
|