Force openssl RNGs para retornar uma sequência de bytes repetível
Para testes de unidade de um utilitário criptográfico, gostaria de poder forçar o gerador de números aleatórios criptográficos do OpenSSL (ambosRAND_bytes
eRAND_pseudo_bytes
) para retornar seqüências de bytes previsíveis e repetíveis, para que vários textos cifrados sejam previsíveis e possam ser transformados em vetores de teste. (Todo o material essencial está sob meu controle.)
Eu sei que isso derrota totalmente a segurança. Isso será usado apenas para testes de unidade.
Não posso simplesmente chamarRAND_seed
com uma semente fixa antes de cada teste, porque (parece) o RNG se propaga automaticamente a partir de/dev/urandom
se eu quero ou não, e de qualquer maneiraRAND_seed
nãoRedefini o RNG, ele adiciona apenas a semente ao pool de entropi
Há alguma maneira de fazer isso? (No extremo, parece que eu poderia escrever meu próprio mecanismo PRNG, mas gostaria de pensar que há uma opção mais simples.)