Modular Calculation Protection via Masking

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for protecting modular exponentiation and scalar multiplication operations in electronic circuits are ineffective against horizontal side-channel attacks and fault-injection attacks, as they do not adequately mask the secret data, allowing attackers to infer sensitive information from a single trace or execution.

Innovation Solution

A method that combines a second number with a third number to create a fourth number, performing modular calculations on the first and fourth numbers, and iteratively updates a memory location based on the bits of the third number, using the inverse of the first number or the first number itself depending on the state of the corresponding bit in the fourth number, to mask the exponent or scalar during calculations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional modular exponentiation or scalar multiplication operations are performed without additional masking, then the calculation is simple and fast, but the secret data (exponent or scalar) is vulnerable to horizontal side-channel attacks and fault-injection attacks

Engineering Contradiction:
Improvesecurity against horizontal attacksVSAvoidcalculation complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces a third number (masking value) as an intermediary element that is combined with the second number (exponent or scalar) to create a fourth number. This masking value acts as a mediator that hides the secret data during calculation, preventing horizontal side-channel attacks while maintaining the mathematical correctness of the operation through modular arithmetic properties

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent changes the parameter representation by adding a random multiple of the Euler totient function of the modulo to the exponent, or adding a random value to the scalar. This parameter transformation masks the original secret value while preserving the cryptographic functionality, making it impossible for attackers to infer the secret from intermediate values

Inventive Principle:
Principle #35Parameter changes

2Reliability

If the exponent or scalar is masked by combining with a third number, then protection against horizontal attacks is achieved, but the calculation requires additional operations

Engineering Contradiction:
Improveprotection against fault-injection attacksVSAvoidcalculation speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent performs preliminary masking by combining the second number with a third number before the main modular calculation. This preliminary action prepares the data in a protected form, and the subsequent calculation proceeds with the masked value, requiring unmasking only at the end to retrieve the final result

Inventive Principle:
Principle #10Preliminary action

3Loss of information

If conventional operations are performed, then the implementation is straightforward, but side-channel attacks can infer secret data from power consumption or radiation patterns

Engineering Contradiction:
Improveleakage of secret dataVSAvoidimplementation complexity
Core Design Contradiction:
Loss of informationVSDevice complexity

Solution Approach 1:

The third number serves as a masking intermediary that prevents direct correlation between the secret data and physical side-channel emissions. By performing operations on the masked value rather than the bare secret, the physical characteristics (power consumption, radiation) no longer directly reveal information about the exponent or scalar

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent creates a composite value by combining the secret second number with a random third number. This composite masked value maintains the mathematical properties needed for correct calculation while hiding the individual components from side-channel analysis, similar to how composite materials combine properties to achieve desired characteristics

Inventive Principle:
Principle #40Composite materials

Data Source

PatentUS10354063B2Protection of a modular calculation
Publication Date: 2019.07.16 STMICROELECTRONICS (ROUSSET) SAS
  • US10354063B2 patent drawing
  • US10354063B2 patent drawing

AI summary

A method of protecting a modular calculation on a first number and a second number, executed by an electronic circuit, including the steps of: combining the second number with a third number to obtain a fourth number; executing the modular calculation on the first and fourth numbers, the result being contained in a first register or memory location; initializing a second register or memory location to the value of the first register or to one; and successively, for each bit at state 1 of the third number: if the corresponding bit of the fourth number is at state 1, multiplying the content of the second register or memory location by the inverse of the first number and placing the result in the first register or memory location, if the corresponding bit of the fourth number is at state 0, multiplying the content of the second register or memory location by the first number and placing the result in the first register or memory location.