Developer Reference

Contents

Rijndael Functions

Rijndael cipher scheme is an iterated block cipher with a variable block size and a variable key length.
Rijndael functions with the 128-bit key length are, in fact, Advanced Encryption Standard (AES) cipher functions implemented in the way to comply with the American Standard FIPS 197.
The
AES*
functions use the
IppsAESSpec
context. This context serves as an operational vehicle to carry not only a set of round keys and a set of round inverse keys at the same time, but also the key management information.
Once the respective initialization function generates the round keys, the functions for ECB, CBC, CFB, and other modes are ready for either encrypting or decrypting the streaming data.
The application code for conducting a typical encryption under CBC mode using the AES scheme, that is, the Rijndael128 with a 128-bit key, should follow the sequence of operations as outlined below:
  1. Get the size required to configure the context
    IppsAESSpec
    by calling the function
    AESGetSize
    .
  2. Call the operating system memory-allocation service function to allocate a buffer whose size is no less than the one specified by the function
    AESGetSize
    .
  3. Initialize the context
    IppsAESSpec
    *pCtx
    by calling the function
    AESInit
    with the allocated buffer and the respective 128-bit AES key.
  4. Specify the initialization vector and call the function
    AESEncryptCBC
    to encrypt the input data stream using the AES encryption function with CBC mode.
  5. Clean up secret data stored in the context.
  6. Call the operating system memory free service function to release the buffer allocated for the context
    IppsAESSpec
    , if needed.
The
IppsAESSpec
context
is
position-dependent. The
AESPack/AESUnpack
function transform
s
the respective position-dependent context to a position-independent form and vice versa.

Product and Performance Information

1

Performance varies by use, configuration and other factors. Learn more at www.Intel.com/PerformanceIndex.