CSPRNG: diferenças entre revisões

Conteúdo apagado Conteúdo adicionado
m ajustando datas, traduzindo nome/parâmetro nas citações, outros ajustes usando script
Linha 14:
Idealmente, a geração de números aleatórios em CSPRNGs usa entropia para obter fontes de alta qualidade, que podem ser um [[Gerador de número pseudoaleatório (hardware)|hardware]] ou um processo de sistema imprevisível; apesar de correlações inesperadas terem sido encontradas em tais diversos processos ostensivamente independentes. Do ponto de vista da informação teórica, a quantidade de aleatoriedade, a entropia que pode ser gerada, é igual a entropia fornecida pelo sistema. Porém, às vezes, em situações práticas, é necessário mais números aleatórios do que há entropia disponível. Além disso, o processo de extrair aleatoriedade de um sistema em execução pode ser lento na prática. Em tais casos, um CSPRNG pode ser utilizado. Um CSPRNG pode "ampliar" a entropia disponível sobre mais bits.
 
==RequerimentosRequisitos==
 
Os requerimentosrequisitos de um PRNG padrão também são satisfeitos por um PRNG criptografiamente seguro, porém, não se pode dizer o mesmo do inverso. Os requerimentosrequisitos do CSPRNG podem ser divididos em dois grupos: primeiramente, eles devem passar por testes de aleatoriedade estatísticos; e segundo, eles devem ser resistentes a ataques, mesmo quando parte de seu estado inicial ou em execução chegue ao conhecimento do atacante.
 
*Todo CSPRNG deve satisfazer o [[teste do próximo bit]]. Isto é, dados os primeiros <var>k</var> bits de uma sequência aleatória, não há algoritmo de tempo polinomial capaz de predizer o (<var>k</var>+1)-ésimo bit com probabilidade de sucesso maior que 50%. [[Andrew Yao]] provou em 1982 que um gerador que passe nesse teste, passará em qualquer outro teste estatístico de tempo polinomial para aleatoriedade.<ref name="yao82">[[Andrew Chi-Chih Yao]]. [http://www.busim.ee.boun.edu.tr/~mihcak/teaching/ee684-spring07/proposed-project-papers/one-way-functions/Yao-XOR-Lemma-and-Hard-Core-Predicates/Yao-XOR-original.pdf Theory and applications of trapdoor functions]. In Proceedings of the 23rd IEEE Symposium on Foundations of Computer Science, 1982.</ref>