Negative Inverse Modulus Calculation for Montgomery Multiplication

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

High radix Montgomery modular multiplication in public key encryption systems, such as RSA and elliptic curve algorithms, faces challenges in efficiently calculating the negative inverse of a modulus, which is crucial for high-speed modular operations, especially with large key sizes like 2,048 bits, due to the complexity of determining quotients and the exponential increase in memory requirements for pre-calculated tables.

Innovation Solution

A method to quickly calculate the negative inverse of a modulus by dividing the modulus into groups and sequentially calculating the negative inverses from the least significant bit to the most significant bit, using a process that involves setting a modulus, converting it to a negative number, and subtracting 1 to efficiently compute the inverse, thereby reducing memory requirements and operational complexity.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If the radix is increased to improve operation speed in Montgomery modular multiplication, then the operation speed increases, but the process of determining quotient becomes complicated and memory requirements increase exponentially

Engineering Contradiction:
Improveoperation speedVSAvoidquotient determination complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent divides the modulus M into multiple groups (L groups) of smaller moduli. Instead of directly computing the negative inverse of the large modulus M, the method computes negative inverses of smaller modulus groups sequentially from LSB to MSB. This segmentation reduces the complexity of quotient determination while maintaining high radix multiplication efficiency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transforms the single large modulus problem into a multi-dimensional solution by organizing moduli into groups across different bit positions (LSB to MSB). The negative inverse is computed group-by-group rather than as a single operation, effectively adding a dimensional aspect to the computation process that reduces complexity.

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

2Speed

If the radix is increased to improve operation speed, then the operation speed increases, but memory requirements increase exponentially due to pre-calculated tables

Engineering Contradiction:
Improveoperation speedVSAvoidmemory requirements
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

By segmenting the large modulus into smaller groups, the patent reduces the memory requirements for pre-calculated tables. Each group requires a separate but smaller pre-computation table, and the total memory usage is the sum of these smaller tables rather than one large table for the entire modulus.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary computation of negative inverses for each modulus group sequentially before the actual Montgomery multiplication. This preliminary action breaks down the large pre-computation task into smaller, manageable steps that require less memory at any given time.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If key size is increased to improve security in public key encryption, then security strength increases, but encoding and decoding times increase

Engineering Contradiction:
Improvesecurity strengthVSAvoidencoding and decoding time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent changes the computational parameters by using high radix Montgomery multiplication with segmented moduli. This parameter change allows the system to handle larger key sizes more efficiently, reducing the time penalty associated with increased security requirements.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The segmentation of modulus into groups enables parallel and sequential processing of larger key sizes without proportionally increasing the time complexity, thus maintaining security while reducing encoding and decoding times.

Inventive Principle:
Principle #1Segmentation

4Measurement precision

If conventional methods are used to calculate negative inverse of large modulus, then accuracy is maintained, but operational time increases

Engineering Contradiction:
Improvecalculation accuracyVSAvoidoperational time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent maintains calculation accuracy by systematically computing negative inverses of modulus groups in sequence from LSB to MSB, ensuring that each group's contribution to the final result is accurately determined without loss of precision.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

By performing preliminary computation of negative inverses for each group before the main multiplication operation, the patent reduces the operational time of the overall process while maintaining the accuracy of the final result.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8407270B2Methods of calculating negative inverse of modulus
Publication Date: 2013.03.26 SAMSUNG ELECTRONICS CO LTD
  • US8407270B2 patent drawing
  • US8407270B2 patent drawing
  • US8407270B2 patent drawing

AI summary

Provided is a method of calculating a negative inverse of a modulus, wherein the negative inverse, which is an essential element in Montgomery multiplication, is quickly obtained. The method includes setting a modulus, defining P obtained by converting the modulus to a negative number, and defining S obtained by subtracting 1 from P, and calculating a negative inverse of the modulus by using P and S.