1 Resilience: The generator's output looks random to an observer with no knowledge of the internal state. This holds even if that observer has complete control over data that is used to refresh the internal state.
2 Forward security: Past output of the generator looks random to an observer, even if the observer learns the internal state at a later time.
3 Backward security/Break-in recovery: Future output of the generator looks random, even to an observer with knowledge of the current state, provided that the generator is refreshed with data of sufficient entropy.
Architectures such as above were suggested before. This work differs from previous attempts in that we present a formal model for robust pseudo-random generation, and provide a formal proof within this model for the security of our architecture. To our knowledge, this is the first attempt at a rigorous model for this problem.
Our formal modeling advocates the separation of the *entropy extraction* phase from the *output generation* phase. We argue that the former is information-theoretic in nature, and could therefore rely on combinatorial and statistical tools rather than on cryptography. On the other hand, we show that the latter can be implemented using any standard (non-robust) cryptographic PRG.
We also discuss the applicability of our architecture for applications such as /dev/(u)random in Linux and pseudorandom generation on smartcards.
Category / Keywords: /dev/random, Entropy, Mixing functions,Pseudo-randomness, Smart-cards, True randomness. Publication Info: CCS 2005 Date: received 5 Feb 2005, last revised 1 Sep 2005 Contact author: boaz at cs princeton edu Available format(s): Postscript (PS) | Compressed Postscript (PS.GZ) | PDF | BibTeX Citation Note: Minor revision Version: 20050902:032043 (All versions of this report) Discussion forum: Show discussion | Start new discussion