Cryptographically Secure Random Number Generator Using Entropy Pool Segmentation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing random number generators are vulnerable to mathematic attacks, producing insecure and predictable random numbers due to their inherent vulnerabilities, which compromises their cryptographic security.
Innovation Solution
A method and system that collect entropic data from multiple sources on a client computing device, store it in separate pools, and encrypt it using a globally incrementing counter as an encryption key, ensuring the generated random numbers are secure and unpredictable by preventing data pollution and enhancing security.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If existing random number generators are used, then the system is simple to operate, but the generated random numbers are predictable and vulnerable to mathematical attacks
Solution Approach 1:
The system divides entropy collection into multiple separate pools, each dedicated to a specific entropy source. This segmentation isolates different entropy sources (hardware RNG, software RNG, environmental data) into distinct pools, preventing contamination between sources while maintaining overall system security. Each pool can be independently managed and secured.
Solution Approach 2:
The patent implements nested encryption by encrypting entropy data with a hash of entropy from another pool. This creates a layered security structure where multiple entropy pools are nested within each other through cryptographic hashing and encryption, with each layer providing additional security against mathematical attacks.
2Reliability
If multiple entropy sources are collected and stored in separate pools, then the security is enhanced, but the data storage and processing complexity increases
Solution Approach 1:
The system divides entropy collection into multiple separate pools, each dedicated to a specific entropy source. This segmentation isolates different entropy sources (hardware RNG, software RNG, environmental data) into distinct pools, preventing contamination between sources while maintaining overall system security. Each pool can be independently managed and secured.
Solution Approach 2:
The system uses the entropy data itself to secure itself by encrypting entropy from one pool with a hash of entropy from another pool. This self-service approach eliminates the need for external key management systems, as the entropy pools automatically secure each other through cryptographic operations.
3Reliability
If entropic data is encrypted using a hash of entropic data from another pool, then predictability is prevented, but the processing time and computational resources increase
Solution Approach 1:
The system pre-collects and stores entropy data in multiple pools before random number generation is needed. This preliminary action allows the entropy pools to be populated in advance from various sources, so that when random numbers are required, the encryption process can quickly hash and encrypt the pre-collected entropy without significant delay.
Solution Approach 2:
The patent employs cryptographic hash functions that efficiently transform entropy data into secure encrypted forms. By using optimized hashing algorithms and maintaining entropy pools at appropriate size parameters, the system achieves fast processing while ensuring cryptographic security and unpredictability of the generated random numbers.
Data Source
AI summary
Various aspects of the subject technology relate to systems, methods, and non-transitory machine-readable medium for generating random numbers are disclosed herein. Entropic data is collected from a computer system and the entropic data is stored as raw data in an assigned entropy pool. The entropic data is encrypted using a globally incrementing counter as an encryption key and the encrypted bytes are returned as a random number.


