Заставить ГСЧ openssl возвращать повторяемую последовательность байтов

Для модульных тестов криптографической утилиты я хотел бы иметь возможность принудительно Криптографический генератор случайных чисел OpenSSL (как RAND_bytes , так и RAND_pseudo_bytes ) для возврата предсказуемых, повторяемых последовательностей байтов, так что различные шифртексты, в свою очередь, предсказуемы и могут быть запечены в тестовые векторы. (Все остальные ключевые материалы находятся под моим контролем.)

Я знаю, что это полностью подрывает безопасность. Это будет использоваться только для модульных тестов.

Я не могу просто вызвать RAND_seed с фиксированным семенем перед каждым тестом, потому что (кажется) ГСЧ автоматически засевает себя из / dev / urandom , хочу я этого или нет. , и в любом случае RAND_seed не сбрасывает RNG, а только добавляет начальное значение в пул энтропии.

Есть ли способ сделать это? (В крайнем случае, похоже, я мог бы написать свой собственный механизм ГПСЧ, но я бы хотел подумать, что есть более простой вариант.)

5
задан zwol 15 September 2011 в 20:40
поделиться