Apparatus and method for consistency checking public key cryptography computations
First Claim
1. A cryptographic system comprising:
- a first Montgomery-based cryptographic engine receiving a first operand and a second operand and generating therefrom a first result;
a second Montgomery-based cryptographic engine receiving a first reduced operand derived from said first operand, a second reduced operand derived from said second operand, and a reduced intermediate result derived from an intermediate result generated by the first Montgomery-based cryptographic engine, and generating therefrom a second result, wherein said second Montgomery-based cryptographic engine operates in parallel with said first Montgomery-base cryptographic engine; and
a first reduction engine for reducing the first result to a first reduced result,wherein the first and second reduced operands and the first reduced result are derived using a reduction function that reduces an operand X with respect to a number k by summing all the digits of operand X when represented in base k, to produce a sum, and then dividing the sum by a second number to obtain a modulo remainder.
1 Assignment
0 Petitions
Accused Products
Abstract
A cryptographic system comprising: 1) a first Montgomery-based cryptographic engine that receives a first operand and a second operand and generates a first result and 2) a second Montgomery-based cryptographic engine that receives a first reduced operand derived from the first operand and a second reduced operand derived from the second operand and generates a second result. The second Montgomery-based cryptographic engine operates in parallel with the first Montgomery-base cryptographic engine. The cryptographic system further comprises a comparator for comparing the second result to a first reduced result derived from the first result and generating an error flag if the second result and the first reduced result are different.
-
Citations
20 Claims
-
1. A cryptographic system comprising:
-
a first Montgomery-based cryptographic engine receiving a first operand and a second operand and generating therefrom a first result; a second Montgomery-based cryptographic engine receiving a first reduced operand derived from said first operand, a second reduced operand derived from said second operand, and a reduced intermediate result derived from an intermediate result generated by the first Montgomery-based cryptographic engine, and generating therefrom a second result, wherein said second Montgomery-based cryptographic engine operates in parallel with said first Montgomery-base cryptographic engine; and a first reduction engine for reducing the first result to a first reduced result, wherein the first and second reduced operands and the first reduced result are derived using a reduction function that reduces an operand X with respect to a number k by summing all the digits of operand X when represented in base k, to produce a sum, and then dividing the sum by a second number to obtain a modulo remainder. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A method of verifying the operation of a first Montgomery-based cryptographic engine capable of receiving a first operand and a second operand and generating therefrom a first result, the method comprising the steps of:
-
generating a first reduced operand from the first operand; generating a second reduced operand from the second operand; generating a reduced intermediate result from an intermediate result generated by the first Montgomery-based cryptographic engine; inputting the first and second reduced operands and the reduced intermediate result to a second Montgomery-based cryptographic engine and generating therefrom a second result, wherein the second Montgomery-based cryptographic engine operates in parallel with the first Montgomery-base cryptographic engine; and reducing the first result to a first reduced result, wherein the first and second reduced operands and the first reduced result are derived using a reduction function that reduces an operand X with respect to a number k by summing all the digits of operand X when represented in base k, to produce a sum, and then dividing the sum by a second number to obtain a modulo remainder. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20)
-
Specification