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.

Note

Important

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.

Note

Important

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.