Developer Reference

Contents

Function Context Structures

Some Intel IPP Cryptography functions use special structures to store function-specific (context) information. For example, the
IppsRijndael128Spec
structure stores a set of round keys, a set of round inverse keys, and key management information for the Rijndael cipher scheme with the block size equal to 128.
Two different kinds of context structures are used:
  • Specification structures, which are not modified during the function's operation. Their names include the
    Spec
    suffix.
  • State structures, which are modified during operation. Their names include the
    State
    suffix.
It is your application that defines the life cycle of the context: initialization, updating, and destruction.
Each type of context is initialized with the specific initialization function. For example, the
ippsAESInit
function initializes the user-supplied memory as the
IppsAESState
context.
Your application must exclusively pass the address of the original (initialized by the suitable
Init
function) context to an Intel IPP function.
Simple copying of the context (for example, using
memcpy()
) and passing the address of this copy instead of the address of the original context to an Intel IPP call may lead to misinterpretation inside the library function.

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