Security Controller Permutation for Side-Channel Attack Resistance

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing cryptographic methods for processing data in security-relevant applications are inefficient against side-channel attacks due to high processing time and hardware requirements, and simpler methods are ineffective against dedicated attacks.

Innovation Solution

A security controller that processes data elements by determining a power of two number of data elements, using random integers to change indices through a sequence of permutations, including modular operations, to shuffle the processing order effectively while maintaining reasonable hardware requirements.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If complex methods for generating uniformly distributed permutations are used to shuffle data processing order, then security against side-channel attacks is improved, but processing time and hardware requirements increase significantly

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

Solution Approach 1:

The permutation process is divided into multiple stages: selecting a base permutation from a limited set, applying modular multiplication, and performing modular addition. Each stage uses simple operations that can be efficiently implemented in hardware, avoiding the need for complex random permutation generation while maintaining security effectiveness.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transforms the permutation generation problem by changing parameters from requiring full random permutations to using modular arithmetic operations with carefully selected parameters (modulus, multiplier, adder). This allows the use of pseudo-random parameters that provide sufficient security while being computationally efficient and hardware-friendly.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If complex permutation methods are used to protect cryptographic keys, then security is improved, but memory requirements and hardware complexity increase

Engineering Contradiction:
Improvesecurity against dedicated attacksVSAvoidhardware requirements
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent replaces complex mechanical/random permutation generation mechanisms with mathematical modular arithmetic operations. Instead of using hardware random number generators and complex permutation algorithms, the solution uses modular multiplication and addition with pseudo-random parameters, which can be implemented using simple arithmetic logic units already present in cryptographic processors.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Productivity

If simple shuffling algorithms are used to reduce processing overhead, then processing efficiency is improved, but effectiveness against dedicated attacks decreases

Engineering Contradiction:
Improveprocessing efficiencyVSAvoideffectiveness against attacks
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent introduces dynamics by making the permutation parameters (modular multiplier and adder) variable and dependent on random values. This ensures that the permutation pattern changes with each cryptographic operation, preventing attackers from deducing patterns through multiple observations, while the underlying modular arithmetic operations remain computationally efficient.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS11899826B2Security controller and method for processing data elements of a data array
Publication Date: 2024.02.13 INFINEON TECHNOLOGIES AG
  • US11899826B2 patent drawing
  • US11899826B2 patent drawing
  • US11899826B2 patent drawing

AI summary

According to an embodiment, a security controller is described comprising a memory storing data elements of a data array and a processing circuit configured to determine a power of two such that number of data elements is higher than the power of two but at most equal to double the power of two, determine random first and second integers, change indices of a predefined sequence of indices, comprising performing a first change of the index according to a first permutation if it is lower than the power of two, performing a second change of the index by adding a third integer modulo data array length and performing a third change of the index by a second permutation if it is, following the second change, lower than the power of two, and process the data elements in an order of the changed indices.