Chapter

Cryptographic Hardware and Embedded Systems - CHES 2003

Volume 2779 of the series Lecture Notes in Computer Science pp 166-180

True Random Number Generators Secure in a Changing Environment

  • Boaz BarakAffiliated withDepartment of Computer Science and, Applied Mathematics, Weizmann Institute of Science
  • , Ronen ShaltielAffiliated withDepartment of Computer Science and, Applied Mathematics, Weizmann Institute of Science
  • , Eran TromerAffiliated withDepartment of Computer Science and, Applied Mathematics, Weizmann Institute of Science

Abstract

A true random number generator (TRNG) usually consists of two components: an “unpredictable” source with high entropy, and a randomness extractor — a function which, when applied to the source, produces a result that is statistically close to the uniform distribution. When the output of a TRNG is used for cryptographic needs, it is prudent to assume that an adversary may have some (limited) influence on the distribution of the high-entropy source. In this work:

  1. 1

    We define a mathematical model for the adversary’s influence on the source.

     
  2. 2

    We show a simple and efficient randomness extractor and prove that it works for all sources of sufficiently high-entropy, even if individual bits in the source are correlated.

     
  3. 3

    Security is guaranteed even if an adversary has (bounded) influence on the source.

     

Our approach is based on a related notion of “randomness extraction” which emerged in complexity theory. We stress that the statistical randomness of our extractor’s output is proven, and is not based on any unproven assumptions, such as the security of cryptographic hash functions.

A sample implementation of our extractor and additional details can be found at a dedicated web page [Web].