Developer Reference

Contents

MontExp

Computes Montgomery exponentiation.

Syntax

IppStatus ippsMontExp(const IppsBigNumState *
pA
, const IppsBigNumState *
pE
, IppsMontState *
m
, IppsBigNumState *
pR
);
Include Files
ippcp.h
Parameters
pA
Pointer to the big number Montgomery integer within the range of
[0,
m
- 1]
.
pE
Pointer to the big number exponent.
m
Modulus.
pR
Pointer to the montgomery exponentiation result.
Description
The function computes Montgomery exponentiation with the exponent specified by the input positive integer big number to the given positive integer big number of the Montgomery form with respect to the modulus
m
.
The following pseudocode represents this function:
pR
pA
pE
R
-(
pE
-1)
mod m
.
Return Values
ippStsNoErr
Indicates no error. Any other value indicates an error or warning.
ippStsBadArgErr
Indicates an error condition if
pA
or
pE
is a negative integer.
ippStsNullPtrErr
Indicates an error condition if any of the specified pointers is
NULL
.
ippStsScaleRangeErr
Indicates an error condition if
pA
or
pE
is more than
m
.
ippStsOutOfRangeErr
Indicates an error condition if
IppsBigNumState
*
pR
is larger than
IppsMontState
*
m
.
ippStsContextMatchErr
Indicates an error condition if any of the context parameters does not match the operation.
The size of
IppsBigNumState *
pR
should not be less than the data length of the modulus
m
.

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 reserverd 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