Fast precomputation for Montgomery multiplier

US12079594B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-12079594-B2
Application numberUS-202117180999-A
CountryUS
Kind codeB2
Filing dateFeb 22, 2021
Priority dateFeb 22, 2021
Publication dateSep 3, 2024
Grant dateSep 3, 2024

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A Montgomery multiplication apparatus (MMA), for multiplying two multiplicands modulo a predefined number, includes a pre-compute circuit and a Montgomery multiplication circuit. The pre-compute circuit is configured to compute a Montgomery pre-compute value by performing a series of iterations. In a given iteration, the pre-compute circuit is configured to modify one or more intermediate values by performing bit-wise operations on the intermediate values calculated in a preceding iteration. The Montgomery multiplication circuit is configured to multiply the two multiplicands, modulo the predefined number, by performing a plurality of Montgomery reduction operations using the Montgomery pre-compute value computed by the pre-compute circuit.

First claim

Opening claim text (preview).

The invention claimed is: 1. A Montgomery pre-compute circuit, comprising a carry-save-adder (CSA), a sum-shifter and a carry-shifter, which are to compute a Montgomery pre-compute value for a Montgomery multiplication operation by performing a series of iterations, wherein, in a given iteration in the series: the CSA is to produce a sum-output and a carry-output; and the sum-shifter and the carry-shifter are to left-shift the sum-output and the carry-output, respectively, and to feed-back the left-shifted sum-output and the left-shifted carry-output to respective inputs of the CSA. 2. The Montgomery pre-compute circuit according to claim 1 , wherein the Montgomery pre-compute value is given by (2 2n modulo R), n denoting a number of bits of the Montgomery multiplication operation, and R denoting a preselected number. 3. The Montgomery pre-compute circuit according to claim 2 , wherein R=N, N denoting a divisor of the Montgomery multiplication operation. 4. The Montgomery pre-compute circuit according to claim 1 , further comprising an adder, to calculate the Montgomery pre-compute value by summing the sum-output and the carry-output following the series of iterations. 5. The Montgomery pre-compute circuit according to claim 1 , wherein, in the given iteration, the CSA is further to receive as input a modulo-correction number set to N multiplied by −1, −2 or 0, N denoting a divisor of the Montgomery multiplication operation. 6. The Montgomery pre-compute circuit according to claim 1 , wherein the CSA is a three-input CSA that is further to receive as input a modulo-correction number set to N multiplied by −1, −2 or 0, N denoting a divisor of the Montgomery multiplication operation. 7. The Montgomery pre-compute circuit according to claim 1 , wherein the CSA is a four-input CSA that is further to receive as input (i) a first modulo-correction number set to N multiplied by −1 or 0, and (ii) a second modulo-correction number set to N multiplied by −1 or 0, N denoting a divisor of the Montgomery multiplication operation. 8. A method for computing a Montgomery pre-compute value for a Montgomery multiplication operation, the method comprising performing a series of iterations using a carry-save-adder (CSA), a sum-shifter and a carry-shifter, including, in a given iteration in the series: producing a sum-output and a carry-output by the CSA; and left-shifting the sum-output and the carry-output by the sum-shifter and the carry-shifter, respectively; and feeding-back the left-shifted sum-output and the left-shifted carry-output to respective inputs of the CSA. 9. The method according to claim 8 , wherein the Montgomery pre-compute value is given by (2 2n modulo R), n denoting a number of bits of the Montgomery multiplication operation, and R denoting a preselected number. 10. The method according to claim 9 , wherein R=N, N denoting a divisor of the Montgomery multiplication operation. 11. The method according to claim 8 , further comprising calculating the Montgomery pre-compute value by summing the sum-output and the carry-output following the series of iterations. 12. The method according to claim 8 , further comprising, in the given iteration, receiving by the CSA as input a modulo-correction number set to N multiplied by −1, −2 or 0, N denoting a divisor of the Montgomery multiplication operation. 13. The method according to claim 8 , wherein the CSA is a three-input CSA, and comprising further receiving, as input to the CSA, a modulo-correction number set to N multiplied by −1, −2 or 0, N denoting a divisor of the Montgomery multiplication operation. 14. The method according to claim 8 , wherein the CSA is a four-input CSA, and comprising further receiving, as input to the CSA, (i) a first modulo-correction number set to N multiplied by −1 or 0, and (ii) a second modulo-correction number set to N multiplied by −1 or 0, N denoting a divisor of the Montgomery multiplication operation.

Assignees

Inventors

Classifications

  • Providing cryptographic facilities or services · CPC title

  • Secure boot · CPC title

  • Modular multiplication (G06F7/724, G06F7/727, G06F7/728 take precedence) · CPC title

  • G06F7/728Primary

    using Montgomery reduction · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US12079594B2 cover?
A Montgomery multiplication apparatus (MMA), for multiplying two multiplicands modulo a predefined number, includes a pre-compute circuit and a Montgomery multiplication circuit. The pre-compute circuit is configured to compute a Montgomery pre-compute value by performing a series of iterations. In a given iteration, the pre-compute circuit is configured to modify one or more intermediate value…
Who is the assignee on this patent?
Mellanox Technologies Ltd
What technology area does this patent fall under?
Primary CPC classification G06F7/728. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Sep 03 2024 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).