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 theSpecsuffix.
- State structures, which are modified during operation. Their names include theStatesuffix.
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.