TDESDecryptCBC

Decrypts variable length data stream in the CBC mode.

Syntax

IppStatus ippsTDESDecryptCBC(const Ipp8u *pSrc, Ipp8u *pDst, int srclen, const IppsDESSpec *pCtx1, const IppsDESSpec *pCtx2, const IppsDESSpec * pCtx3, const Ipp8u *pIV, IppsCPPadding padding);

Parameters

pSrc

Input ciphertext data stream of a variable length.

pDst

Resulting plaintext data stream.

pIV

Initialization vector for TDES CBC mode operation.

srclen

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 is declared in the ippcp.h file. The 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 srclen is not divisible by cipher block size.

Submit feedback on this help topic

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