Фрилансеры предложат решение вашей задачи уже через несколько минут!
Публикация заказа не займет много времени.
Илья Д.
Илья Д. 
28 лет, Россия
9 лет в сервисе
Был онлайн 4 года назад

Задание: Генерация настоящих случайных чисел
путем замера интервалов между нажатиями клавиш пользователем.
Изучить методы генерации не воспроизводимых несмещенных
(к нулю или к единице) последовательностей случайных чисел,
а также методы оценки качества получаемой последовательности.
Ограничение: генерировать на каждое нажатие не более одного
случайного бита.
Сохранять результат в виде в последовательности случайных
байтов в файл.

Hints:
Для переключения терминала UNIX в режим по-символьного ввода
и отключенного эха (и обратно) можно воспользоваться следующей функцией:

#include
#include
#include
void set_icanon(int icanon)
{
struct termios oldt, newt;
tcgetattr(STDIN_FILENO, &oldt);
newt = oldt;
if (icanon)
newt.c_lflag |= (ICANON | ECHO);
else
newt.c_lflag &= ~(ICANON | ECHO);
tcsetattr(STDIN_FILENO, TCSANOW, &newt);
}

Для получения системного времени UNIX с долями секунд:

#include
#include
double get_time(void)
{
struct timeval tv;
struct timezone tz;
gettimeofday(&tv, &tz);
return tv.tv_sec + tv.tv_usec / 1000000.0;
}