O que a letra 'u' significa em / dev / urandom?


87

Entendo que as leituras de /dev/randompodem bloquear, enquanto a leitura /dev/urandomé garantida para não bloquear.

De onde vem a carta u? O que isso significa?

Espaço do usuário? Desbloqueando? Micro?

Atualizar:

Com base no texto inicial da questão, tem havido algum debate sobre a utilidade do /dev/randomvs /dev/urandom. O link Mitos sobre / dev / urandom foi publicado três vezes abaixo e está resumido nesta resposta à pergunta Quando usar / dev / random vs / dev / urandom .


13
Desbloqueio, ao contrário do /dev/randomque está bloqueando.
Satō Katsura

3
Capítulo e verso?
Tom Hale #

11
A idéia que de /dev/randomalguma forma era melhor do que /dev/urandomagora está obsoleta e para a grande maioria dos casos de uso, /dev/urandom agora é preferida .
David Schwartz

@SatoKatsura Source? A resposta de Tom contradiz a sua resposta.
noɥʇʎԀʎzɐɹƆ

Aqui está um link para o site com detalhes para fazer backup do comentário de @DavidSchwartz. 2uo.de/myths-about-urandom
Walter

Respostas:


86

Ilimitado.

No Linux, comparar as funções do kernel nomeadas random_reade random_read_unlimited indica que a etimologia da letra uin urandomé unlimited.

Isso é confirmado pela linha 114 :

O dispositivo / dev / urandom não tem esse limite [...]

Atualizar:

No que diz respeito o que veio primeiro para Linux, /dev/randomou /dev/urandom, @ Stéphane Chazelas deu o post com o patch original e @StephenKitt mostrou ambos foram introduzidas simultaneamente .


7
Então por que não é /dev/randomnomeado /dev/lrandom? :)
Satō Katsura

13
Histórico. No início, apenas a versão limitada / bloqueadora existia. E a função análoga "não-un-limitada" é chamado random_read:)
Tom Hale

10
Eu encontrei um dos links via Wikipedia, mas estou citando a fonte diretamente, em vez de citá-la. Eu consideraria análogo encontrar algo via google e não citar o google ... a menos que eu tenha algo a aprender sobre citar no StackExchange?
Tom Hale #

5
@TomHale O argumento histórico para randomv. lrandomNão se mantém tão bem desde os dois randome urandomfoi introduzido simultaneamente no kernel do Linux.
Stephen Kitt

7
Veja também o patch na usenet enviado pelo autor da implementação original em 1995
Stéphane Chazelas 16/16/16

18

Depende de qual sistema "Unix" você está falando.

No FreeBSD, / dev / urandom e / dev / random são o mesmo dispositivo. A letra u agora é um legado histórico que existe para compatibilidade com versões anteriores. Na inicialização, eles bloqueiam até reunir entropia suficiente e nunca mais bloqueiam. Veja Mitos sobre o urandom para obter detalhes.

No mundo moderno do Linux (começando com o kernel 4.8), os dois dispositivos partem do mesmo CSPRNG, então a única diferença é que algumas pessoas especulam a existência de um ataque. Este ataque é como uma viagem FTL [Mais Rápida que a Luz]. Fácil de especular, bastante difícil de projetar.

TLDR é apenas use / dev / urandom.


2
A partir do seu link, é interessante notar queFreeBSD does the right thing: they don't have the distinction between /dev/random and /dev/urandom, both are the same device. At startup /dev/random blocks once until enough starting entropy has been gathered. Then it won't block ever again.
Tom Hale

-5

Uniforme. Números aleatórios distribuídos uniformemente entre 0 e 1. Uma distribuição plana ... em oposição a uma distribuição de pico como Poisson, ou Normal / Gaussiano.


3
Tem alguma fonte para essa?
GnP 17/11/16

7
Isto definitivamente não é direita /dev/randome /dev/urandomambos dão a mesma distribuição, e em qualquer sentido real não é uniformemente distribuído entre 0 e 1.
Chris

Desculpe ... provavelmente baseada que em outra língua que eu usei (R ou algo)
bbneo
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.