Как использовать 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?

Спасибо,

Бен.

Ответы на вопрос(2)

Ваш ответ на вопрос