Information security device, information security method, computer program, computer-readable recording medium, and integrated circuit
AssigneePanasonic Corporation
InventorNatsume MATSUZAKI
Life of this patent
Estimating the term…
Abstract
The present invention aims to provide an information security apparatus that counters a simple power analysis attack (SPA) on an information security apparatus such as an RSA cryptosystem. The information security apparatus uses a multiplication with 1 in a Montgomery domain. 1 in the Montgomery domain is determined depending on a modulus and an integer k, which is greater than a number of bits of a modulus p. Therefore, it is hard for attackers who do not know p or k to analyze. Also, even if an analyzer can predict the Hamming weight, it is possible to further improve the safety against the SPA by modifying k or the modulus at random.
Claims18
1-23. (canceled)
An information security apparatus for processing an input value securely and reliably by operating a modular exponentiation that raises the input value to a power of an integer over a predetermined modulus, the modular exponentiation being composed of repeated multiplications performed on each digit of the integer so as to obtain an exponential value, the information security apparatus comprising:
- a modulus setting unit operable to set a first value for the modulus;
- an integer setting unit operable to randomly select an integer k which is greater than a number of valid bits of the modulus;
- a judgment unit operable to judge whether a value of a digit of the integer is 0 or not;
- a Montgomery transform unit operable to perform a Montgomery transform on a value 1 using the integer k in accordance with the first value for the modulus so as to calculate a Montgomery transform value;
- and
- a multiplication unit operable, when the value of the obtained digit is judged to be 0, to operate a modular multiplication using the Montgomery transform value calculated by the Montgomery transform unit.
An information security method used for an information security apparatus for processing an input value securely and reliably by operating a modular exponentiation that raises the input value to a power of an integer over a predetermined modulus, the modular exponentiation being composed of repeated multiplications performed on each digit of the integer so as to obtain an exponential value, the information security method comprising:
- a modulus setting step of setting a value of the modulus;
- an integer setting step of randomly selecting an integer k which is greater than a number of valid bits of the modulus;
- a judgment step of judging whether a value of a digit of the integer is 0 or not;
- a Montgomery transform step of performing a Montgomery transform on a value 1 using the integer k in accordance with the set value of the modulus so as to calculate a Montgomery transform value;
- and
- a multiplying step of operating, when the value of the obtained digit is judged to be 0, a modular multiplication using the Montgomery transform value calculated by the Montgomery transform unit.
A computer program for information security used for an information security apparatus for processing an input value securely and reliably by operating a modular exponentiation that raises the input value to a power of an integer over a predetermined modulus, the modular exponentiation being composed of repeated multiplications performed on each digit of the integer so as to obtain an exponential value, the computer program comprising:
- a modulus setting step of setting a value of the modulus;
- an integer setting step of randomly selecting an integer k which is greater than a number of valid bits of the modulus;
- a judgment step of judging whether a value of a digit of the integer is 0 or not;
- a Montgomery transform step of performing a Montgomery transform on a value 1 using the integer k in accordance with the set value of the modulus so as to calculate a Montgomery transform value by;
- and
- a multiplying step of operating, when the value of the obtained digit is judged to be 0, a modular multiplication using the Montgomery transform value calculated by the Montgomery transform unit.
A computer-readable recording medium storing a computer program for information security used for an information security apparatus for processing an input value securely and reliably by operating a modular exponentiation that raises the input value to a power of an integer over a predetermined modulus, the modular exponentiation being composed of repeated multiplications performed on each digit of the integer so as to obtain an exponential value, the computer program comprising:
- a modulus setting step of setting a value of the modulus;
- an integer setting step of randomly selecting an integer k which is greater than a number of valid bits of the modulus;
- a judgment step of judging whether a value of a digit of the integer is 0 or not;
- a Montgomery transform step of performing a Montgomery transform on a value 1 using the integer k in accordance with the set value of the modulus so as to calculate a Montgomery transform value by;
- and
- a multiplying step of operating, when the value of the obtained digit is judged to be 0, a modular multiplication using the Montgomery transform value calculated by the Montgomery transform unit.
An integrated circuit for processing an input value securely and reliably by operating a modular exponentiation that raises the input value to a power of an integer over a predetermined modulus, the modular exponentiation being composed of repeated multiplications performed on each digit of the integer so as to obtain an exponential value, the integrated circuit comprising:
- a modulus setting step of setting a value of the modulus;
- an integer setting step of randomly selecting an integer k which is greater than a number of valid bits of the modulus;
- a judgment step of judging whether a value of a digit of the integer is 0 or not;
- a Montgomery transform step of performing a Montgomery transform on a value 1 using the integer k in accordance with the set value of the modulus so as to calculate a Montgomery transform value by;
- and
- a multiplying step of operating, when the value of the obtained digit is judged to be 0, a modular multiplication using the Montgomery transform value calculated by the Montgomery transform unit.
Dependencies are inferred from the claim text.