Device and method for determining an inverse of a value related to a modulus
AssigneeInfineon Technologies AG
InventorWieland FISCHER
Life of this patent
Estimating the term…
Abstract
A device for determining an inverse of an initial value related to a modulus, comprising a unit configured to process an iterative algorithm in a plurality of iterations, wherein an iteration includes two modular reductions and has, as an iteration loop result, values obtained by an iteration loop of an extended Euclidean algorithm.
Claims23
A device for determining an inverse of an initial value related to a modulus, comprising:
- a unit configured to process an iterative algorithm in a plurality of iterations, wherein an iteration includes two modular reductions and has, as an iteration loop result, values obtained by an iteration loop of an extended Euclidean algorithm, wherein an integer result of an integer division does not appear directly in the plurality of iterations,
- wherein the unit comprises a controller configured to perform the iteration loop as long as an iteration loop requirement is fulfilled, wherein the iteration loop is left, when the iteration loop requirement is not fulfilled, and wherein the iteration loop result of the last iteration is returned to obtain or to determine the inverse of the initial value, and
- wherein the unit comprises a hardware implementation.
A device for determining an inverse of an initial value related to an initial modulus, comprising:
- a unit configured to process an iterative algorithm in a plurality of iterations, the unit being configured, within an iteration, to:
- determine a preliminary first iteration result value based on a first iteration result value of a preceding iteration or an initial first iteration result value in case of a first iteration and a modular reduction with respect to a modulus determined using an iteration modulus of the preceding iteration or the initial value in case of a first iteration, a second iteration result value or an initial second iteration result value in case of a first iteration and an enlargement parameter;
- perform a modular reduction of an iteration value of the preceding iteration or the initial modulus in case of a first iteration with respect to the iteration modulus of the preceding iteration resulting in an updated iteration value;
- and
- extract an first iteration result value from the preliminary first iteration result value using the updated iteration value,
- wherein an integer result of an integer division does not appear directly in the plurality of iterations,
- wherein the unit comprises a controller configured to perform the iteration loop as long as an iteration loop requirement is fulfilled, wherein the iteration loop is left, when the iteration loop requirement is not fulfilled, and wherein the iteration loop result of the last iteration is returned to obtain or to determine the inverse of the initial value, and
- wherein the unit comprises a hardware implementation.
A device for determining an inverse of an initial value related to a modulus using an iterative algorithm in a plurality of iterations, the device comprising:
- a first register configured to store the initial value, and being used for an iteration modulus;
- a second register configured to store the initial modulus, and being used for an iteration value;
- a third register configured to store an initial first iteration result value, and being used for a first iteration result value and a preliminary first iteration result value;
- a fourth register configured to store an initial second iteration result value, and being used for a second iteration result value;
- a fifth register configured to store an enlargement parameter;
- a sixth auxiliary register configured to swap register contents;
- and
- a processing sub-unit configured to access the registers to retrieve register contents when processing an iterative algorithm in a plurality of iterations, wherein an iteration includes two modular reductions and has, as an iteration loop result, values obtained by an iteration loop of an extended Euclidean algorithm,
- wherein an integer result of an integer division does not appear directly in the plurality of iterations, and
- wherein the unit comprises a controller configured to perform the iteration loop as long as an iteration loop requirement is fulfilled, wherein the iteration loop is left, when the iteration loop requirement is not fulfilled, and wherein the iteration loop result of the last iteration is returned to obtain or to determine the inverse of the initial value.
A method for determining an inverse of an initial value related to a modulus, comprising:
- processing an iterative algorithm in a plurality of iterations, wherein an iteration includes two modular reductions and has, as an iteration loop result, values obtained by an iteration loop of an extended Euclidean algorithm, wherein an integer result of an integer division does not appear directly in the plurality of iterations,
- wherein the iteration loop is performed as long as an iteration loop requirement is fulfilled, wherein the iteration loop is left, when the iteration loop requirement is not fulfilled, and wherein the iteration loop result of the last iteration is returned to obtain or to determine the inverse of the initial value, and
- wherein the processing is performed by a unit, the unit comprising a hardware implementation.
A non-transitory storage medium having stored thereon a computer program comprising a program code for performing a method for determining an inverse of an initial value related to a modulus, the method comprising:
- processing an iterative algorithm in a plurality of iterations, wherein an iteration includes two modular reductions and has, as an iteration loop result, values obtained by an iteration loop of an extended Euclidean algorithm, wherein an integer result of an integer division does not appear directly in the plurality of iterations, wherein the iteration loop is performed as long as an iteration loop requirement is fulfilled, wherein the iteration loop is left, when the iteration loop requirement is not fulfilled, and wherein the iteration loop result of the last iteration is returned to obtain or to determine the inverse of the initial value.
Dependencies are inferred from the claim text.