К сожалению, / dev / random также не подходит для использования в одноразовых планшетах, по крайней мере, не в виде одноразовых планшетов (с доказуемыми гарантиями безопасности), которые большинство людей представляют, когда думают или внедряют одноразовые планшеты. Большая часть информации, приведенной ниже, обобщена из (очень длинной) статьи на http://www.2uo.de/myths-about-urandom/
Проблема в том, что / dev / random не является действительно случайным; он использует CSPRNG для генерации своего вывода. Фактически, / dev / random использует точно такой же CSPRNG, что и / dev / urandom. Единственное отличие состоит в том, что / dev / random блокирует, если его внутренняя оценка энтропии недостаточна.
Слово «оценка» в предыдущем предложении является ключевым. Большинство людей считают, что эта оценка всегда точна и точна, но на самом деле она не совсем точна. В тот момент, когда оценка неверна, вы теряете все доказуемые гарантии безопасности одноразового планшета, и все, что у вас остается, - это вычислительная безопасность - не лучше, чем если бы вы использовали / dev / urandom!
Немного неправильная оценка энтропии не делает вашу одноразовую площадку немного небезопасной. Доказываемая гарантия безопасности одноразовой накладки - все или ничего.
Предпосылка этого вопроса заключается в том, что проблемы с / dev / random можно «исправить», добавив больше энтропии. К сожалению, это предположение неверно. Вредоносный источник энтропии гораздо хуже, чем вообще никакой энтропии, потому что источники энтропии часто имеют доступ к внутренним данным и могут тайно экспортировать эти данные, используя выходные данные ГСЧ - см. Http://blog.cr.yp.to/20140205-entropy .html для полного обсуждения (слишком долго, чтобы подвести итог здесь). В частности, аппаратный источник энтропии (как рекомендовано в нескольких других ответах) является очень плохим выбором с точки зрения безопасности, так как это оборудование имеет первостепенное значение для совершения злонамеренных действий, и оно по сути непригодно для использования.