What are Random number generators (RNG) and how do they work?