Developer Reference


RSA Algorithm Functions

This section introduces Intel® Integrated Performance Primitives (Intel® IPP) Cryptography functions for RSA algorithm. The section describes a set of primitives to perform operations required for RSA cryptographic systems. This set of primitives offers a flexible user interface that enables scalability of the RSA crypto key size with the limit of up to 4096 bits.
According to [PKCS 1.2.1], a de facto standard for RSA implementations, a pair of keys (public and private) defines forward and inverse transforms of text (or operations on a public and secret key). Mathematical expressions for the forward and inverse transforms are similar. If
is plain text and
is the corresponding ciphertext, the mathematical expressions are as follows:
  • y = x^e mod n
    for the forward transform, or encryption
  • x = y^d mod n
    for the inverse transform, or decryption
In these expressions,
is the public exponent,
is the private exponent, and
is the RSA modulus. To enable direct and inverse transforms, a mathematical relationship exists between these values.
The (
) pair is called the public key. With the known modulus
, the public or private exponent determines whether the RSA cryptosystem is public or private. Intel IPP supports these, interrelated, representations of the private key:
RSA algorithm functions include:
To provide minimum security, the length of the RSA modulus must be equal to or greater than 1024 bits.

Product and Performance Information


Performance varies by use, configuration and other factors. Learn more at