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

Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804