У Linux будь-які дані, записані в / dev / random або / dev / urandom, копіюються як у блокуючий пул (джерело випадковості для / dev / random), так і в неблокуючий пул (джерело випадковості для / dev / urandom).
Просто подивіться на функцію random_write .
Але дані, записані в / dev / random, не враховуються внутрішнім оцінком ентропії (зрештою, якийсь локальний супротивник може спробувати просто перенаправити / dev / zero або якийсь інший дуже не випадковий джерело на / dev / random), тому якщо у вас виникнуть проблеми з блокуванням / dev / random, просто запис у / dev / random не допомагає.
У Linux пишіть у / dev / random (або / dev / urandom, різниці немає), але читайте завжди з / dev / urandom (як тільки це буде посіяно - насправді найкращим способом є використання нового системного виклику getrandom ).
Я не знаю, як це працює в інших Unice.