Montgomery Multiplication Circuit Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The challenge lies in efficiently performing modular multiplication of large binary numbers, which exceeds the computing capacity of microprocessors, leading to increased response time and current consumption, particularly in encryption applications like contactless chip cards.

Innovation Solution

An electronic circuit method that optimizes modular multiplication by decomposing numbers into smaller digits, using a main loop with sub-loops to calculate partial results efficiently, employing Carry-Save Adders and multiplexers to minimize cycle time and size, and utilizing a combinatory logic circuit to produce partial results in less than half a processor cycle.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If modular multiplication is performed on large binary numbers (512 bits) using a microprocessor, then the calculation can be executed, but the response time increases and current consumption increases due to the need to decompose large numbers into smaller slices

Engineering Contradiction:
Improvemodular multiplication speedVSAvoidresponse time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent decomposes large 512-bit numbers into smaller 64-bit slices that can be processed by the microprocessor. The main loop iterates L/k times (where k=64) to process each slice, and the first sub-loop decomposes each k-bit number into p-bit digits for parallel processing. This segmentation allows the microprocessor to handle large number multiplication by breaking it into manageable chunks, directly resolving the contradiction between handling large numbers and maintaining fast response time.

Inventive Principle:
Principle #1Segmentation

2Use of energy by stationary object

If modular multiplication circuit size is reduced to minimize product size, then current consumption decreases, but the computing capacity is reduced making it harder to handle large numbers

Engineering Contradiction:
Improvecurrent consumptionVSAvoidcomputing capacity
Core Design Contradiction:
Use of energy by stationary objectVSProductivity

Solution Approach 1:

The circuit processes large numbers by segmenting them into k-bit slices (64 bits) that match the microprocessor's native word size. This allows the circuit to maintain a compact design that consumes less power while still achieving the required computing capacity through iterative processing of slices in the main loop, rather than requiring a single large processing unit.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent employs iterative loops (main loop with L/k iterations and first sub-loop with k/p iterations) that continuously process slices of the large numbers. This continuous processing approach allows the circuit to maintain high computing capacity for large number operations while keeping the hardware footprint small, as the same circuit resources are reused across multiple iterations rather than requiring dedicated hardware for each bit position.

Inventive Principle:
Principle #20Continuity of useful action

3Loss of time

If the number of iterations is reduced to decrease response time, then processing speed improves, but the precision of calculating partial results may be compromised

Engineering Contradiction:
Improveresponse timeVSAvoidcalculation precision
Core Design Contradiction:
Loss of timeVSMeasurement precision

Solution Approach 1:

The patent segments the calculation into two distinct phases: the first sub-loop calculates the least significant p bits of each digit mi with high precision, and the second sub-loop calculates the remaining partial results. This segmentation allows the algorithm to achieve both speed (by processing p bits per iteration instead of 1 bit) and precision (by systematically handling all bit positions across two sub-loops).

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The first sub-loop performs preliminary calculation of the least significant p bits of each digit mi before the second sub-loop calculates the remaining partial results. This preliminary action ensures that the foundation of the calculation is established with full precision, allowing the subsequent loop to efficiently complete the calculation without compromising overall accuracy, thus achieving both speed and precision goals.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8959134B2Montgomery multiplication method
Publication Date: 2015.02.17 RAMBUS INC
  • US8959134B2 patent drawing
  • US8959134B2 patent drawing
  • US8959134B2 patent drawing

AI summary

Disclosed is a method of modular multiplication of two L-bit numbers (X, Y), the result defined from XY+mM, where M is the modulo, of L bits, and m is a number of L bits found and is divisible by 2L. L/k iterations are performed, an iteration i involving XYi+miM+R, Yi, mi being k-bit digits of rank i of Y, m from least significant bits, and R the previous iteration result. In each iteration, a first sub-loop of k/p iterations calculates a partial result of XYi+miM+R on k least significant bits of X, M, R, following decomposition of X, mi into p-bit digits. Starting each sub-loop iteration, the p bits of the current digit of mi are simultaneously produced. A second sub-loop calculates and sums the remaining partial results of XYi+miM+R using mi from the first sub-loop.