Creating perfect randomness is surprisingly difficult. Even modern random number generators never generate completely ideal random numbers: small systematic errors can result in some numbers appearing slightly more frequently than others. For many applications, this does not matter. In cryptography, however, even the tiniest deviations can be problematic.