Що означає буква 'u' в / dev / urandom?


87

Я розумію, що читання /dev/randomможе блокуватись, тоді як читання /dev/urandomгарантовано не блокується.

Звідки береться лист uу цьому? Що це означає?

Простір користувачів? Розблокування? Мікро?

Оновлення:

На основі первісної формулювання питання, там були деякі дебати з приводу корисності /dev/randomVS /dev/urandom. Посилання Міфи про / dev / urandom було розміщено три рази нижче та узагальнено у цій відповіді на питання Коли користуватися / dev / random vs / dev / urandom .


13
Розблокування, на відміну від /dev/randomблокування.
Satō Katsura

3
Глава та вірш?
Том Хейл

11
Ідея, яка /dev/randomбула якось кращою, ніж /dev/urandomзараз давно застаріла, і для переважної більшості випадків використання /dev/urandom зараз є кращою .
Девід Шварц

@SatoKatsura Джерело? Відповідь Тома суперечить вашій відповіді.
noɥʇʎԀʎzɐɹƆ

Ось посилання на сайт з подробицями до резервного копіювання @DavidSchwartz коментаря. 2uo.de/myths-about-urandom
Вальтер

Відповіді:


86

Необмежений.

У Linux, які порівнюють функції ядра по імені random_readі random_read_unlimited вказує на те, що етимологія листи uв urandomце unlimited.

Це підтверджується рядком 114 :

Пристрій / dev / urandom не має цього обмеження [...]

Оновлення:

Щодо того, хто став першим для Linux, /dev/randomабо /dev/urandom@ Stéphane Chazelas дав пост з оригінальним патчем, а @StephenKitt показав, що вони обидва представлені одночасно .


7
Тоді чому не /dev/randomназваний /dev/lrandom? :)
Satō Katsura

13
Історичний. Спочатку існувала лише обмежена / блокувальна версія. І аналогічна функція "без обмежень" називається random_read:)
Том Хейл

10
Я знайшов одне з посилань через Вікіпедію, але я цитую джерело безпосередньо, а не цитую Вікіпедію. Я вважаю аналогічним пошуку щось через google, а не цитування google ... хіба що мені щось дізнатися про цитування на StackExchange?
Том Хейл

5
@TomHale Історичний аргумент для randomv. lrandomНе так добре, оскільки обидва randomі urandomбули введені одночасно в ядро ​​Linux.
Стівен Кітт

7
Дивіться також патч на Usenet, надісланий автором оригінальної реалізації ще в 1995 році
Stéphane Chazelas

18

Це залежить від того, про яку систему "Unix" ви говорите.

У FreeBSD / dev / urandom та / dev / random є одним і тим же пристроєм. Буква u тепер є історичною спадщиною, яка існує для зворотної сумісності. При запуску вони блокуються, поки не зібрається достатня кількість ентропії, а потім більше ніколи не блокуються. Докладніше див. Міфи про урадон .

У сучасному світі Linux (починаючи з ядра 4.8) обидва пристрої витягуються з одного CSPRNG, тому різниця полягає лише в тому, що деякі люди міркують про наявність нападу. Ця атака схожа на подорожі FTL [Швидше, ніж Світло]. Легко міркувати, досить важко насправді розробити.

TLDR - це просто використання / dev / urandom.


2
З вашого посилання цікаво зазначити, щоFreeBSD 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.
Том Хейл

-5

Уніформа. Випадкові числа, рівномірно розподілені між 0 і 1. Плоский розподіл ... на відміну від пікового розподілу, як Пуассон, або Нормальний / Гауссовий.


3
Чи є джерело для цього?
GnP

7
Це, безумовно, неправильно - /dev/randomі /dev/urandomобидва дають однаковий розподіл, і в будь-якому реальному сенсі він не рівномірно розподілений між 0 і 1.
Кріс

Вибачте ... напевно, виходячи з того, що я використовував іншу мову (R чи щось таке)
bbneo
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.