Он не может, даже не зная, как работает «Генератор псевдослучайных чисел Enocoro-128_v2», так как PRNG будет иметь $H_{выход} < H_{вход}$
Кажется, у вас есть источник энтропии, который предположительно генерирует случайные выборки Колмогорова. Они имеют неравномерное распределение, которое вы сможете увидеть из функции/гистограммы массы вероятности, и что оно не соответствует SP 800-22. И они могут быть автокоррелированы. Это означает $H_{\infty} \ll 1$ бит/бит. Запустите NIST 800 90b ea_iid
тест для подтверждения.
Размазывание ГПСЧ поверх просто маскирует основную энтропию Колмогорова предсказуемой псевдоэнтропией ($H_{\infty} =0 $ с точки зрения TRNG). Некоторые люди охарактеризовали такую конструкцию как аппаратный ГПСЧ. Однако для того, чтобы любой TRNG был достоин этого имени, он должен удовлетворять наиболее важному аспекту конструкции TRNG, а именно тому, что генерируемая энтропия > выходная длина. Более формально: $H_{выход} \ngtr H_{вход}$.
С небольшой подтасовкой PRNG любой источник энтропии может производить выходную энтропию с почти бесконечной скоростью. Например, встроенный в чип Intel TRNG (RDRAND) предположительно производит почти 2 Гбит/с. Четко Мусор и чушь. Этот чип явно имеет $H_{выход} \gg H_{вход}$.
Итак, пост-экстракция, слабослучайный источник кажется появиться с гораздо большей случайностью и отклонением от совершенства, ограниченным Лемма об остатках хэша:-
$$ \epsilon = 2^{-(sn-k)/2} $$
где у нас есть $n$ = входные биты в $s$ бит/бит сырой энтропии из источника, $к$ - количество выходных битов из экстрактора (и $<n$). $\эпсилон$ отклонение от идеально однородного $к$ строка битовой длины, т.е. $H(k) = 1 - \epsilon$ бит/бит. НИСТ признает, что $\эпсилон < 2^{-64}$ для криптографических приложений.
Однако, $\эпсилон$ можно легко сделать намного меньше. я стремлюсь к $2^{-128}$. Для экстрактора вы можете использовать SHA-512 ($к=512$), чтобы минимизировать потерю энтропии. Вы можете увидеть $n/k$ отношения и относительная эффективность в этих диаграммах: -
Итак, в заключение, вам не нужно/не следует использовать PRNG поверх вашего источника энтропии. Если вы делаете TRNG, сделайте его правильным TRNG. Скорость не так уж и важна.
В конце концов, что можно сделать со всем этим колмогоровским хламом?