English

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

Cryptography and Security 2019-11-12 v2

Abstract

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.

Keywords

Cite

@article{arxiv.1903.09365,
  title  = {ERHARD-RNG: A Random Number Generator Built from Repurposed Hardware in Embedded Systems},
  author = {Jacob Grycel and Robert J. Walls},
  journal= {arXiv preprint arXiv:1903.09365},
  year   = {2019}
}

Comments

Updated, in submission; 5 pages, 1 figures

R2 v1 2026-06-23T08:15:55.687Z