Estou interessado na geração de números pseudo-aleatórios para criptografia. Além do capítulo 5 de Menezes / Oorschot / Vanstone ; Capítulo 8 de Stinson ; e o capítulo 3 de Goldreich , onde mais eu poderia encontrar mais? Estou interessado em princípios gerais para projetar PRNGs (propriedades desejáveis, testes, etc.).
15
Respostas:
Você pode querer conferir
fonte
Se você está pensando em implementar suas idéias, há uma bateria padrão de testes que são dadas às implementações do PRNG. Esses testes (DIEHARD e sucessor DIEHARDER) podem ser baixados de sua página da Web arquivada e http://www.phy.duke.edu/~rgb/General/dieharder.php, respectivamente.
fonte
Você está interessado em implementar um PRNG? Nesse caso, sua melhor aposta não é projetar uma, mas use uma padrão. / dev / urandom é a resposta certa na maioria das plataformas. Se / dev / urandom não existir, gerar uma chave AES aleatória com / dev / random e executar o modo AES-CTR para gerar muitos números pseudo-aleatórios é outra abordagem razoável.
Eu recomendo que você leia Engenharia de criptografia, de Ferguson, Schneier e Kohno. É um excelente livro. Ele ensinará muito sobre como projetar e construir sistemas de criptografia reais.
Se você realmente precisa criar um sistema que será implantado na prática, recomendo que você não siga suas orientações da comunidade teórica de CS, mas da comunidade de praticantes e pesquisadores orientados para a prática. Grande parte do trabalho teórico de CS não será muito relevante ou potencialmente enganoso para a implementação prática de um PRNG seguro. Também encorajo você a olhar para a troca de pilhas de segurança de TI para esse tipo de pergunta.
fonte