Protection of a modular exponentiation calculation performed by an integrated circuit
First Claim
1. A method for protecting a digital quantity contained in an integrated circuit over a first number of bits, in a calculation of modular exponentiation of data by said digital quantity, comprising:
- selecting, by the integrated circuit, at least a second number ranging between unity and the first number minus two;
dividing, by the integrated circuit, the digital quantity into at least two portions, a first portion comprising, from the bit of rank zero, a number of bits equal to the second number, and a second portion comprising the remaining bits;
calculating, by the integrated circuit, a first modular exponentiation of the data by the first portion of the digital quantity to provide a first result;
calculating, by the integrated circuit, a first modular exponentiation of the data by the second portion of the digital quantity to provide a second result;
calculating, by the integrated circuit, a second modular exponentiation of the second result by two raised to the power of the second number to provide a third result; and
calculating, by the integrated circuit., the product of the first and third results of the modular exponentiations.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and a circuit for protecting a numerical quantity contained in an integrated circuit on a first number of bits, in a modular exponentiation computing of a data by the numerical quantity, including: selecting at least one second number included between the unit and said first number minus two; dividing the numerical quantity into at least two parts, a first part including, from the bit of rank null, a number of bits equal to the second number, a second part including the remaining bits; for each part of the quantity, computing a first modular exponentiation of said data by the part concerned and a second modular exponentiation of the result of the first by the FIG. 2 exponentiated to the power of the rank of the first bit of the part concerned; and computing the product of the results of the first and second modular exponentiations.
19 Citations
18 Claims
-
1. A method for protecting a digital quantity contained in an integrated circuit over a first number of bits, in a calculation of modular exponentiation of data by said digital quantity, comprising:
-
selecting, by the integrated circuit, at least a second number ranging between unity and the first number minus two; dividing, by the integrated circuit, the digital quantity into at least two portions, a first portion comprising, from the bit of rank zero, a number of bits equal to the second number, and a second portion comprising the remaining bits; calculating, by the integrated circuit, a first modular exponentiation of the data by the first portion of the digital quantity to provide a first result; calculating, by the integrated circuit, a first modular exponentiation of the data by the second portion of the digital quantity to provide a second result; calculating, by the integrated circuit, a second modular exponentiation of the second result by two raised to the power of the second number to provide a third result; and calculating, by the integrated circuit., the product of the first and third results of the modular exponentiations. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method for protecting a digital quantity contained in an integrated circuit, the digital quantity having a first number of bits, in a modular exponentiation of data by the digital quantity, comprising:
-
selecting, by the integrated circuit, a second number in a range between unity and the first number minus two; partitioning, by the integrated circuit, the digital quantity into a first portion comprising the second number of bits of the digital quantity and a second portion comprising remaining bits of the digital quantity; calculating, by the integrated circuit, a first modular exponentiation of the data by the first portion of the digital quantity to provide a first result; calculating, by the integrated circuit, a first modular exponentiation of the data by the second portion of the digital quantity to provide a second result; calculating, by the integrated circuit, a second modular exponentiation of the second result by two raised to the power of the second number to provide a third result; and calculating, by the integrated circuit, a product of the first and third results to provide a modular exponentiation of the data by the digital quantity. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17)
-
-
18. An integrated circuit comprising:
-
a central processing unit; a memory; and an input/output circuit, wherein the memory is encoded with instructions that, when executed by the central processing unit, perform a method for protecting a digital quantity contained in the integrated circuit, the digital quantity having a first number of bits, in a modular exponentiation of data by the digital quantity, the method comprising; selecting, by the integrated circuit, a second number in a range between unity and the first number minus two; partitioning, by the integrated circuit, the digital quantity into a first portion comprising the second number of bits of the digital quantity and a second portion comprising remaining bits of the digital quantity; calculating, by the integrated circuit, a first modular exponentiation of the data by the first portion of the digital quantity to provide a first result; calculating, by the integrated circuit, a first modular exponentiation of the data by the second portion of the digital quantity to provide a second result; calculating, by the integrated circuit, a second modular exponentiation of the second result by two raised to the power of the second number to provide a third result; and calculating, by the integrated circuit, a product of the first and third results to provide a modular exponentiation of the data by the digital quantity.
-
Specification