RSA Primitives

The list of RSA cryptographic primitives is given in Table “Intel IPP RSA Primitives”.

Intel IPP RSA Primitives 
Function Base Name Operation
RSAEncrypt Performs the RSA encryption operation.
RSADecrypt Performs the RSA decryption operation.

The application code for conducting a typical RSA encryption must perform the following sequence of operations, starting with building of a crypto system:


  1. Call the function RSAGGetSize to get the size required to configure IppsRSAState context.
  2. Ensure that the required memory space is properly allocated. With the allocated memory, call the RSAInit function to initialize the context for the RSA encryption.
  3. Keep calling the RSASetKey to set up RSA public key (n, e).
  4. Invoke the RSAEncrypt function with the established RSA public key to encode the plaintext into the respective ciphertext.
  5. Free the memory allocated for the IppsRSAState context by calling the operating system memory free service function.

The typical application code for the RSA decryption must perform the following sequence of operations:


  1. Call the function RSAGGetSize to get the size required to configure IppsRSAState context.
  2. Ensure that the required memory space is properly allocated. With the allocated memory, call the RSAInit function to initialize the context for the RSA decryption.
  3. Establish the RSA private key by means of either RSAGenerate function or by key setup function RSASetKey. The RSAGenerate function computes the private key d with respect to the generated public key e, as well as several other components for applying the CRT. When using RSASetKey, you have an option of presenting the private key either as a pair (n,d) or quantiple (p, q, dP, dQ, qInv).
  4. Invoke the RSADecrypt function with the established RSA public key to decode the ciphertext into the respective plaintext.
  5. Free the memory allocated for the IppsRSAState context by calling the operating system memory free service function.

Submit feedback on this help topic

Copyright © 2000 - 2011, Intel Corporation. All rights reserved.