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.