Cryptographic Circuit S-Box Randomization for Side Channel Protection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing cryptographic solutions provide limited protection against hackers using side channel methods to extract information from power consumption or timing signals during substitution operations in cryptographic algorithms, necessitating enhanced security measures.
Innovation Solution
The method involves performing dummy substitution operations in addition to real operations, with the real operation's position randomized among the dummy operations, making it difficult to predict the processing time and correlate side channel signals with the secret key, using a cryptographic circuit that includes an S-box input circuit and output circuit with a random number generator to manage dummy and real accesses.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If dummy substitution operations are performed in addition to real operations, then protection against side channel attacks is improved, but processing time increases
Solution Approach 1:
The patent applies preliminary action by pre-generating a set of dummy input values and pre-determining their positions in the substitution sequence. This allows the cryptographic circuit to execute both dummy and real substitution operations in a predetermined pattern, making it difficult for attackers to correlate timing information with the secret key while maintaining efficient processing through pre-computed arrangements
Solution Approach 2:
The patent implements dynamics by randomly shuffling the positions of dummy and real substitution operations in each encryption cycle. The cryptographic circuit dynamically adjusts the execution sequence based on randomly generated permutation values, ensuring that the timing pattern changes with each operation while maintaining a consistent total number of substitution operations, thus protecting against timing attacks without excessive time overhead
2Difficulty of detecting and measuring
If the position of real operation is randomized among dummy operations, then difficulty of detecting secret key is improved, but device complexity increases
Solution Approach 1:
The patent applies segmentation by dividing the substitution operation into multiple independent stages: generating dummy input values, determining random positions, executing substitutions in shuffled order, and selecting the real output. This segmentation allows each component to be implemented with simple, dedicated circuitry rather than a complex monolithic structure, reducing overall device complexity while achieving high difficulty for key extraction
Solution Approach 2:
The patent introduces intermediary elements including a random number generator that creates position permutations, a control unit that manages the shuffled execution sequence, and a selection mechanism that identifies the real output among dummy results. These intermediaries add complexity only in the control logic layer while keeping the core substitution circuits simple and reusable, thus improving security without proportionally increasing hardware complexity
3Loss of information
If multiple dummy operations are performed, then side channel signal correlation is reduced, but energy consumption increases
Solution Approach 1:
The patent applies parameter changes by dynamically adjusting the number of dummy operations based on a configurable security parameter that balances energy consumption and security requirements. The system can modify the ratio of dummy to real operations, the size of the input value set, and the shuffling intensity according to threat models, allowing optimization of energy usage while maintaining adequate protection against side channel attacks
Data Source
Figure 1~2
Figure 3~5
Figure 6~8
AI summary
The invention concerns a method of implementing, by a cryptographic circuit (300), a substitution operation of a cryptographic algorithm, the method comprising: performing, for each substitution operation of the cryptographic algorithm, a series of substitution operations of which: one is a real substitution operation corresponding to the substitution operation of the cryptographic algorithm; and one or more others are dummy substitution operations, wherein the position of the real substitution operation among the one or more dummy substitution operations in each of said series is selected randomly.