Parallel Blum-Blum-Shub Generators for Cryptographic Key Generation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Blum-Blum-Shub pseudo random number generators have limitations in generating secure cryptographic keys due to their dependence on large Blum integers, which restrict the number of distinct states and cycle length, making them vulnerable to code cracking and increasing computational time for larger n values.

Innovation Solution

Executing multiple Blum-Blum-Shub pseudo random number generators in parallel, each using smaller Blum integers, to generate pseudo random bits, which are then combined to produce a cryptographic key, thereby enhancing security and reducing computational time without compromising strength.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a single Blum-Blum-Shub pseudo random number generator uses a large Blum integer n, then the security strength is improved, but the computational time increases and the cycle length is limited to floor(n/4)

Engineering Contradiction:
Improvesecurity strengthVSAvoidcomputational time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent divides the single large Blum integer n into multiple smaller Blum integers n1, n2, ..., nk. Each generator uses a smaller integer, reducing the computational time per generator while the combination of multiple generators provides equivalent or enhanced security strength through the combined output space.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transitions from a single-generator approach to a multi-generator parallel architecture. By adding the dimension of multiple independent generators, the system achieves both reduced computational time (through parallel processing) and maintained security (through combined output space of k generators).

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Reliability

If the size of Blum integer n is increased to improve security, then the cryptographic strength is enhanced, but the number of distinct states is limited to n/4

Engineering Contradiction:
Improvecryptographic strengthVSAvoidnumber of distinct states
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent segments the single large Blum integer into multiple smaller Blum integers. Each generator produces a limited number of distinct states (ni/4), but the combination of k generators creates a combined state space that is the product of individual state spaces, effectively increasing the total number of distinct states while maintaining security through the modular structure.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent merges the outputs of multiple Blum-Blum-Shub generators to create a combined pseudo random number stream. By combining k generators, the system achieves a combined state space that exceeds the limitations of any single generator, providing both cryptographic strength and enhanced versatility through the merged output space.

Inventive Principle:
Principle #5Merging (Combining)

3Productivity

If multiple Blum-Blum-Shub generators are executed in parallel using smaller Blum integers, then the speed of generating pseudo random bits is improved, but the complexity of the system increases

Engineering Contradiction:
Improvespeed of generating pseudo random bitsVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the single generator into multiple parallel generators, each handling a portion of the computational load. This segmentation enables parallel processing that increases productivity (speed of bit generation) while the modular structure helps manage complexity through independent, identical units.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent uses multiple copies of the same Blum-Blum-Shub generator algorithm, each instantiated with different smaller Blum integers. This copying approach increases productivity through parallel execution while keeping complexity manageable by using identical, well-understood generator structures that can be implemented using the same codebase and security protocols.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS8265272B2Method and an apparatus to generate pseudo random bits for a cryptographic key
Publication Date: 2012.09.11 RED HAT INC
  • US8265272B2 patent drawing
  • US8265272B2 patent drawing
  • US8265272B2 patent drawing

AI summary

Some embodiments of a method and an apparatus to generate pseudo random bits for a cryptographic key have been presented. In one embodiment, a set of Blum-Blum-Shub (BBS) pseudo random number generators is executed substantially in parallel. Each of the BBS pseudo random number generators may generate a series of pseudo random bits. A subset of pseudo random bits is extracted from each of the series of pseudo random bits from each of the plurality of BBS pseudo random number generators. Subsets of the series of pseudo random bits from the BBS pseudo random number generators are combined to generate a cryptographic key.