Gets the size of the IppsRijndael128GCMState context for use of the AES-GCM implementation with the specified characteristics.
IppStatus ippsRijndael128GCMGetSizeManaged(IppAESGCMbehaviour flag, Ipp32u* pSize);
flag |
A flag that defines characteristics of the AES-GCM implementation. |
pSize |
Pointer to the size of the IppsRijndael128GCMState context. |
This function is declared in the ippcp.h file. The function takes characteristics of the AES-GCM implementation from the input parameter flag, gets the size of the IppsRijndael128GCMState context (in bytes) needed to perform encryption and/or decryption that uses the specified AES-GCM implementation, and stores the size in *pSize. 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 |
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 |
---|
The Intel® Integrated Performance Primitives (Intel® IPP) library contains functions that are more highly optimized for Intel microprocessors than for other microprocessors. While the functions in the Intel® IPP library offer optimizations for both Intel and Intel-compatible microprocessors, depending on your code and other factors, you will likely get extra performance on Intel microprocessors. While the paragraph above describes the basic optimization approach for the Intel® IPP library as a whole, the library may or may not be optimized to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include Intel® Streaming SIMD Extensions 2 (Intel® SSE2), Intel® Streaming SIMD Extensions 3 (Intel® SSE3), and Supplemental Streaming SIMD Extensions 3 (Intel® 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. Intel recommends that you evaluate other library products to determine which best meets your requirements. |
ippStsNoErr |
Indicates no error. Any other value indicates an error or warning. |
ippStsNullPtrErr |
Indicates an error condition if the specified pointer is NULL. |
Copyright © 2000 - 2010, Intel Corporation. All rights reserved.