Parallel Random Matrix Generation for Lattice Cryptography

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current lattice-based cryptographic systems, such as Round5 and FrodoKEM, require significant computational effort for generating large random matrices, which is a crucial part of key derivation in public-private key protocols, and this process can be optimized for efficiency.

Innovation Solution

A cryptographic generation device and method that utilizes parallel random number generation processes, supported by SIMD instructions and vector registers, to efficiently produce random matrix elements, reducing the overhead of matrix generation by executing random number initiation and generation functions in parallel.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If sequential random number generation is used to ensure cryptographic security, then reliability is maintained, but productivity deteriorates due to high computational overhead

Engineering Contradiction:
Improvecryptographic securityVSAvoidmatrix generation speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The random matrix generation process is segmented into multiple independent parallel streams, where each stream generates a portion of the matrix elements. This allows sequential security-preserving operations to be distributed across multiple parallel processes, maintaining cryptographic reliability while improving overall productivity through parallel execution.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The invention generates more random numbers than strictly necessary for the cryptographic protocol by running multiple parallel generation streams simultaneously. This excessive parallel action ensures that security requirements are met through multiple independent verification paths while the parallel nature delivers high productivity gains.

Inventive Principle:
Principle #16Partial or excessive action

2Productivity

If parallel random number generation processes are implemented to improve productivity, then matrix generation speed increases, but device complexity worsens due to multiple initiation functions

Engineering Contradiction:
Improvematrix generation speedVSAvoidnumber of initiation functions
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

A single random number initiation function is designed to serve multiple parallel generation processes simultaneously. This universal initiation function can be invoked by multiple parallel streams, eliminating the need for separate initiation functions for each parallel process. This reduces device complexity while maintaining the productivity benefits of parallel generation.

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

Solution Approach 2:

Multiple random number generation processes are merged into a unified parallel framework that shares common initialization and control structures. By combining the initiation logic into a single shared function that serves all parallel streams, the invention reduces overall system complexity while preserving parallel execution capabilities for high productivity.

Inventive Principle:
Principle #5Merging (Combining)

3Reliability

If a large random matrix is generated for lattice-based cryptography, then cryptographic security is enhanced, but loss of time increases due to extensive computation requirements

Engineering Contradiction:
Improvecryptographic securityVSAvoidcomputation time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The invention performs preliminary parallel initialization of multiple random number generation streams before the actual matrix generation. By pre-establishing multiple ready-to-execute parallel processes with pre-initialized state, the system reduces the computational time required during the critical matrix generation phase while ensuring the large matrix dimensions needed for cryptographic security are achieved.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The parallel random number generation processes operate continuously and simultaneously throughout the matrix generation, eliminating idle time between sequential operations. This continuous parallel action ensures that computation time is minimized while still generating the large random matrix required for enhanced cryptographic security.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS20230153070A1Parallel generation of a random matrix
Publication Date: 2023.05.18 KONINKLIJKE PHILIPS NV
  • US20230153070A1 patent drawing
  • US20230153070A1 patent drawing
  • US20230153070A1 patent drawing

AI summary

Some embodiments are directed to a cryptographic generation device for generating a random matrix. A random number initiation function may be executed in parallel for a number of random generating processes to obtain a random number state for each. Parallel random number generating processes together produce at least as many random numbers as elements in the random matrix.