CRMar 22, 2019

ERHARD-RNG: A Random Number Generator Built from Repurposed Hardware in Embedded Systems

arXiv:1903.09365v25 citations
Originality Incremental advance
AI Analysis

This work solves the problem of secure random number generation for embedded systems developers, offering a practical solution without expensive hardware, though it is incremental in adapting existing entropy sources.

The paper tackled the problem of generating quality randomness for cryptographic operations on low-cost embedded systems by repurposing existing hardware sources like SRAM startup state, oscillator jitter, and device temperature, resulting in a PRNG implementation based on Fortuna that addresses challenges such as initial seeding and continuous entropy collection.

Quality randomness is fundamental to cryptographic operations but on embedded systems good sources are (seemingly) hard to find. Rather than use expensive custom hardware, our ERHARD-RNG Pseudo-Random Number Generator (PRNG) utilizes entropy sources that are already common in a range of low-cost embedded platforms. We empirically evaluate the entropy provided by three sources---SRAM startup state, oscillator jitter, and device temperature---and integrate those sources into a full Pseudo-Random Number Generator implementation based on Fortuna. Our system addresses a number of fundamental challenges affecting random number generation on embedded systems. For instance, we propose SRAM startup state as a means to efficiently generate the initial seed---even for systems that do not have writeable storage. Further, the system's use of oscillator jitter allows for the continuous collection of entropy-generating events---even for systems that do not have the user-generated events that are commonly used in general-purpose systems for entropy, e.g., key presses or network events.

Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes