Modular Multiplication Lookup Tables RNS

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing modular exponentiation algorithms in RSA-based cryptosystems are computationally expensive due to the use of large key sizes, particularly in naive algorithms, which require excessive processing time for calculations.

Innovation Solution

The implementation of a non-transitory machine-readable medium encoded with instructions for performing modular exponentiation using a residue number system (RNS) and lookup tables, where the modular exponentiation is calculated iteratively by squaring and conditionally multiplying a working value based on the bits of the exponent, utilizing precomputed lookup tables to reduce computational complexity.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If a naïve algorithm is used for modular exponentiation with large key sizes, then the implementation is simple, but the processing time becomes excessively long

Engineering Contradiction:
Improvealgorithm simplicityVSAvoidprocessing time
Core Design Contradiction:
Ease of manufactureVSLoss of time

Solution Approach 1:

The patent precomputes and stores values of b^2^i mod N in lookup tables before the actual modular exponentiation operation. This preliminary action allows the algorithm to retrieve precomputed values during execution rather than calculating them on-the-fly, significantly reducing processing time while keeping the overall algorithm structure relatively simple

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent segments the large exponent d into individual bits and processes each bit position separately. By breaking down the computation into smaller segments corresponding to each bit, the algorithm can use precomputed lookup table values for each segment, reducing the overall computational complexity and processing time

Inventive Principle:
Principle #1Segmentation

2Productivity

If the secret exponent d is used directly in the calculation, then the modular exponentiation can be computed, but the security is compromised in white-box cryptography

Engineering Contradiction:
Improvecomputation efficiencyVSAvoidsecurity
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent introduces lookup tables as an intermediary structure that contains precomputed values based on the secret exponent d. The actual computation uses these table values without directly exposing d, allowing efficient computation while protecting the secret exponent from being revealed during the white-box cryptography operation

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent creates copies of the secret exponent's computational effect through the lookup tables. Instead of using d directly in calculations, the system uses precomputed copies of b^2^i mod N values that capture the essential computational relationships without exposing the original secret exponent, thereby maintaining both efficiency and security

Inventive Principle:
Principle #26Copying

Data Source

PatentEP3059894B1Modular multiplication using look-up tables
Publication Date: 2018.02.21 NXP BV
  • EP3059894B1 patent drawingFigure 1
  • EP3059894B1 patent drawingFigure 2
  • EP3059894B1 patent drawingFigure 3

AI summary

Various embodiments relate to a method, system, and non-transitory machine-readable medium encoded with instructions for execution by a processor for performing modular exponentiation, the non-transitory machine-readable medium including: instructions for iteratively calculating a modular exponentiation, bd mod n, including: instructions for squaring a working value, c; and instructions for conditionally multiplying the working value, c, by a base value, b, dependent on a bit of an exponent, d, including: instructions for unconditionally multiplying the working value, c, by a lookup table entry associated with the base value.