Visible to Intel only — GUID: GUID-4627DBB6-D38C-49AA-A105-C39B1EF1F9D7
Visible to Intel only — GUID: GUID-4627DBB6-D38C-49AA-A105-C39B1EF1F9D7
TDESDecryptCBC
Decrypts variable length data stream in the CBC mode (deprecated).
Syntax
IppStatus ippsTDESDecryptCBC(const Ipp8u *pSrc, Ipp8u *pDst, int length, const IppsDESSpec *pCtx1, const IppsDESSpec *pCtx2, const IppsDESSpec * pCtx3, const Ipp8u *pIV, IppsCPPadding padding);
Include Files
ippcp.h
Parameters
pSrc |
Input ciphertext data stream of a variable length. |
pDst |
Resulting plaintext data stream. |
pIV |
Initialization vector for TDES CBC mode operation. |
length |
Input data stream length in bytes. |
pCtx1 |
First set of round keys scheduled for TDES internal operations. |
pCtx2 |
Second set of round keys scheduled for TDES internal operations. |
pCtx3 |
Third set of round keys scheduled for TDES internal operations. |
padding |
IppsCPPaddingNONE padding scheme. |
Description
This function decrypts the input data stream of a variable length according to the cipher scheme specified in NIST SP 800-38A. The function uses three sets of the supplied round keys in the Cipher Block Chaining (CBC) mode with the initialization vector. The function returns the ciphertext result and validates the final plaintext block.
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 decrypted plaintext data stream length is less than or equal to zero. |
ippStsContextMatchErr |
Indicates an error condition if the context parameter does not match the operation. |
ippStsUnderRunErr |
Indicates an error condition if length is not divisible by cipher block size. |