/dev/random
не стандартизовано. POSIX не забезпечує жодного способу генерування криптографічно захищених випадкових даних і не має поняття ентропії.
Розрахунок ентропії ядра Linux відповідає інформаційно-теоретичній моделі ентропії, яка не стосується практичного використання. Єдиний випадок, коли це актуально, - це новий пристрій, який ніколи не встигав накопичувати ентропію (сюди входять реальні дистрибутиви; встановлені системи зберігають свою ентропію від одного завантаження до іншого). Крім цієї ситуації, ентропії завжди достатньо, оскільки ентропія не вичерпує. Оскільки Linux /dev/random
блокує, коли думає, що йому недостатньо ентропії, використовуйте /dev/urandom
, яка ніколи не блокує. Використання /dev/urandom
корисно для всього, включаючи генерацію криптографічних ключів (за винятком, як було сказано вище, на свіжозрізаному пристрої).
Підсумовуючи:
- Ні, це не стандартно.
- Вам все одно.
- Використовуйте
/dev/urandom
.
Багато, але не всі системи Unix мають /dev/urandom
і /dev/random
. Дивіться сторінку Вікіпедії для більш детальної дискусії.