Cryptographically Secure Random Number Generator Using Entropy Pool Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvecryptographic securityVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #7Nested doll (Nesting)

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

Engineering Contradiction:
Improverandom number securityVSAvoiddata management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #25Self-service

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

Engineering Contradiction:
Improveunpredictability of random numbersVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10481872B2Cryptographically secure random number generator
Publication Date: 2019.11.19 COLOSSIO INC
  • US10481872B2 patent drawing
  • US10481872B2 patent drawing
  • US10481872B2 patent drawing

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.