Ciphering Algorithm Side-Channel Protection via Drift Variable
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing techniques for protecting ciphering calculations against side-channel attacks, such as those using elliptic curves and modular exponentiation, face challenges in eliminating the disturbance caused by random numbers used for masking, leading to resource-intensive calculations and inefficient security measures.
Innovation Solution
A method that updates a variable within specific thresholds for each bit of a quantity by adding or subtracting a random number, maintaining the drift within a limited window, and using this variable in operations, thereby reducing the need for large random numbers and minimizing additional calculations to eliminate masking noise.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If random numbers are used for masking quantities in ciphering calculations, then security against side-channel attacks is improved, but calculation complexity and resource consumption increase
Solution Approach 1:
The patent changes the parameter of random number size from traditional large values to small values (a few bits). By using small random numbers and maintaining a drift variable within a limited window, the patent achieves effective masking against side-channel attacks while significantly reducing calculation complexity. The drift variable ensures that the cumulative effect of small random numbers remains bounded, eliminating the need for complex elimination operations.
Solution Approach 2:
The patent applies local quality by using small random numbers (a few bits) at each bit position of the secret quantity rather than using large random numbers globally. This localized approach with threshold-based drift management provides sufficient masking effect for each local calculation while avoiding the global complexity of large random number manipulation.
2Reliability
If large random numbers are used for masking, then security is improved, but the disturbance introduced requires resource-intensive calculations to eliminate
Solution Approach 1:
The patent fundamentally changes the parameter of random number size from large to small (a few bits). This parameter change, combined with the drift variable constrained within a limited window, provides effective masking while dramatically reducing the computational resources needed. The small random numbers generate manageable drift that can be controlled and eliminated with minimal additional calculations.
Solution Approach 2:
The patent uses partial action by applying small random numbers at each bit position rather than using a single large random number. This partial approach, when combined with drift accumulation and threshold management, achieves comparable or superior masking effectiveness with reduced computational overhead for elimination.
3Reliability
If random masking is applied to each bit of the secret quantity, then security against side-channel attacks is improved, but the calculation time increases
Solution Approach 1:
The patent changes the parameter of random number size to small values (a few bits) and implements threshold-based drift management. This allows the calculation to proceed efficiently by keeping the drift variable within a limited window, avoiding the time-consuming elimination operations that would otherwise be required. The method maintains protection against side-channel attacks while preserving calculation speed.
Solution Approach 2:
The patent performs preliminary action by maintaining the drift variable within a limited window throughout the calculation process. By proactively managing the drift through threshold checks and appropriate adjustments, the patent prevents the accumulation of large masking effects that would require time-consuming elimination operations afterward, thus reducing overall calculation time.
Data Source
AI summary
A method for protecting a ciphering algorithm executing looped operations on bits of a first quantity and on a first variable initialized by a second quantity, wherein, for each bit of the first quantity, a random number is added to the state of this bit to update a second variable maintained between two thresholds.


