Flash Memory Random Number Generation for IoT Security
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional random number generators used in computer systems often produce pseudo-random numbers, making them susceptible to hacking, and existing truly random number generators are complex and costly, making them unsuitable for resource-constrained systems like IoT devices.
Innovation Solution
A system that leverages flash memory by repeatedly programming cells to force them into a random state, identifying cells with random values, and generating truly random numbers based on these values, utilizing existing hardware without the need for additional resources.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If conventional random number generators are used, then the system is simple and inexpensive, but the generated numbers are pseudo-random and susceptible to hacking
Solution Approach 1:
The flash memory cells serve themselves by generating random values through normal wear and operation. The system leverages the natural degradation and charge leakage characteristics of flash memory cells to produce entropy, eliminating the need for dedicated random number generation hardware while maintaining security.
Solution Approach 2:
The patent introduces an intermediary process that reads the charge states of flash memory cells and converts them into random numbers. This intermediary layer transforms the physical state of existing memory cells into cryptographic randomness without requiring additional random number generation components.
2Reliability
If dedicated random number generation hardware is added, then truly random numbers can be generated, but the device complexity and cost increase
Solution Approach 1:
The flash memory serves multiple functions: data storage and random number generation. By utilizing the same existing memory cells for dual purposes, the system eliminates the need for separate random number generation hardware while maintaining the ability to produce high-quality random numbers.
Solution Approach 2:
The patent merges the random number generation function with the existing flash memory storage function. The entropy source is integrated into the memory substrate itself, combining what were previously separate functions into a single unified system that reduces overall device complexity.
3Reliability
If flash memory cells are repeatedly programmed to force random state, then truly random values are obtained, but additional write operations are required
Solution Approach 1:
The system performs preliminary programming operations during initialization or idle periods to prepare the flash memory cells for random number generation. By pre-conditioning the cells through repeated programming, the system ensures that entropy is available when needed without causing delays during critical operations.
Solution Approach 2:
The patent employs periodic programming cycles to maintain the random state of flash memory cells. Rather than continuous programming, the system uses periodic refresh operations to sustain entropy, reducing the overall time overhead while maintaining randomness quality.
Data Source
AI summary
A random number generation system may generate one or more random numbers based on the repeated programming of a memory, such as a flash memory. As an example, a control system may repeatedly store a sequence to a block of flash memory to force a plurality of cells into a random state such that, at any given instant, the values in the cells may be random. The control system may identify which of the cells contain random values and then generate based on the identified values a number that is truly random.


