Shuffling Mechanism for Data Blocks Using Incremental Permutation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing shuffling techniques for mitigating side-channel attacks either require large precomputations, additional data structures, or do not generate enough permutations, limiting their effectiveness in securing data processing systems.

Innovation Solution

A method for shuffling data blocks that uses a random number generator and an increment function, such as addition, multiplication, or exponential functions, to reorder operations without precomputations and with minimal memory usage, generating more permutations than existing methods like RSI and RS, and using a small fixed amount of memory.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If random permutation (RP) is used to generate all possible permutations, then the number of permutations increases, but additional data structures and memory are required

Engineering Contradiction:
Improvenumber of permutationsVSAvoidadditional data structures
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent extracts the permutation generation logic from complex data structures and implements it using a simple incremental function that generates permutations on-demand. Instead of storing all permutations in advance, the system extracts only the necessary permutation information when needed, eliminating the need for large additional data structures while maintaining the ability to generate all n! permutations.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent performs preliminary setup by establishing an incremental function and initial permutation state, then generates subsequent permutations through simple iterative increments. This preliminary action allows the system to avoid precomputing and storing all permutations, instead generating them sequentially as needed with minimal memory overhead.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If random permutation (RP) is used to generate all possible permutations, then the security against side-channel attacks improves, but precomputation time increases

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

Solution Approach 1:

The patent performs a minimal preliminary setup by initializing the permutation generator with basic parameters and an incremental function. This preliminary action is sufficient to enable on-demand generation of all permutations without requiring extensive precomputation and storage, thus reducing precomputation time while maintaining security.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The permutation generator is designed to be self-service, automatically generating the next permutation in the sequence through the incremental function without requiring external precomputation or large stored tables. The system serves its own permutation generation needs through iterative computation, eliminating the need for time-consuming precomputation of all permutations.

Inventive Principle:
Principle #25Self-service

3Speed

If random starting index (RSI) or reverse shuffle (RS) is used instead of RP, then execution speed improves, but the number of generated permutations decreases

Engineering Contradiction:
Improveexecution speedVSAvoidnumber of permutations
Core Design Contradiction:
SpeedVSAdaptability or versatility

Solution Approach 1:

The patent changes the parameter of permutation generation from limited schemes (RSI, RS) that produce only a subset of permutations to an incremental scheme that can generate all n! permutations. By adjusting the incremental parameter, the system maintains fast execution speed comparable to RSI and RS while dramatically increasing the number of achievable permutations, thus resolving the trade-off between speed and versatility.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentEP3591889B1Shuffling mechanism for shuffling an order of data blocks in a data processing system
Publication Date: 2021.10.20 NXP BV
  • EP3591889B1 patent drawingFigure 1
  • EP3591889B1 patent drawingFigure 2
  • EP3591889B1 patent drawingFigure 3

AI summary

A method is provided for shuffling an order of a plurality of data blocks. In the method, a random number is generated, the random number corresponding to an index for a data block of the plurality of data blocks, where each data block of the plurality of data blocks has an index that uniquely identifies each data block of the plurality of data blocks. The increment function with a parameter is applied to the random number to generate a new index, the new index corresponds to a data block of the plurality of data blocks. The data block corresponding to the new index is selected as the next data block of a reordering of the plurality of data blocks. The method is iterated until the reordering of the plurality of data blocks is complete.