MontMul

Computes Montgomery modular multiplication for positive integer big numbers of Montgomery form.

Syntax

IppStatus ippsMontMul(IppsBigNumState *a, IppsBigNumState *b, IppsMontState *m, IppsBigNumState *r);

Parameters

a

Multiplicand within the range [0, m - 1].

b

Multiplier within the range [0, m - 1].

m

Modulus.

r

Montgomery multiplication result.

Description

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.

Return Values

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.

Note iconNote

The size of IppsBigNumState *r should not be less than the data length of the modulus m.


Submit feedback on this help topic

Copyright © 2000 - 2011, Intel Corporation. All rights reserved.