Hardware PRNG Mixing Function for Speed and Security
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing pseudorandom number generators are slow, produce low-quality numbers, consume excessive energy, and are vulnerable to side channel attacks, making them inadequate for high-security applications like aviation IT infrastructure.
Innovation Solution
A system and method utilizing a mixing function that generates pseudorandom numbers by initializing a counter value and incrementing it, with the output processed through invertible and non-linear mixing functions like XOR trees, substitution-permutation networks, or double-mix Feistel networks, ensuring fast generation and protection against side channel attacks.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If pseudorandom numbers are generated using traditional software algorithms on microprocessors, then the system remains simple and programmable, but the generation speed is slow (several clock cycles per byte) and productivity is low
Solution Approach 1:
The patent replaces software-based pseudorandom number generation with a dedicated hardware circuit implementation. The hardware PRNG uses electrical signals and logic gates to generate pseudorandom numbers at speeds of several hundred million bits per second, compared to traditional software approaches that generate only a few kilobits per second. This substitution of mechanical/software system with electrical hardware system directly resolves the speed contradiction.
Solution Approach 2:
The hardware PRNG circuit is divided into functional segments including a counter unit, a mixing function unit, and an output unit. Each segment performs a specific operation: the counter generates sequential numbers, the mixing function transforms them into pseudorandom numbers through bitwise operations, and the output unit delivers the final pseudorandom bits. This segmentation allows each component to be optimized independently for speed while maintaining overall system functionality.
2Productivity
If custom electronic hardware is designed to speed up pseudorandom number generation, then generation speed improves, but the device complexity increases and manufacturing difficulty increases
Solution Approach 1:
The hardware PRNG circuit is designed to be universally applicable across different cryptographic systems and applications. The same basic circuit architecture can generate pseudorandom numbers for various purposes including stream ciphers, block cipher key generation, and cryptographic protocols. This multi-functionality reduces manufacturing complexity by creating a single versatile solution rather than multiple application-specific circuits.
Solution Approach 2:
The circuit allows for parameter changes in the mixing function and counter operations to adapt to different security requirements and performance needs. The bitwise operations and mixing functions can be configured with different parameters (such as the number of mixing rounds or the specific bitwise operations used) to optimize for either speed or security strength, enabling the same hardware architecture to serve multiple security levels without requiring complete redesign.
3Ease of operation
If traditional software-based PRNGs are used, then the microprocessor remains free for other tasks, but the microprocessor becomes tied up with the task and memory buses are clogged
Solution Approach 1:
The patent extracts the pseudorandom number generation function from the general-purpose microprocessor and implements it as a separate dedicated hardware circuit. This extraction allows the microprocessor to focus on computational tasks while the hardware PRNG handles random number generation independently. The hardware circuit is connected to the processor through standard interfaces, enabling the processor to access pseudorandom numbers without being blocked by generation operations, thus eliminating the bottleneck where the processor would be tied up waiting for software-based PRNG operations to complete.
4Duration of action of stationary object
If traditional PRNGs operate for extended periods, then continuous random number generation is achieved, but side channel attacks can leak information about secret keys and sensitive data
Solution Approach 1:
The patent converts the potential harm of side channel leakage into a benefit by intentionally designing the hardware PRNG to mask side channel information. The mixing function and counter operations are structured to create complex relationships between internal states and external outputs, making it difficult for attackers to correlate physical measurements (power consumption, timing, electromagnetic radiation) with secret keys. The hardware design inherently obfuscates the relationship between operational parameters and secret data, turning what could be a vulnerability into a security feature.
Solution Approach 2:
The mixing function acts as an intermediary between the counter and the final pseudorandom output. This intermediary layer processes the counter values through complex bitwise operations that obscure the direct relationship between the counter state and the output. The mixing function serves as a mediator that prevents side channel attacks by ensuring that even if an attacker observes physical characteristics of the hardware during operation, they cannot directly infer information about the counter or secret keys, as the mixing function creates a computational barrier between these elements.
Data Source
AI summary
A system and method for generating pseudorandom numbers by initializing a counter value for a call-counter, sending a bit-wise form of the counter value from the counter to a mixing function, and mixing the counter value to generate the pseudorandom number. The mixing function may be a XOR tree, substitution-permutation, or double-mix Feistel. The pseudorandom number generator can operate by mixing the bits of the call-counter, repeatedly mixing its own output, or a combination thereof. The counter is incremented by a predetermined value. In order to provide backward secrecy, the pseudorandom number is processed by a one-way function or is hashed with a cryptographic hash function, and the result thereof is used as an input value for a subsequent cycle of the mixing function. Also, several mixing functions can be operated in parallel with their output XORed.


