Modular Inverse Calculation via Factorization for Smart Cards

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for modular inversion, such as those used in cryptographic applications like the RSA method, are computationally expensive and inefficient, particularly for low-power processors like those in smart cards, due to their high computing time requirements.

Innovation Solution

The method involves breaking down the module into at least two factors to calculate auxiliary values, which are then used to determine the modular inverse, reducing the computational load by splitting the calculation into smaller, more manageable parts.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the extended Euclidian algorithm is used for modular inversion, then the calculation can be performed, but the computing time is several times longer than other elementary modular computing operations

Engineering Contradiction:
Improvecorrectness of modular inversionVSAvoidcomputing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies segmentation by breaking down the modular inversion problem into multiple smaller sub-problems. The modulus M is factorized into M = M1 * M2, and the inversion is computed separately for each factor using auxiliary values R1 and R2, then combined to obtain the final result. This divides one expensive computation into several cheaper computations.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transforms the single-module inversion problem into a multi-dimensional solution space by introducing the factorization dimension. Instead of solving E*R ≡ 1 (mod M) directly, it solves two separate equations E*R1 ≡ 1 (mod M1) and E*R2 ≡ 1 (mod M2), then combines them using the Chinese remainder theorem approach, adding a dimensional aspect to the solution.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Use of energy by moving object

If modular inversion is executed on a low-power processor such as a smart card processor, then portability is maintained, but the high computing time requirement becomes problematic

Engineering Contradiction:
Improvepower consumptionVSAvoidcomputing time
Core Design Contradiction:
Use of energy by moving objectVSLoss of time

Solution Approach 1:

The patent segments the computationally intensive modular inversion into smaller tasks that can be executed on low-power processors. By factorizing M into M1 and M2, the processor performs two smaller inversions instead of one large inversion, reducing peak computational demands and energy consumption while maintaining correctness.

Inventive Principle:
Principle #1Segmentation

3Productivity

If the module is broken down into factors and auxiliary values are calculated, then the computational load is reduced, but the device complexity increases

Engineering Contradiction:
Improvecomputational efficiencyVSAvoidalgorithm complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces segmentation which inherently increases algorithmic steps (factorization, multiple inversions, combination), but this controlled complexity increase yields disproportionate productivity gains. The structured segmentation into well-defined phases makes the complexity manageable despite the additional steps.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS9047167B2Calculating the modular inverses of a value
Publication Date: 2015.06.02 GIESECKE & DEVRIENT EPAYMENTS GMBH
  • US9047167B2 patent drawing
  • US9047167B2 patent drawing
  • US9047167B2 patent drawing

AI summary

A method for calculating the modular inverse of a value in relation to a module is used for cryptographic calculations on a portable data carrier. The method includes determining a breakdown of the module into at least two factors, calculating a respective auxiliary value for each of the factors, wherein each auxiliary value is the modular inverse of the value in relation to the respective factor as module, and calculating the modular inverse of the value in relation to the module using the calculated auxiliary values. The method offers an increase in efficiency, with greater efficiency obtained the stronger the computing outlay depends on the length of the module in the inversion method. The method is suitable for execution by relatively low-power processors, and security of the calculation against spying attacks is not impaired. If security requirements are high, combining the method with suitable measures against spying presents no problems.