A method for protecting modular exponential algorithms against deep-learning side-channel attack (DL-sca)
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
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
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.
Data Source
Figure 1A
Figure 1B
Figure 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.