Однажды я читал/слышал, что можно сгенерировать криптографически безопасный генератор псевдослучайных чисел на основе двух криптографически безопасных хеш-функций.
Алгоритм идет таким образом:
- Позволять $f$ и $г$ быть двумя независимыми криптографически безопасными хэш-функциями размера блока $s$.
- Этот алгоритм выводит блоки $s$, блок $n$ определяется как: $output[n \times s; (n+1) \times s] = f(g_{n}(seed))$
- Функция $g_{n}(начальное число)$ определяется как $g_{n} = g_{n-1}(начальное число)$ куда $g_{0}(начальное число) = g(начальное число)$.
Конкретно, первый блок генерируется с помощью $f(г(начальное число))$, второй блок с $f(g(g(seed)))$, тогда $f(g(g(g(seed))))$, и так далее...
Я искал любую статью или кого-нибудь, упоминающего этот алгоритм и/или пытающегося провести криптоанализ этого алгоритма, но я ничего не нашел.
Криптографически стойкий генератор псевдослучайных чисел предлагает тот же алгоритм, но использует только одну хэш-функцию, в отличие от того, что я предлагаю. В выбранном ответе говорится об использовании двух хеш-функций, но я не смог найти более подробной информации в литературе.
Этот алгоритм реален? Как это называется?