Cryptographic Data Permutation for Side-Channel Attack Mitigation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing cryptographic processing methods, such as randomized AES, are vulnerable to side-channel attacks like differential power analysis (DPA) due to the potential for identical data units to produce identical permutated data units, leading to increased resource consumption and vulnerability.
Innovation Solution
The method involves decomposing data units into parts, applying different permutations to each part, and using a two-step permutation process with statistically independent permutations to ensure that only a small number of permutations and look-up tables are used, reducing memory and processing time while eliminating vulnerabilities.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a single permutation is applied to all data units, then the processing is simple and fast, but identical data units produce identical permutated results making the system vulnerable to side-channel attacks
Solution Approach 1:
The data unit is divided into multiple parts (e.g., bytes or words), and different permutations are applied to each part. This segmentation ensures that identical data units produce different permutated results across parts, defeating side-channel attacks while maintaining manageable complexity through localized permutation operations.
Solution Approach 2:
Different permutation functions are applied to different parts of the data unit based on their position. Each part receives a permutation tailored to its specific location, creating local variability that prevents pattern recognition attacks while keeping the overall system complexity controlled through systematic local transformations.
2Reliability
If data units are decomposed into parts with different permutations applied to each part, then vulnerability to side-channel attacks is reduced, but memory space and calculation time increase
Solution Approach 1:
Permutation tables are pre-computed and stored in memory before execution. During actual cryptographic processing, the system only needs to perform table lookups rather than computing permutations in real-time, significantly reducing processing time while maintaining the security benefits of multiple different permutations.
Solution Approach 2:
Instead of implementing complex permutation logic, the system uses pre-computed permutation tables (copies of permuted data) that can be quickly referenced. This copying approach trades minimal memory space for substantial time savings, as table lookups are much faster than computational permutations.
3Reliability
If all intermediate variables are separated to protect against DPA attacks, then security is improved, but memory space and calculation time resources are greatly increased
Solution Approach 1:
The intermediate variables are segmented by applying different permutations to different parts of the data, rather than separating all variables entirely. This partial segmentation provides sufficient protection against DPA attacks while avoiding the exponential memory growth that would result from complete variable separation.
Solution Approach 2:
The system changes the permutation parameter (which permutation function to apply) based on the position of each data part, rather than using a fixed permutation for all data. This parameter variation provides security against DPA attacks while maintaining efficient memory usage through systematic parameter management.
Data Source
Figure 1~2
Figure 3
Figure 4
AI summary
The present invention concerns a method for cryptographic processing of secret data units. This method includes: - a permutation step during which elementary data units of each data unit are permutated, and - at least one cryptographic operation applied to the permutated data units. According to the invention, prior to said cryptographic operation step, a different permutation is applied to each of the said data units.