Parallel Blum-Blum-Shub Generators for Cryptographic Key Generation
Find Innovative SolutionsGenerate 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
Engineering 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)
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.
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).
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
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.
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.
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
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.
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.
Data Source
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.


