gerador de entropia conveniente e previsível

1

Estou escrevendo casos de teste para um sistema de compactação de dados de alto desempenho. (bem, não exatamente isso, mas para fins de teste pode ser descrito como este)

Para o teste eu tenho que gerar 500GB ~ 3TB de arquivos aleatórios em um diretório.

Por enquanto estou usando /dev/urandom , mas isso tem o problema de ser, bem, aleatório.

Nada garante que eu não receberei vários arquivos cheios de zeros uma vez, e uma mudança no algoritmo que deveria ter refletido negativamente na eficiência será alta.

Existe uma maneira de gerar essa quantidade de dados aleatórios, sem precisar armazená-los permanentemente, e tê-los previsíveis?

algo como: semeie uma função, gere os dados, inspecione os dados, confirme a semente, confie que você obterá os mesmos dados gerados sempre.

eu sei que pode semear o urandom, mas ele não funciona para gerar os mesmos dados toda vez que eu esperava.

Existe algo como o descrito acima com a conveniência no UNIX que o / dev / urandom fornece?

    
por gcb 03.03.2016 / 04:12

1 resposta

0

Você pode implementar uma congência linear PRNG ( link ).

Basicamente, são relações de recorrência, em que a saída em cada etapa serve como semente para a próxima etapa:

X_ {n + 1} = (a * X_n + c) mod m

Os números a, X_0, c e m devem ser escolhidos de forma que maximizem o comprimento da sequência antes que ocorra a repetição. O recurso que é bom para você é que, dada a mesma semente inicial, eles criam a mesma sequência toda vez.

Mas eles NÃO são adequados para fins criptográficos, pois produzem números "aleatórios" com muito pouca entropia.

    
por 03.03.2016 / 06:34

Tags