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.