This is a userland simulator of the Linux /dev/(u)random RNG adapted from the Linux kernel v3.2.35. The RNG proper is contained in src/random.[ch] with some additional dependencies and helper files in that directory as well. The tests/ directory contains unit tests used to determine if the simulator works properly. Unit tests in the tests directory require the "check" unit testing framework and can be found at: http://check.sourceforge.net/web/install.html On a Mac with the homebrew package manager "check" can be installed with the following command: brew install check The simulator was also used to verify our instrumented Linux kernel by replaying events that were recorded during boot and verifying that the simulator produced identical internal states and RNG outputs as the values that were recorded. Some of these tests were created by hand using values extracted from instrumented kernel trace files. Longer tests were automatically compiled from python scripts that converted traces into test cases.