Pseudo-Random Permutation Generator for On-the-Fly Low-Power Circuits

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing systems for generating pseudo-random permutations are complex, cumbersome, and not scalable, particularly in systems with strong hardware constraints, making them inefficient for low consumption circuits and on-the-fly generation.

Innovation Solution

A method for generating pseudo-random permutations using an iterative process that creates a sequence of digital codes through successive iterations of a seed number, applying a first function to generate the next seed number and a second function that includes a permutation followed by a bijective function, allowing for on-the-fly generation and efficient implementation in low consumption circuits.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If existing systems for generating pseudo-random permutations are used, then permutation functionality is achieved, but device complexity increases and hardware constraints are violated

Engineering Contradiction:
Improvecomplexity of pseudo-random permutation generation systemVSAvoidsuitability for hardware-constrained systems
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The permutation generation process is segmented into iterative steps where each step generates a portion of the permutation sequence. The system divides the n-element set into manageable chunks processed through repeated applications of the permutation function, allowing complex permutations to be built from simpler iterative operations that are easier to implement in constrained hardware.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system uses dynamic iteration where the permutation function is applied repeatedly with changing parameters (i increasing from 1 to n). Each iteration modifies the permutation based on the current state, allowing the system to generate different permutation sequences on-the-fly without requiring pre-computed lookup tables or complex static structures.

Inventive Principle:
Principle #15Dynamics

2Ease of manufacture

If complex existing systems are used, then permutation capability is provided, but ease of manufacture decreases

Engineering Contradiction:
Improveease of implementing pseudo-random permutation generatorVSAvoidcomplexity of generation mechanism
Core Design Contradiction:
Ease of manufactureVSDevice complexity

Solution Approach 1:

The permutation function P is designed as a universal component that can be applied to any element in the set regardless of position or value. The same function P(x) = (ax + b) mod m is used for all iterations, requiring only that the parameters a and b be updated, rather than implementing different functions for different cases. This universality greatly simplifies manufacturing.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The system uses the output of each permutation iteration as input for the next iteration, creating a self-service chain where the system generates its own input data. The permutation function automatically produces the next state from the current state without requiring external intervention or complex control logic, making the system easier to manufacture.

Inventive Principle:
Principle #25Self-service

3Loss of time

If traditional permutation systems are used, then permutation is achieved, but loss of time increases due to pre-computation requirements

Engineering Contradiction:
Improvetime for generating permutation sequenceVSAvoidon-the-fly generation capability
Core Design Contradiction:
Loss of timeVSProductivity

Solution Approach 1:

The system performs preliminary setup by initializing the parameters a and b and the seed value, but avoids pre-computing the entire permutation sequence. Only the essential initial parameters are prepared in advance, while the actual permutation generation occurs iteratively on-demand during operation, minimizing pre-computation time while maintaining productivity.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The permutation generation is designed as a continuous iterative process where each step naturally leads to the next without interruption or re-initialization. The system maintains continuous useful action by using the output of each iteration as the input for the next, allowing on-the-fly generation without stopping or resetting, thus reducing time loss.

Inventive Principle:
Principle #20Continuity of useful action

4Use of energy by moving object

If existing pseudo-random permutation systems are used, then permutation functionality is provided, but use of energy increases making them unsuitable for low-power circuits

Engineering Contradiction:
Improvepower consumption of permutation generatorVSAvoidhardware requirements
Core Design Contradiction:
Use of energy by moving objectVSDevice complexity

Solution Approach 1:

The system uses simple arithmetic operations (multiplication, addition, modulo) that can be implemented with basic logic gates rather than complex hardware structures. Each iteration uses disposable computational resources that are quickly regenerated through the iterative process, avoiding the need for expensive, power-hungry dedicated hardware for each permutation operation.

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

Solution Approach 2:

The patent replaces complex mechanical or electronic permutation mechanisms with mathematical arithmetic operations. Instead of using physical switching networks or complex logic circuits to permute elements, the system uses arithmetic calculations on binary representations, which can be performed efficiently in low-power digital circuits using standard ALU operations.

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

Data Source

PatentEP3830814B1Pseudo-random permutation generator
Publication Date: 2022.07.27 COMMISSARIAT A LENERGIE ATOMIQUE ET AUX ENERGIES ALTERNATIVES
  • EP3830814B1 patent drawingFigure 1
  • EP3830814B1 patent drawingFigure 2(a)~2(c)
  • EP3830814B1 patent drawingFigure 3

AI summary

The present description relates to a method for generating a sequence of pseudo-random numerical codes which make it possible to carry out a permutation (3) of a first set of values (V) into a second set of values (Vp) on the basis of said numerical codes (CPos), which represent positions (j) of values (Vi) of the first set in the second set, comprising the following steps: generating, by successive iterations, a chain of numbers, referred to as seed numbers, from an initial pseudo-random seed number (W0) by applying a first function (24, 26) of a seed number to the following seed number; applying a second function to each grain number of the chain in order to obtain each position code (CPos(j)), the second function comprising at least one permutation (PERM) followed by a bijective function (BIJ).