Masking Bit Permutation Against Side Channel Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current cryptographic circuits and software are vulnerable to side channel analysis attacks, particularly side channel analysis, which can reveal secret data such as encryption keys by measuring variations in current consumption or electromagnetic radiation, and existing countermeasures are not effective for bit permutation operations like those in the DES algorithm.

Innovation Solution

A method involving the generation of input and output mask sets through XOR operations to ensure each word column in the output set has the same number of occurrences of all possible values, effectively masking the bit permutation operation and making it resistant to side channel analysis by ensuring each output mask parameter corresponds to a specific input mask parameter, thereby maintaining the property of equal occurrences across all possible values.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If bit permutation operation is implemented in cryptographic circuit, then cryptographic functionality is improved, but vulnerability to side channel analysis increases

Engineering Contradiction:
Improvecryptographic functionalityVSAvoidside channel analysis vulnerability
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

The patent applies preliminary masking to the input data before the bit permutation operation. A mask is generated and combined with the input data using XOR operation prior to permutation, so that the actual secret data is never processed in clear form, preventing side channel leakage during the permutation operation.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces a mask as an intermediary element between the secret data and the bit permutation operation. This mask acts as a mediator that obscures the relationship between input and output, making it impossible for side channel analysis to directly correlate power consumption patterns with the actual secret data bits.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Object-affected harmful factors

If masking is applied to protect against side channel analysis, then security against analysis is improved, but computational complexity increases

Engineering Contradiction:
Improveside channel analysis resistanceVSAvoidcomputational complexity
Core Design Contradiction:
Object-affected harmful factorsVSDevice complexity

Solution Approach 1:

The patent applies masking selectively only to the specific bits that are vulnerable to side channel analysis during the bit permutation operation, rather than masking the entire data set uniformly. This localized approach provides adequate security for the critical permutation operation while minimizing the overall computational overhead and complexity.

Inventive Principle:
Principle #3Local quality

Data Source

PatentEP3264668B1A protection method and device against a side-channel analysis
Publication Date: 2022.07.27 ESHARD
  • EP3264668B1 patent drawingFigure 1~3
  • EP3264668B1 patent drawingFigure 4~5
  • EP3264668B1 patent drawingFigure 6~8

AI summary

The invention relates to a method for executing by a circuit a bit permutation operation (OPR) by which bits of an input data are mixed to obtain an output data comprising at least two words, the method comprising: generating a first mask set (U) comprising mask parameters (U[I]), the mask set comprising one word column (Ui) per word of the input data, each word column comprising a same number of occurrences of all possible values of one input data word in relation with a size of the input data word; generating an input set (PX) by combining the input data with each mask parameter of the first mask set by Exclusive OR (XOR) operations (⊕); and computing an output set (PR) comprising output data resulting from the application of the bit permutation operation to each data in the input set, the first mask set being generated such that the output set comprises columns of output words, each output word column comprising a same number of occurrences of all possible values of one output word in relation with a size of the output word.