Truncated Table Random Number Generator for Lattice Cryptography
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing devices for generating random numbers according to a nonuniform, discrete, and bounded probability distribution, such as Gaussian distributions, are not fast enough for applications in cryptography based on Euclidean lattices.
Innovation Solution
A device comprising a random number generator, a fast-sampling level with a truncated table, and a slow-sampling level, which uses inversion sampling and pre-stored tables to quickly identify samples that meet specific conditions, allowing for the generation of random numbers efficiently.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If traditional random number generation methods are used, then the generation process is simple, but the speed is too slow for cryptographic applications
Solution Approach 1:
The device is divided into multiple independent sampling levels (fast-sampling level with truncated table, medium-sampling level, and slow-sampling level with complete table), each handling different ranges of the random number generation process. This segmentation allows parallel processing and significantly increases overall generation speed while keeping each individual level relatively simple.
Solution Approach 2:
The invention pre-computes and stores sampling tables (truncated table in fast-sampling level, complete table in slow-sampling level) that contain pre-calculated random numbers drawn from the required nonuniform distribution. During operation, the system performs lookup operations in these pre-prepared tables rather than generating random numbers in real-time, dramatically improving speed.
2Reliability
If a complete sampling table is used, then all possible samples can be found, but the table size becomes too large for efficient storage and access
Solution Approach 1:
The sampling table is segmented into a truncated table (stored in fast-sampling level with limited size) and a complete table (stored in slow-sampling level). The truncated table covers the most frequently accessed ranges, providing fast access for common cases, while the complete table handles edge cases and ensures full coverage when needed.
Solution Approach 2:
Different parts of the system use different table sizes and completeness levels according to their specific needs. The fast-sampling level uses a small truncated table for speed-critical operations, while the slow-sampling level uses a larger complete table for comprehensive coverage, optimizing the trade-off between storage size and reliability locally in each sampling level.
Data Source
AI summary
This device comprises a fast sampler comprising:a truncated table associating with truncated random numbers rmsb coded on Nmsb bits, the only sample k for which, whatever the number rlsb belonging to the interval [0; 2Nr−Nmsb−1], the following condition is met: F(k−1)<(rmsb, rlsb)≤F(k), where:(rmsb, rlsb) is the binary number coded on Nr bits and the Nmsb most significant bits of which are equal to the truncated random number rmsb and the (Nr−Nmsb) least significant bits of which are equal to the number rlsb,Nmsb is an integer number lower than Nr,a module for searching for a received truncated random number rmsb in the truncated table, and able to transmit the sample k, associated, by the truncated table, with the received truncated random number rmsb, by way of random number drawn according to the probability distribution ρ.


