Here's a "random" post I made about adding 's ChaCha cipher implementation to condition the TRNG inside Precursor's FPGA. For those familiar with Linux, a TRNG's raw output is to /dev/random as a cipher-conditioner's output is to /dev/urandom.
bunniestudios.com/blog/?p=6126
Conversation
That doesn't sound right. Both Linux devices are conditioned, the difference is just that urandom doesn't block waiting for entropy. I assume your conditioner doesn't freewheel without input entropy, right? If so its output would be like /dev/random.
1
2
You can set a policy on how often entropy needs to be re-seeded into the conditioner. In practice, because the CPU runs relatively slowly on Precursor, and because there is a FIFO that feeds the conditioner, any practical policy never blocks.
1
1
That's just like running Linux with a decent hardware RNG, then /dev/random doesn't block either :)
2
1
Only ever blocks once in early boot for init now (if at all) and the kernel actively generates entropy rather than simply blocking. Same thing as getrandom with or without GRND_RANDOM which is now a no-op.
2
Only difference with /dev/urandom now is that unlike getrandom or /dev/random it prints a warning to the kernel log and doesn't block when the CSPRNG isn't initialized yet.
Even with the obsolete broken API design throttling output based on input, it was still a software CSPRNG.


