Parallel Random Matrix Generation for Lattice Cryptography
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
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
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.
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.
Data Source
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.


