Transrandomized S-Box Masking for Side-Channel Attack Protection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing block cipher algorithms are vulnerable to high-order side-channel attacks, such as Differential Power Analysis, which can recover secret keys by analyzing power consumption or electromagnetic signatures, and current countermeasures like high-order masking are costly and resource-intensive, especially for non-linear operations like Sboxes.

Innovation Solution

A method that generates a series of transrandomized Substitution boxes by iteratively masking an initial Substitution box with uniformly distributed random values, using Boolean exclusive OR operations, to protect against N-order side-channel attacks, reducing resource consumption by avoiding data splitting into multiple shares.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If high-order masking is used to protect against N-order side-channel attacks, then security is improved, but resource consumption increases significantly

Engineering Contradiction:
Improvesecurity against side-channel attacksVSAvoidresource consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent applies segmentation by dividing the substitution box into multiple randomized versions (S0, S1, S2, ..., SN) that are generated iteratively through masking operations. Each randomized substitution box represents a segmented version of the original, allowing the system to select appropriate levels of protection without always using the most resource-intensive N-order masking. This enables graduated security levels that consume fewer resources while maintaining adequate protection.

Inventive Principle:
Principle #1Segmentation

2Reliability

If high-order masking with N different masks is applied to non-linear operations like Sboxes, then protection against Nth order side-channel attacks is achieved, but computational cost and complexity increase

Engineering Contradiction:
Improveprotection against Nth order attacksVSAvoidmasking process complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent implements preliminary action by pre-generating multiple randomized substitution boxes (S0, S1, S2, ..., SN) before the actual encryption process. These pre-computed randomized versions are stored and can be quickly selected during encryption without performing complex masking operations in real-time. This shifts the computational complexity to a pre-processing phase, reducing the burden during actual encryption while maintaining high-order attack protection.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent applies dynamics by making the substitution box selection adaptive and variable. Instead of using a fixed substitution box, the system dynamically selects from multiple randomized versions (S0, S1, S2, ..., SN) generated through iterative masking. This dynamic approach allows the system to adjust the level of randomization and protection based on security requirements, optimizing the balance between security and complexity without being locked into a single complex configuration.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS11256478B2Method for securing a cryptographic process with SBOX against high-order side-channel attacks
Publication Date: 2022.02.22 THALES DIS FRANCE SA
  • US11256478B2 patent drawing
  • US11256478B2 patent drawing
  • US11256478B2 patent drawing

AI summary

The present invention relates to a method for securing against N-order side-channel attacks a cryptographic process using in a plurality of encryption rounds an initial Substitution box S0 comprising the steps of: —generating (E12) a first randomized substitution box S1 by masking said initial substitution box S0 such that S1(x XOR m1)=S0(x) XOR m2, with m1, m2 uniformly-distributed random values, for any input value x of the initial substitution box S0, —generating (E13) a first transrandomized Substitution box S(1,1) from the first randomized substitution box S1 and from masks m1,1, m′1,1 such that S(1, 1)[x]=S1[x xor (m1 xor m1,1)] xor (m2 xor m′1,1) for any input value x of the first transrandomized Substitution box S(1,1), —generating (E14) from the first transrandomized Substitution box S(1,1) a N−1th transrandomized Substitution box S(1, N−1) by performing iteratively N−2 times a step of generation of a ith transrandomized Substitution box S(1, i) from a i−1th transrandomized substitution box S(1, i−1) and from a plurality of masks m 1,i, m′1,i, m1,i−1, m′1,i−1 such that S(1, i)[x]=S(1, i−1)[x xor (m1,i-1 xor m1,i)] xor (m′1,i−1 xor m′1,i) for any input value x of the ith transrandomized substitution box S(1, i), with i an integer comprised in {2, . . . N−1}, —performing the cryptographic process using (E15) the N−1th transrandomized Substitution box S(1, N−1) instead of the initial Substitution box S0 in at least said first round of the cryptographic process.