Order of Operations
- First load in 88-bits worth of /dev/urandom practical-random data into an initial seed buffer variable
- Next feed in the first 32-bits from the seed variable to the srand() pseudo-random initialization function
- Then use the rand() pseudo-random function to initially mix in additional random bytes into throughout the seed buffer
- When the user calls for a random byte, start with a pseudo-random byte and XOR in every seed practical-random byte
- In the same loop, XOR in new pseudo-random bytes into the seed practical-random bytes to be ready for the next call
[C Snippet]
~
Source Code: github.com/stoops/vpn/blob/main/lib/rnd.c
~
