Как использовать boost :: random_device для генерации криптографически безопасного 64-битного целого числа?
Я хотел бы сделать что-то вроде этого:
boost::random_device rd;
boost::random::mt19937_64 gen(rd());
boost::random::uniform_int_distribution<unsigned long long> dis;
uint64_t value = dis(gen);
Но я читал, что твистер Мерсенна не криптографически безопасен. Тем не менее, я также читал, что random_device может быть, если он извлекает данные из / dev / urandom, который, вероятно, на платформе linux (моя основная платформа). Так что, если random_device недетерминирован случайным образом и используется для заполнения мерсенового твистера (как показано выше), разве это не делает криптографически безопасным твистер мерсенна (хотя само по себе это не так)?
Я немного новичок в этой области, поэтому любые советы приветствуются.
Итак, как мне сгенерировать криптографически защищенное 64-битное число, которое можно сохранить в uint64_t?
Спасибо,
Бен.