Computes Montgomery modular multiplication for positive integer big numbers of Montgomery form.
IppStatus ippsMontMul(IppsBigNumState *a, IppsBigNumState *b, IppsMontState *m, IppsBigNumState *r);
a |
Multiplicand within the range [0, m - 1]. |
b |
Multiplier within the range [0, m - 1]. |
m |
Modulus. |
r |
Montgomery multiplication result. |
This function is declared in the ippcp.h file. The function computes the Montgomery modular multiplication for positive integer big numbers of Montgomery form with respect to the modulus IppsMontState *m. As a result, IppsBigNumState *r holds the product.
The following pseudocode represents this function:
r ← a*b* R-1 mod m.
ippStsNoErr |
Indicates no error. Any other value indicates an error or warning. |
ippStsBadArgErr |
Indicates an error condition if a or b is a negative integer. |
ippStsNullPtrErr |
Indicates an error condition if any of the specified pointers is NULL. |
ippStsScaleRangeErr |
Indicates an error condition if a or b is more than m. |
ippStsOutOfRangeErr |
Indicates an error condition if IppsBigNumState *r is larger than IppsMontState *m. |
The size of IppsBigNumState *r should not be less than the data length of the modulus m.
Copyright © 2000 - 2011, Intel Corporation. All rights reserved.