Цитата(osnwt @ Mar 7 2006, 23:10)

Реально важны числа при генерации ключей алгоритма шифрования, а там используется rand() из стандартной библиотеки C. Думаю, что эта функция написана не дилетантами и многократно проверена специалистами по криптографии.
:-) Они пишутся максимально просто. В лучшем случае используются достаточно правильные
коэффициенты типа Миллера и подобных для получения более-менее приличного периода
повторения.
Типичный генератор вызлядит так:
#define MULTIPLIER 0x015a4e35L
#define INCREMENT 1
static long Seed = 1;
/*---------------------------------------------------------------------*
Name rand - random number generator
Usage int rand(void);
Related
functions usage void srand(unsigned seed);
Prototype in stdlib.h
Description rand uses a multiplicative congruential random number
generator with period 2^32 to return successive pseudo-
random numbers in the range from 0 to 2^15 - 1.
The generator is reinitialized by calling srand with an
argument value of 1. It can be set to a new starting point by
calling srand with a given seed number.
*---------------------------------------------------------------------*/
int rand(void)
{
Seed = MULTIPLIER * Seed + INCREMENT;
return((int)(Seed >> 16) & 0x7fff);
}
Впечатляет?