Random number generators in multi-platform environment

There are multiple alternatives for digital random number generation. Firstly, I explore and explain the differences between the types of RNGs, as well as their use in modern Windows and Linux operating systems and their working principles. I propose a wrapper, compatible with both OSes, in two versions: a kernel-mode version and a user-mode version, the latter providing the equivalent of /dev/urandom on both platforms. I use the Dieharder utility to test the randomness of the output data. Also, I measure the respective throughput of the RNGs used.


Faculty of Informatics

Date of Completion

spring 2016



Milan Brož


Matej Harčár