A method for protecting modular exponential algorithms against deep-learning side-channel attack (DL-sca)

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Deep-learning side-channel attacks (DL-SCA) pose a significant threat to modular exponential algorithms used in public key cryptography, as they can effectively distinguish between true and fake operations based on side-channel information, rendering traditional countermeasures like jitter and random delay insufficient.

Innovation Solution

Implement a windowing process that randomizes the execution sequence of modular exponential algorithms by interleaving precomputed values based on a random number, disrupting the deep-learning labeling process and introducing errors in operation sequence labeling.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional countermeasures like jitter and random delay are used, then the algorithm execution time varies to obscure side-channel information, but deep-learning side-channel attacks can still distinguish between true and fake operations based on side-channel information

Engineering Contradiction:
Improveprotection against side-channel attacksVSAvoideffectiveness of deep-learning profiling
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

The patent applies dynamics by making the algorithm execution path adaptive and non-deterministic. A randomization table is generated during initialization, and during execution, the choice between windowing process and counter SCA algorithm is dynamically determined by comparing N-bit tuples from the private key with random numbers. This dynamic selection creates variable execution paths that prevent deep-learning models from learning consistent patterns, thereby resolving the contradiction between providing protection and maintaining effectiveness against profiling attacks.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the execution parameters by introducing a randomization table with multiple possible operation sequences (windowing process and counter SCA algorithm). The selection between these sequences is determined by random numbers and N-bit tuple comparisons. This parameter change transforms the fixed execution path into a variable one, where the same input can lead to different execution sequences, making it impossible for deep-learning attacks to reliably profile the algorithm's behavior.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If the execution sequence is randomized by interleaving precomputed values, then deep-learning labeling errors increase, but the complexity of the algorithm execution increases

Engineering Contradiction:
Improveprotection against deep-learning profilingVSAvoidalgorithm execution sequence
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by pre-generating a randomization table during the initialization phase. This table contains multiple possible operation sequences (windowing process and counter SCA algorithm) that are prepared in advance. During the actual execution, the system simply needs to select from these pre-prepared sequences based on random numbers and N-bit tuple comparisons. This preliminary preparation avoids the need for complex real-time decision-making, thereby reducing the operational complexity while maintaining the security benefits of execution sequence randomization.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent segments the algorithm execution into distinct, manageable components: the windowing process, the counter SCA algorithm, and the randomization selection mechanism. By dividing the execution path into these separate segments that can be independently selected, the system simplifies the overall complexity management. Each segment has a clear purpose and can be executed independently, making the complex randomization process more manageable and easier to implement correctly.

Inventive Principle:
Principle #1Segmentation

3Reliability

If a windowing process is mixed with counter SCA algorithm according to random number, then operation sequence labeling errors are introduced, but the number of operations remains the same

Engineering Contradiction:
Improveprotection against DL-SCAVSAvoidmixing of execution processes
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies universality by creating a unified execution framework that can handle multiple operations (windowing process and counter SCA algorithm) through a single randomization mechanism. The same random number generation and N-bit tuple comparison process controls the selection between different execution paths, making the system multi-functional while maintaining a consistent control structure. This approach reduces the complexity of managing multiple separate processes by unifying their selection under one randomization framework.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentEP4490873B1A method for protecting modular exponential algorithms against deep-learning side-channel attack (DL-sca)
Publication Date: 2025.12.10 THALES DIS FRANCE SA
  • EP4490873B1 patent drawingFigure 1A
  • EP4490873B1 patent drawingFigure 1B
  • EP4490873B1 patent drawingFigure 2A

AI summary

A method (220) for countering a profiling of deep-learning (100) side channel (SCA) algorithm to disrupt a training phase of a deep-learning model is provided. It alters and interleaves an execution sequence (163) of modular exponentiations or point additions in a counter SCA algorithm. The mixing, loops (206-210) through bits of a private key, D, along a sliding window, wherein for each loop, an N-bit tuple from the private key (102) is compared (207) to the random number plus a linear increment, and, if the value is a match, it indexes (208) into said precomputed vector according to said random number, r, thereby extracting and interleaving values into an execution path of said counter SCA algorithm from said precomputed vector according to an index represented by said random number; otherwise. Other embodiments are provided.