SRAM Entropy Characterization for True Random Number Generation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current hardware random number generators using SRAM cells face challenges such as slow speed, vulnerability to external factors, and lack of entropy, particularly in deterministic systems like MIFARE Classic cards, where generated random numbers are predictable and dependent on power-up time.

Innovation Solution

A method that characterizes SRAM cell entropy by reading start-up values over multiple power-ups, calculates bias values, and generates an address list ordering cells by entropy, allowing for the selection of cells in decreasing entropy order to produce a random bit-string, which is stored in non-volatile memory for subsequent power-ups.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If random numbers are generated using SRAM cell start-up values, then true randomness is achieved, but the speed of generation is slow due to multiple power-ups required

Engineering Contradiction:
Improverandomness qualityVSAvoidgeneration speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent performs entropy measurement and cell characterization in advance during manufacturing or initialization. The controller measures the start-up value of each SRAM cell over multiple power-ups to determine entropy, then stores this information in a lookup table. During actual random number generation, the system simply queries the pre-computed lookup table based on the desired number of random bits, avoiding the need to perform multiple power-ups at the time of generation.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If all SRAM cells are used for random number generation, then entropy is maximized, but predictable cells reduce the overall quality of randomness

Engineering Contradiction:
Improveentropy qualityVSAvoidcell selection complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent evaluates each SRAM cell individually to determine its entropy characteristics. The controller measures the start-up value of each cell separately over multiple power-ups and assigns an entropy value to each cell based on its variability. This per-cell characterization allows the system to identify and select only those cells with sufficient entropy for random number generation, rather than treating all cells uniformly.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system pre-characterizes each cell's entropy during manufacturing or initialization by performing multiple power-ups and measuring start-up values. The results are stored in a lookup table that maps the desired number of random bits to appropriate cell selections. This preliminary action eliminates the need for complex real-time evaluation during random number generation.

Inventive Principle:
Principle #10Preliminary action

3Measurement precision

If multiple power-ups are performed to measure cell entropy, then accurate entropy measurement is achieved, but the time required increases significantly

Engineering Contradiction:
Improveentropy measurement accuracyVSAvoidmeasurement time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent performs the time-consuming entropy measurement process during manufacturing or initialization rather than during normal operation. The controller measures each cell's start-up value over multiple power-ups to accurately determine entropy, then stores these measurements in a lookup table. Subsequent random number generation operations simply query this pre-computed table, reducing generation time to minimal lookup operations.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11977856B2Random number generation from SRAM cells
Publication Date: 2024.05.07 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11977856B2 patent drawing
  • US11977856B2 patent drawing
  • US11977856B2 patent drawing

AI summary

Methods are provided for generating a random bit-string from an array of SRAM cells. Such a method includes reading the start-up value of each cell over multiple power-ups of the array, and calculating, from the multiple start-up values of each cell, a bias value indicative of entropy of that cell. The method also includes generating, based on the bias values, an address list in which addresses of cells in the array are listed in order of entropy of the cells. This address list is stored in non-volatile memory. The method further comprises, on a subsequent power-up of the array, generating a random bit-string by reading the start-up values of a set of cells selected in decreasing entropy order of the address list. Hardware random number generators exploiting such methods are also provided.