Random number generation systems and methods

Inventors

Ray, BiswajitMilenkovic, Aleksander

Assignees

University of Alabama in Huntsville

Publication Number

US-11620108-B1

Publication Date

2023-04-04

Expiration Date

2039-05-17

Interested in licensing this patent?

MTEC can help explore whether this patent might be available for licensing for your application.


Abstract

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.

Core Innovation

The invention is a random number generation system that utilizes repeated programming of flash memory cells to induce a random state in the cells. A control system programs the same value, typically a value associated with an erased state, to a block or individual cell of flash memory multiple times, causing some of the cells to enter a random state where the values in those cells fluctuate unpredictably due to increased read noise and reduced voltage margin.

The system identifies cells that have entered the random state by reading back the values in the programmed block and detecting which cells have bit values that differ from the written sequence over repeated reads. These randomly fluctuating bits are then used to generate a truly random number sequence, providing a source of true randomness without requiring specialized hardware.

The problem addressed by this invention is the inadequacy of conventional random number generators, which often produce deterministic, pseudo-random numbers that can be susceptible to hacking, and require complex or expensive hardware or rare seed values. The disclosed method allows for true random number generation by leveraging existing flash memory, thereby reducing the need for additional hardware and associated costs, and simplifying integration into resource-constrained systems.

Claims Coverage

The patent includes several independent claims outlining the main inventive features related to random number generation using flash memory.

Consecutive programming of flash memory cell to force random state

A system comprising flash memory and a control system that consecutively programs a value associated with an erased state to a cell of the flash memory a sufficient number of times to force the cell to a random state. The system then generates a random number based on a value read from the cell while it is in the random state.

Consecutive programming of flash memory block and analysis for random state cells

A system comprising flash memory and a controller configured to consecutively program a value associated with an erased state to each of a plurality of cells of a block of the flash memory a sufficient number of times to force at least some of the cells to a random state. The controller analyzes values read from the block to identify which are from cells in the random state and generates a random number based on these identified values.

Method of random number generation by programming plurality of memory cells

A method comprising consecutively programming a value associated with an erased state to each of a plurality of cells of a block of flash memory, thereby forcing at least some of the cells into a random state, reading values from the plurality of cells, and generating a random number based on the read values.

Method of random number generation from single flash memory cell in random state

A method comprising consecutively programming a value associated with an erased state to a cell of flash memory a sufficient number of times to force the cell to a random state, reading a value from the cell while it is in the random state, and generating a random number based on the read value.

The inventive features collectively cover systems and methods to generate random numbers by repetitively programming flash memory (either a single cell or multiple cells) to induce a random state and using the resultant fluctuating values as a source of true randomness.

Stated Advantages

Enables generation of truly random numbers without requiring additional or specialized random number generation hardware.

Reduces space and cost requirements by leveraging existing flash memory commonly available in many devices.

Allows retrofitting of existing devices, such as cellphones, with random number generation ability via software without hardware modification.

Simplifies integration of random number generation into space- and resource-constrained systems, avoiding the need for bulky or expensive hardware.

Provides a robust algorithm for generating numbers that are truly random, enhancing security for encryption and other applications.

Documented Applications

Encryption and decryption of data in communication systems, including use in Internet-of-Things (IOT) devices and home automation systems.

Generating cryptographic keys for data encryption in computer systems.

Applications requiring randomization and fairness, such as electronic gambling, statistical sampling, computer simulation, and video games.

JOIN OUR MAILING LIST

Stay Connected with MTEC

Keep up with active and upcoming solicitations, MTEC news and other valuable information.