Non-modular Multiplier with Randomized Power Consumption

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing non-modular multiplication methods are computationally expensive and vulnerable to side-channel attacks, which analyze power consumption patterns to deduce secret information.

Innovation Solution

The implementation of a multiplier that calculates non-modular products using Montgomery modular multiplications with randomized moduli, generating a random number w to determine moduli M1 and M2, and calculating first and second modular products to produce the non-modular product, while randomizing the power consumption pattern to protect against side-channel attacks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If classical naive multiplication method is used, then implementation simplicity is maintained, but computational efficiency deteriorates

Engineering Contradiction:
Improveimplementation simplicityVSAvoidcomputational efficiency
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

The patent transforms the non-modular multiplication problem into modular multiplication problems by changing the parameter space. It introduces a random modulus M and computes modular products (A mod M) × (B mod M), then recovers the non-modular product through additional modular operations with a second modulus. This parameter transformation enables efficient computation while maintaining correctness.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent introduces modular arithmetic as an intermediary mechanism. Instead of directly computing the expensive non-modular product, it uses modular multiplication (which has efficient hardware implementations) as an intermediate step, then combines multiple modular products to obtain the final non-modular result. The modular arithmetic acts as a mediator that bridges computational efficiency and correctness.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Stability of the object's composition

If deterministic multiplication algorithm is used, then computational consistency is maintained, but vulnerability to side-channel attacks increases

Engineering Contradiction:
Improvecomputational consistencyVSAvoidvulnerability to side-channel attacks
Core Design Contradiction:
Stability of the object's compositionVSObject-affected harmful factors

Solution Approach 1:

The patent introduces dynamic randomness into the multiplication algorithm by selecting a random modulus M from a set of possible moduli. This dynamic parameter selection causes the computational path, intermediate values, and power consumption patterns to vary between executions, even for the same input operands. The randomness dynamically changes the attack surface for side-channel analysis while maintaining deterministic recovery of the correct product.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent combines multiple computational approaches (modular multiplication with different moduli) into a composite algorithm. It performs modular multiplications with at least two different moduli (M and M'), then combines the results using the Chinese Remainder Theorem or similar techniques. This composite approach achieves both security through diversity and correctness through mathematical combination.

Inventive Principle:
Principle #40Composite materials

Data Source

PatentEP3226120B1Non-modular multiplier, method for non-modular multiplication and computational device
Publication Date: 2019.07.17 WINBOND ELECTRONICS CORP
  • EP3226120B1 patent drawingFigure 1
  • EP3226120B1 patent drawingFigure 2
  • EP3226120B1 patent drawing

AI summary

A non-modular multiplier, a method for non-modular multiplication and a computational device are provided. The non-modular multiplier includes an interface and circuitry. The interface is configured to receive n-bit integers A and B. The circuitry is configured to calculate a non-modular product (A * B) by performing a sequence of computations, and to randomize a pattern of an electrical power consumed by the multiplier when performing the sequence. The sequence includes: generating a random number w, determining moduli M1 and M2 that depend on a number R=2k, k equals a bit-length of M1 and M2, and on the random number w, and calculating a first modular product C = A * B % M1 and a second modular product D = A * B % M2, and producing and outputting the non-modular product (A * B) based on the first and second modular products.