2

I found on Wikipedia this definition:

Lavarand was a hardware random number generator designed by Silicon Graphics that worked by taking pictures of the patterns made by the floating material in lava lamps, extracting random data from the pictures, and using the result to seed a pseudo-random number generator. Although the secondary part of the random number generation uses a pseudo-random number generator, the full process essentially qualifies as a "true" random number generator due to the random seed that is used. Its applicability however is limited by its low bandwidth.

So if I seed a PRNG with a true random seed I obtain a TRNG?
But what is the difference between this and a CSPRNG?

For example, SecureRandom is a CSPRNG and uses true random entropy bits collected by the OS.
- If they are available => it generates true random numbers.
- If the entropy pool is low, it uses a PRNG seeded by true random bits. => By definition on wikipedia it is a "true" random number generator, so it generates "true" random numbers.

So in either case SecureRandom can be considered a TRNG because it produces true random numbers...

It's clear that I'm missing something :P Probably the misunderstanding stands on the difference between true and "true"...
Can someone explain to me the difference?

ROMANIA_engineer
  • 54,432
  • 29
  • 203
  • 199
  • you might have better luck at the information security site. I wonder if the PRNG is evenly distributed over its seed space. Also, if you try to get more than the number of bits in the seed (which is why you wouln't just use the initial input) it seems like you're no longer truely random because you're following a deterministic prng algorithm (if anyone could tell is another question.) – Paul Rubel Oct 06 '15 at 12:29

0 Answers0