Efficient modular reduction and modular multiplication
AssigneeInternational Business Machines Corporation
InventorChin-Long Chen
Life of this patent
Estimating the term…
Loading patent…
AssigneeInternational Business Machines Corporation
InventorChin-Long Chen
Estimating the term…
Modular reduction and modular multiplication for large numbers are required operations in public key cryptography. Moreover, efficient execution of these two operations is important to achieve high performance levels in cryptographic engines and processes. The present invention uses multiplication and addition instead of using division and subtraction to perform modular arithmetic. The present invention also achieves some of its advantages through processing which begins with the high order bits coupled with judicious observations pertaining to circumstances under which carry output signals from addition operations are generated. These carry output signals are used to provide corrections which thus enable the use of the higher order bits and the efficiencies that such use engenders. Additionally, unlike other methods, the present invention avoids the baggage of preprocessing and post processing operations.
A method for producing A mod N, where A is a binary number considered as having n blocks with k bits each and where N is a binary number considered as having m blocks of k bits each, said method comprising the steps of:
A circuit for producing A mod N, where A is a binary number considered as having n blocks with k bits each and where N is a binary number considered as having m blocks of k bits each, said circuit comprising:
A method for producing A×B mod N where A and B are binary numbers with at least one of them being considered as having m blocks with k bits each and where N is a binary number, said method comprising the steps of:
A circuit for producing A×B mod N, where A and B are binary numbers with at least one of them being considered as having m blocks with k bits each and where N is a binary number, said circuit comprising:
A method for producing A×B mod N where A and B are binary numbers with at least one of them being considered as having m blocks with k bits each and where N is a binary number, said method comprising the steps of:
A circuit for producing A×B mod N, where A and B are binary numbers with at least one of them being considered as having m blocks with k bits each and where N is a binary number, said circuit comprising:
A computer readable medium having computer executable instructions thereon for causing a computer to perform the following operations for producing A mod N, where A is a binary number considered as having n blocks with k bits each and where N is a binary number considered as having m blocks of k bits each:
A computer readable medium having computer executable instructions thereon for causing a computer to perform the following operations for producing A×B mod N, where A and B are binary numbers with at least one of them being considered as having m blocks with k bits each and where N is a binary number considered as having m blocks of k bits each:
A computer readable medium having computer executable instructions thereon for causing a computer to perform the following operations for producing A×B mod N, where A and B are binary numbers with at least one of them being considered as having m blocks with k bits each and where N is a binary number considered as having m blocks of k bits each:
Dependencies are inferred from the claim text.