Accelerated montgomery multiplication using plural multipliers
First Claim
1. A Montgomery multiplier that modulo multiplies a residue multiplicand by a residue multiplier to obtain a residue product, the Montgomery multiplier comprising:
- a scalar multiplier that is configured to multiply a least significant digit of the multiplicand by a first selected digit of the multiplier to produce a scalar multiplier output;
a first vector multiplier that is configured to multiply the scalar multiplier output by a modulus to produce a first vector multiplier output;
a second vector multiplier that is configured to multiply a second selected digit of the multiplier by the multiplicand to produce a second vector multiplier output; and
an accumulator that is configured to add the first vector multiplier output and the second vector multiplier output to produce a product output.
6 Assignments
0 Petitions
Accused Products
Abstract
Montgomery multipliers and methods modular multiply a residue multiplicand by a residue multiplier to obtain a residue product, using a scalar multiplier, a first vector multiplier and a second vector multiplier. A controller is configured to control the scalar multiplier, the first vector multiplier and the second vector multiplier, to overlap scalar multiplies using a selected digit of the multiplier and vector multiplies using a modulus and the multiplicand. The scalar multiplier is configured to multiply a least significant digit of the multiplicand by a first selected digit of the multiplier, to produce a scalar multiplier output. The first vector multiplier is configured to multiply the scalar multiplier output by a modulus, to produce a first vector multiplier output. The second vector multiplier is configured to multiply a second selected digit of the multiplier by the multiplicand, to produce a second vector multiplier output. An accumulator is configured to add the first vector multiplier output, and the second vector multiplier output, to produce a product output. The latency of Montgomery multiplication thereby can be reduced to nearly the latency of a single scalar multiplication.
-
Citations
40 Claims
-
1. A Montgomery multiplier that modulo multiplies a residue multiplicand by a residue multiplier to obtain a residue product, the Montgomery multiplier comprising:
-
a scalar multiplier that is configured to multiply a least significant digit of the multiplicand by a first selected digit of the multiplier to produce a scalar multiplier output;
a first vector multiplier that is configured to multiply the scalar multiplier output by a modulus to produce a first vector multiplier output;
a second vector multiplier that is configured to multiply a second selected digit of the multiplier by the multiplicand to produce a second vector multiplier output; and
an accumulator that is configured to add the first vector multiplier output and the second vector multiplier output to produce a product output. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A Montgomery multiplier that modulo multiplies a residue multiplicand by a residue multiplier to obtain a residue product, the Montgomery multiplier comprising:
-
a scalar multiplier;
a first vector multiplier;
a second vector multiplier; and
a controller that is configured to control the scalar multiplier, the first vector multiplier and the second vector multiplier to overlap scalar multiplies using a selected digit of the multiplier and vector multiplies using a modulus and the multiplicand. - View Dependent Claims (16, 17, 18, 19, 20, 21)
-
-
22. A Montgomery multiplication method that modulo multiplies a residue multiplicand by a residue multiplier to obtain a residue product, the Montgomery multiplication method comprising:
-
multiplying a least significant digit of the multiplicand by a first selected digit of the multiplier in a scalar multiplier to produce a scalar multiplier output;
multiplying the scalar multiplier output by a modulus in a first vector multiplier to produce a first vector multiplier output;
multiplying a second selected digit of the multiplier by the multiplicand in a second vector multiplier to produce a second vector multiplier output; and
adding the first vector multiplier output and the second vector multiplier output to produce a product output. - View Dependent Claims (23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33)
-
-
34. A Montgomery multiplication method that modulo multiplies a residue multiplicand by a residue multiplier to obtain a residue product, using a scalar multiplier, a first vector multiplier and a second vector multiplier;
- the Montgomery multiplication method comprising;
controlling the scalar multiplier, the first vector multiplier and the second vector multiplier to overlap scalar multiplies using a selected digit of the multiplier and vector multiplies using a modulus and the multiplicand. - View Dependent Claims (35, 36, 37, 38, 39, 40)
- the Montgomery multiplication method comprising;
Specification