Linux

/dev/urandom 中的字母“u”是什麼意思?

  • November 18, 2016

我知道讀取/dev/random可能會阻塞,而讀取/dev/urandom保證不會阻塞。

這封信u是從哪裡來的?它意味著什麼?

使用者空間?解鎖?微?

更新:

/dev/random根據問題的最初措辭,關於vs的用處存在一些爭論/dev/urandom。關於 /dev/urandom的連結神話已在下面發布了 3 次,並在此對何時使用 /dev/random 與 /dev/urandom的問題的答案中進行了總結。

無限。

在 Linux 中,比較命名為random_read和的核心函式random_read_unlimited 表明字母uin的詞源urandomunlimited.

第 114 行證實了這一點:

/dev/urandom 設備沒有這個限制

$$ … $$

更新:

關於哪個先出現在 Linux 上,/dev/random或者/dev/urandom,@Stéphane Chazelas 給出了帶有原始更新檔的文章,@ StephenKitt 表明它們都是同時引入的

這取決於您所談論的“Unix”系統。

在 FreeBSD 上,/dev/urandom 和 /dev/random 是同一個設備。字母 u 現在是為了向後兼容而存在的歷史遺產。在啟動時,它們會阻塞直到收集到足夠的熵,然後再不會阻塞。有關詳細資訊,請參閱關於 urandom的神話。

在現代 Linux 世界中(從核心 4.8 開始),兩個設備都從同一個 CSPRNG 中提取,因此唯一的區別是有些人推測存在攻擊。這種攻擊就像超光速

$$ Faster than Light $$旅行。推測容易,實際設計卻很難。 TLDR 只是使用 /dev/urandom。

引用自:https://unix.stackexchange.com/questions/323610