IP Library Granted Patent US 8,532,286
Granted Patent B2
US 8,532,286 · App. 12/838,999 · Granted Sep 10, 2013

System and method for reducing the computation and storage requirements for a montgomery-style reduction

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,532,286
App. No.
12/838,999
Granted
Sep 10, 2013
Kind
B2
Abstract

A system and method are described that provide an alternative way in which to produce a Montgomery reduction from below by storing a new precomputed value used to substantially replace the μ and n values used in Montgomery reduction with a single value. By modifying the Montgomery reduction mechanism in this way, the number of multiplications and registers required to effect the Montgomery reduction can be reduced. To avoid having to store both μ and n, a modified reduction value or a logical shift or signed version of such a value can be used in place of μ and n for the bulk of the low-order reduction.

Claims (40)

1. A method for performing, on a cryptographic apparatus, a Montgomery-style reduction in a cryptographic operation, the method comprising:

obtaining an operand for the cryptographic operation;

computing a modified operand using a reduction value, instead of a modulus used in performing a standard Montgomery reduction, to perform a replacement of a least significant word of the operand, rather than perform a cancellation thereof, the reduction value being a function of the modulus; and

outputting the modified operand.

2. The method according to claim 1 wherein the reduction value is n′=2 −w mod n, or a shifted or signed version of n′, w corresponds to a word size, and n corresponds to the modulus.

3. The method according to claim 1 , wherein the computing further comprises:

successively applying the reduction value to perform a replacement of each of the second least significant word of the operand through the second most significant word of the operand; and

performing a standard Montgomery reduction on the most significant word of the operand.

4. The method according to claim 3 , wherein the performing a standard Montgomery reduction comprises storing a precomputed value μ in a register, using the value μ in computing another value m, and overwriting the register with m.

5. The method according to claim 1 , wherein the cryptographic apparatus comprises a Montgomery engine configured to perform the cryptographic operation.

6. The method according to claim 1 , wherein the reduction value is pre-computed and stored with one or more cryptographic system parameters prior to the computing.

7. The method according to claim 1 , wherein the performing comprises zeroing the least significant word of the operand, modifying one or more remaining words, and shifting one or more modified words, wherein the shifting is either logical or physical.

8. The method according to claim 7 , wherein if a carry is produced during the computing, the outputting comprises adding the carry as a most significant word in the modified operand.

9. The method according to claim 1 , wherein said cryptographic operation comprises multiplication or squaring.

10. A cryptographic apparatus comprising a processor configured to operate as a Montgomery engine, and computer executable instructions that when executed by the processor:

obtain an operand for the cryptographic operation;

compute a modified operand using a reduction value, instead of a modulus used in performing a standard Montgomery reduction, to perform a replacement of a least significant word of the operand, rather than perform a cancellation thereof, the reduction value being a function of the modulus; and

output the modified operand.

11. The apparatus according to claim 10 , wherein said reduction value is n′=2 −w mod n, or a shifted or signed version of n′, w corresponds to a word size, and n corresponds to the modulus.

12. The apparatus according to claim 10 , wherein the computing further comprises:

successively applying the reduction value to perform a replacement of each of the second least significant word of the operand through the second most significant word of the operand; and

performing a standard Montgomery reduction on the most significant word of the operand.

13. The apparatus according to claim 12 , wherein performing a standard Montgomery reduction comprises storing a precomputed value μ in a register, using the value μ in computing another value m, and overwriting the register with m.

14. The apparatus according to claim 10 , wherein the reduction value is pre-computed and stored with one or more cryptographic system parameters prior to the computing.

15. The apparatus according to claim 10 , wherein the performing comprises zeroing the least significant word of the operand, modifying one or more remaining words, and shifting one or more modified words, wherein the shifting is either logical or physical.

16. The apparatus according to claim 15 , wherein if a carry is produced during the computing, the apparatus is configured to add the carry as a most significant word in the modified operand.

17. The apparatus according to claim 10 , wherein the cryptographic operation comprises multiplication or squaring.

18. A non-transitory computer readable medium comprising computer executable instructions that when executed by a cryptographic apparatus, cause the cryptographic apparatus to:

obtain an operand for the cryptographic operation;

compute a modified operand using a reduction value, instead of a modulus used in performing a standard Montgomery reduction, to perform a replacement of a least significant word of the operand, rather than perform a cancellation thereof, the reduction value being a function of the modulus; and

output the modified operand.

19. The non-transitory computer readable medium according to claim 18 , wherein said reduction value is n′=2 −w mod n, or a shifted or signed version of n′, w corresponds to a word size and n corresponds to the modulus.

20. The non-transitory computer readable medium according to claim 18 , wherein the computing further comprises:

successively applying the reduction value to perform a replacement of each of the second least significant word of the operand through the second most significant word of the operand; and

performing a standard Montgomery reduction on the most significant word of the operand.

21. The non-transitory computer readable medium according to claim 20 , wherein performing a standard Montgomery reduction comprises storing a precomputed value μ in a register, using the value μ in computing another value m, and overwriting the register with m.

22. The non-transitory computer readable medium according to claim 18 , wherein the reduction value is pre-computed and stored with one or more cryptographic system parameters prior to the computing.

23. The non-transitory computer readable medium according to claim 18 , wherein the performing comprises zeroing the least significant word of the operand, modifying one or more remaining words, and shifting one or more modified words, wherein the shifting is either logical or physical.

24. The non-transitory computer readable medium according to claim 23 , wherein if a carry is produced during the computing, executing instructions to add the carry as a most significant word in the modified operand.

25. The non-transitory computer readable medium according to claim 18 , wherein the cryptographic operation comprises multiplication or squaring.

Assignments (5)
NUNC PRO TUNC ASSIGNMENT Recorded Jun 19, 2023
From: BLACKBERRY LIMITED
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064270/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 16, 2023
From: BLACKBERRY LIMITED
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064104/0103 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 2, 2019
From: CERTICOM CORP.
To: BLACKBERRY LIMITED
Reel/Frame 050610/0937 →
CHANGE OF NAME Recorded Jul 29, 2013
From: RESEARCH IN MOTION LIMITED
To: BLACKBERRY LIMITED
Reel/Frame 030919/0108 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 5, 2010
From: LAMBERT, ROBERT JOHN
To: CERTICOM CORP.
Reel/Frame 024793/0989 →