Security Software—Intel
®
QuickAssist Technology Cryptographic API Architecture Overview
Intel
®
EP80579 Software for Security Applications on Intel
®
QuickAssist Technology
PG August 2009
28 Order Number: 320183-004US
Prime number testing can gain a performance improvement through parallelism of the
requests sent through the Cryptographic API. For example, if 30 Miller-Rabin rounds
are required, then issuing two 15 round Miller-Rabin requests would be an optimal
usage of the Cryptographic API.
4.4.3.5 Large Number
Lookaside provides an interface to perform modular exponentiation and modular
inversion functions. These are grouped together under the “Large Number” Category.
These can be used as primitives for other cryptographic protocols. Large number
operations are supported for all sizes up to a maximum of 4096 bits.
• Modular Exponentiation
Modular exponentiation involves taking an integer (the base), raising it to the power of
another integer (the exponent) and then calculating the remainder left when this
number is divided by the modulus. We calculate result = base
exponent
mod modulus.
The RSA and Diffie-Hellman operations both use specialized modular exponentiation
which are optimized for those particular cases. For all other cases the “Large Number”
implementation should be used.
•Modular Inversion
Modular inversion involves taking an integer (typically referred to as pA), inverting it
(i.e. calculating 1/pA), and then calculating the remainder left when this number is
divided by the modulus (typically referred to as pB). We calculate result = (1/pA) mod
pB. This mod inv operation is generic and can be used by any application.
4.4.4 Lookaside Random Overview
The EP80579 integrated processor provides a Deterministic Random Bit Generator
(DRBG) capability. Random numbers are used in many aspects of cryptography (for
example as an initial IV for a cipher in CBC mode) and in the generation of prime
numbers. Random number generation in combination with Primality testing can be
used to create key material.
This feature can generate random bits that conform with the ANSI X9.82 part 1
specification.
§ §