Для модульных тестов криптографической утилиты я хотел бы иметь возможность принудительно Криптографический генератор случайных чисел OpenSSL (как RAND_bytes
, так и RAND_pseudo_bytes
) для возврата предсказуемых, повторяемых последовательностей байтов, так что различные шифртексты, в свою очередь, предсказуемы и могут быть запечены в тестовые векторы. (Все остальные ключевые материалы находятся под моим контролем.)
Я знаю, что это полностью подрывает безопасность. Это будет использоваться только для модульных тестов.
Я не могу просто вызвать RAND_seed
с фиксированным семенем перед каждым тестом, потому что (кажется) ГСЧ автоматически засевает себя из / dev / urandom
, хочу я этого или нет. , и в любом случае RAND_seed
не сбрасывает RNG, а только добавляет начальное значение в пул энтропии.
Есть ли способ сделать это? (В крайнем случае, похоже, я мог бы написать свой собственный механизм ГПСЧ, но я бы хотел подумать, что есть более простой вариант.)