private static SecureRandom CreateSecureRandom()
{
/*
* We use our threaded seed generator to generate a good random seed. If the user
* has a better random seed, he should use the constructor with a SecureRandom.
*
* Hopefully, 20 bytes in fast mode are good enough.
*/
byte[] seed = new ThreadedSeedGenerator().GenerateSeed(20, true);
return new SecureRandom(seed);
}