Developer Reference

Contents

SMS4DecryptCFB

Decrypts byte data stream using SMS4 block cipher in CFB mode.

Syntax

IppStatus ippsSMS4DecryptCFB(const Ipp8u*
pSrc
, Ipp8u*
pDst
, int
len
, int
cfbBlkSize
, const IppsSMS4Spec*
pCtx
, const Ipp8u*
pIV
);
Include Files
ippcp.h
Parameters
pSrc
Pointer to the input ciphertext data stream.
pDst
Pointer to the resulting plaintext data stream of variable length.
len
Length of the ciphertext data stream in bytes.
cfbBlkSize
Size of the CFB block in bytes.
pCtx
Pointer to the
IppsSMS4Spec
context.
pIV
Pointer to the initialization vector for the CFB mode operation.
Description
The function decrypts the input data stream of variable length according to the CFB mode as specified in [NIST SP 800-38A].
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 output data stream length is less than or equal to zero.
ippStsCFBSizeErr
Indicates an error condition if the value for
cfbBlkSize
is illegal.
ippStsContextMatchErr
Indicates an error condition if the context parameter does not match the operation.
ippStsUnderRunErr
Indicates an error condition if
len
is not divisible by cipher block size.

Product and Performance Information

1

Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804