Cryptographic Data Permutation for Side-Channel Attack Mitigation

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvesecurity against side-channel attacksVSAvoidpermutation processing complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #3Local quality

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

Engineering Contradiction:
Improvesecurity against side-channel attacksVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #26Copying

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

Engineering Contradiction:
Improvesecurity against differential power analysisVSAvoidmemory space resources
Core Design Contradiction:
ReliabilityVSQuantity of substance

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentEP2293488B1Method for cryptographic processing of data units
Publication Date: 2021.01.13 IDEMIA FRANCE SAS
  • EP2293488B1 patent drawingFigure 1~2
  • EP2293488B1 patent drawingFigure 3
  • EP2293488B1 patent drawingFigure 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.