Rijndael128GCMInitManaged

Initializes user-supplied memory as the IppsRijndael128GCMState context for use of the AES-GCM implementation with the specified characteristics.

Syntax

IppStatus ippsRijndael128GCMInitManaged(IppAESGCMbehaviour flag, const Ipp8u* pKey, IppsRijndaelKeyLength keyLen, IppsRijndael128GCMState* pState);

Parameters

flag

A flag that defines characteristics for the AES-GCM implementation.

pKey

Pointer to the secret key.

keyLen

Length of the secret key.

pState

Pointer to the IppsRijndael128GCMState context.

Description

This function is declared in the ippcp.h file. The function takes characteristics of the AES-GCM implementation from the input parameter flag and initializes the memory pointed by pState as the IppsRijndael128GCMState context needed to perform encryption and/or decryption that uses the specified AES-GCM implementation. In addition, the function uses the initialization variable and additional authenticated data to provide all necessary key material for both encryption and decryption. The flag parameter is the following enumerator:

typedef enum {
    ippAESGCMdefault,
    ippAESGCMsafe,
    ippAESGCMtable2K
}
IppAESGCMbehaviour;

where the values define the following requirements for the characteristics of the AES-GCM implementation:

ippAESGCMdefault

Minimum memory, that is, the minimum size of the context

ippAESGCMsafe

Maximum protection against timing attacks

ippAESGCMtable2K

Maximum performance of the implementation

Call Rijndael128GCMInitManaged with the same value of flag as used in the previous call to Rijndael128GCMGetSizeManaged.

Note iconNote

If your system is based on microprocessors that support an AES instruction set, the AES-GCM implementation will meet all the above requirements regardless of the value of flag.

Optimization Notice

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

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.

ippStsContextMatchErr

Indicates an error condition if the context parameter does not match the operation.

ippStsLengthErr

Indicates an error condition if keyLen is not set to IppsRijndaelKey128, IppsRijndaelKey192 or IppsRijndaelKey256.

See Also

Submit feedback on this help topic

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