How do phenomena such as mouse movement or thermal noise are exploited as TRNG within a symmetric crypto-system (e.g: Stream cipher)? I will really appreciate if anyone could provide me with a genuine use case in order to well understand the concept. Many thanks in advance.


I think you're confused about the module boundaries (so to speak) between the symmetric algorithms and the random number generator.

Symmetric algorithms generally expect some of their inputs to be randomly selected. For example, symmetric algorithms generally expect secret keys to be randomly selected. Some algorithms also want you to supply non-secret, randomly selected nonces or initial values (IVs).

But those are preconditions that the algorithms expect you to meet before you call them. The mechanism for generating random values is external to them.

Here's a silly car analogy. If symmetric algorithms are like cars, then random numbers are like fuel and random number generators are like refineries:

  • Cars use fuel, and fuel is made in refineries, but neither the fuel nor the refinery are parts of the car.
  • The car's function depends on the composition of the fuel, but not really on the design of the refinery—as long as it produces appropriate fuel, any refinery is fine.

Symmetric algorithms can be fed randomness directly from a random number generator, but very often they're "fueled" indirectly from intermediate sources that use an RNG. The most significant of these is the Diffie-Hellman key exchange.

You may enjoy reading chapter 9 of Ferguson, Schneier and Kohno's Cryptography Engineering, which happens to be the one available as a free sample, which motivates and details the design of one cryptographic random number generator design, at an informal, introductory level.

  • $\begingroup$ Thanks for your reply :) I want thus to understand the process of random number generation using such mechanisms as entropy sources. I couldn't find any reliable doc or example so far on it. The doc you did mention doesn't cover or explain it as well as I am expecting. $\endgroup$ – user-x220 Aug 26 '16 at 9:32

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.