Developer Reference

Contents

AES_S2V_CMAC

Produces the synthetic initialization vector.

Syntax

IppStatus ippsAES_S2V_CMAC(const Ipp8u*
pKey
, int
keyLen
, const Ipp8u*
AD
[], const int
ADlen
[], int
numAD
, Ipp8u*
pSIV
);
Include Files
ippcp.h
Parameters
pKey
Pointer to the key.
keyLen
Length of the key in bytes.
AD
Array of pointers to individual input strings.
ADlen
Array of length (in bytes) of the individual input strings.
numAD
The number of the strings.
pSIV
Pointer to the output 16-byte vector.
Description
The
AES_S2V_CMAC
function takes a key and maps the vector of individual strings
AD
[0],
AD
[1], …,
AD
[
numAD
-1] to the 16-byte output vector.
The function uses pseudorandom AES_CMAC functions to process each input string, as well as doubling and xoring operations to map the output to a single output vector.
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:
  • The
    keyLen
    parameter is different from 16, 24, and 32
  • The number of the strings
    numAD
    in the
    AD
    array is negative
  • The length
    ADlen
    [
    i
    ] of any individual input string is negative

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