Developer Reference

Contents

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
x
is plain text and
y
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,
e
is the public exponent,
d
is the private exponent, and
n
is the RSA modulus. To enable direct and inverse transforms, a mathematical relationship exists between these values.
The (
n,e
) pair is called the public key. With the known modulus
n
, 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

1

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