Сначала вам нужно определить фактическое использование / назначение генератора случайных чисел, и почему, по вашему мнению, он должен соответствовать такому высокому стандарту безопасности? Причина, по которой я спрашиваю, заключается в том, что вы упомянули о том, что вы можете выбрать его из устройства - если вы действительно используете его в целях безопасности, то обеспечение безопасности источника и канала для его передачи гораздо важнее, чем чьи-либо академические сборы трикотажа.
Второй элемент - это размер фактических случайных чисел, которые вам нужны - большое начальное число хорошо, но только если сгенерированное число также большое - в противном случае вы просто будете читать маленькую часть сгенерированного числа, и это увеличит ваш риск ,
Изучите перестраиваемые шифры, а не такие вещи, как SHA или AES. Вот 2 исследования, если вы хотите прочитать и проверить, как и почему они работают:
http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.97.6594&rep=rep1&type=pdf
http://www.springerlink.com/index/q29t6v1p45515186.pdf
Или перехватите любой реконфигурируемый исходный код шифра ГОСТ, который вы найдете в сети, и затем вы либо подадите ему просто любое начальное число (например, каскадный «тикер» плюс идентификатор узла веб-сервера (если он находится в веб-ферме) плюс часть ответа на любом новостном сайте в Интернете, который постоянно меняет главные новости, или вы можете кормить его строго контролируемым начальным начальным числом (которое вы можете создать самостоятельно) и использовать легкую псевдослучайную последовательность для выбора дальнейших конфигураций шифров. Даже АНБ может ' не сломайте это :-) Так как это всегда другой шифр. Для реальных целей шифрования фактически необходимо использовать очень контролируемое начальное начальное число, чтобы иметь возможность повторить последовательность для проверки. Вот где мы вернемся к первому пункту - защита источника и распространения.