Developer Reference for Intel® Integrated Performance Primitives Cryptography
Encrypts plaintext in the CBC ciphertext stealing mode of the AES block cipher.
IppStatus ippsAESEncryptCBC_CS1(const Ipp8u* pSrc, Ipp8u* pDst, int len, const IppsAESSpec* pCtx, const Ipp8u* pIV);
IppStatus ippsAESEncryptCBC_CS2(const Ipp8u* pSrc, Ipp8u* pDst, int len, const IppsAESSpec* pCtx, const Ipp8u* pIV);
IppStatus ippsAESEncryptCBC_CS3(const Ipp8u* pSrc, Ipp8u* pDst, int len, const IppsAESSpec* pCtx, const Ipp8u* pIV);
ippcp.h
pSrc |
Pointer to the input plaintext data of variable length. |
pDst |
Pointer to the resulting ciphertext data. |
len |
Length of the input data stream in bytes. |
pCtx |
Pointer to the IppsAESSpec context. |
pIV |
Pointer to the initialization vector for the CBC mode operation. |
These functions encrypt the input data stream according to the three variants of the Cipher Block Chaining (CBC) mode with Ciphertext Stealing (CS), as specified in [NIST SP 800-38A A.]. An important difference of these variants from the CBC mode without CS is that the number of bits in the input plaintext does not have to be a multiple of the block size.
The block size is 128 bits in accordance with [FIPS PUB 197].
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 |
|
ippStsContextMatchErr |
Indicates an error condition if the context parameter does not match the operation. |