/dev/random
Origem: Wikipédia, a enciclopédia livre.
Nos sistemas operacionais do tipo Unix, o /dev/random é um arquivo especial que serve como um gerador de números pseudo-aleatórios oriundos do ruído do ambiente e obtidos através de drivers de dispositivo e de outras origens. Nem todos sistemas operacionais implementam a mesma semãntica para o /dev/random.
Índice |
[editar] Linux
O Linux foi o primeiro sistema operacional que implementou este tipo de gerador de números aleatórios como serviço do sistema. Nesta implementação o gerador mantém um número estimado de bits de ruído no pool de entropia. A partir deste pool de entropia os números aleatórios são criados. Quando lido, o dispositivo /dev/random irá retornar apenas os bytes aleatórios com o número de bits estimados pelo pool de entropia. O /dev/random deve ser apropriado para usos que necessitam alta qualidade dos números aleatórios como one-time pad ou geração de chave pública. Quando o pool de entropia está vazio, operações de leitura no /dev/random serão bloqueadas até que seja obtido ruído adicional do ambiente. (Origem: Linux Programmer's Manual, seção 4)
Uma contraparte do /dev/random é o /dev/urandom que reusa o pool interno para produzir mais bits pseudo-aleatórios. A intenção é servir como um gerador de número pseudo-aleatório criptograficamente seguro, apesar dele não ser projetado por especialistas em criptografia. Como resultado, a maioria do software de criptografia (incluíndo OpenSSL, PGP e GnuPG, por exemplo) implementam o seu próprio gerador a partir da "semente" obtida no /dev/random.
Algumas fraquezas apontadas neste gerador são discutidas no artigo Analysis of the Linux Random Number Generator.
[editar] FreeBSD
O sistema operacional FreeBSD implementa o algoritmo Yarrow para gerar um fluxo aleatório.
[editar] Ver também
- Filosofia Unix
- Fluxos padrão
- /dev/null
- /dev/zero
- /dev
- Hardware gerador de número pseudo-aleatório
- Gerador de número pseudo-aleatório criptograficamente seguro
- Algoritmo Yarrow