Montgomery Multiplication Processor Instruction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Performing large integer modular multiplication is computationally intensive and time-consuming, especially when dealing with large integers of several thousand or eight thousand bits or more, due to the complexity of modular operations.

Innovation Solution

Incorporating a Montgomery multiplication instruction in processor architectures that allows for efficient large integer modular multiplication by using Montgomery multiplication constants and reducing the need for costly modular operations through specific hardware logic and instruction sets.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If traditional modular multiplication methods are used, then correctness is maintained, but computational speed deteriorates due to the complexity of modular operations on large integers

Engineering Contradiction:
Improvecomputational speedVSAvoidcomputational complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent introduces Montgomery multiplication as an intermediary method that transforms traditional modular multiplication into a series of simpler operations. By using Montgomery reduction and pre-computed constants, the complex modular operation is mediated through intermediate steps that are computationally more efficient, resolving the contradiction between speed and complexity

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent changes the parameters of the multiplication operation by working in the Montgomery domain rather than directly in the modular domain. This parameter transformation allows the use of simpler arithmetic operations (addition, subtraction, and bit shifts) instead of complex modular division, thereby improving speed while maintaining correctness

Inventive Principle:
Principle #35Parameter changes

2Productivity

If Montgomery multiplication constants are pre-computed and stored, then multiplication performance improves, but memory usage increases

Engineering Contradiction:
Improvemultiplication performanceVSAvoidmemory storage
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent applies preliminary action by pre-computing Montgomery multiplication constants (such as R mod N and R^2 mod N) before the actual multiplication operation. These pre-computed constants are stored in memory and reused during multiplication, improving performance by avoiding repeated complex calculations while requiring only minimal storage for the constants

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10509651B2Montgomery multiplication processors, methods, systems, and instructions
Publication Date: 2019.12.17 INTEL CORP
  • US10509651B2 patent drawing
  • US10509651B2 patent drawing
  • US10509651B2 patent drawing

AI summary

A processor of an aspect includes a plurality of registers, and a decode unit to decode an instruction. The instruction is to indicate at least one storage location that is to store a first integer, a second integer, and a modulus. An execution unit is coupled with the decode unit, and coupled with the plurality of registers. The execution unit, in response to the instruction, is to store a Montgomery multiplication product corresponding to the first integer, the second integer, and the modulus, in a destination storage location. Other processors, methods, systems, and instructions are disclosed.