Flash Memory Random Number Generation for IoT Security

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

VSEngineering 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

Engineering Contradiction:
ImprovesecurityVSAvoidcomplexity
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #25Self-service

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If dedicated random number generation hardware is added, then truly random numbers can be generated, but the device complexity and cost increase

Engineering Contradiction:
Improverandomness qualityVSAvoidhardware resources
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #6Universality (Multi-functionality)

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.

Inventive Principle:
Principle #5Merging (Combining)

3Reliability

If flash memory cells are repeatedly programmed to force random state, then truly random values are obtained, but additional write operations are required

Engineering Contradiction:
Improverandomness qualityVSAvoidprogramming time
Core Design Contradiction:
ReliabilityVSLoss of time

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #19Periodic action

Data Source

PatentUS11620108B1Random number generation systems and methods
Publication Date: 2023.04.04 UNIVERSITY OF ALABAMA
  • US11620108B1 patent drawing
  • US11620108B1 patent drawing
  • US11620108B1 patent drawing

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.