ตัวอักษร 'u' หมายถึงอะไรใน / dev / urandom


87

ฉันเข้าใจว่าการอ่าน/dev/randomอาจบล็อกในขณะที่การอ่าน/dev/urandomรับประกันว่าจะไม่บล็อก

จดหมายuมาที่นี่ได้อย่างไร มันหมายถึงอะไร?

userspace? Unblocking? Micro?

ปรับปรุง:

บนพื้นฐานของการใช้ถ้อยคำที่เริ่มต้นของคำถามที่ได้มีการอภิปรายบางกว่าประโยชน์ของVS/dev/random /dev/urandomการเชื่อมโยงเรื่องราวเกี่ยวกับ / dev / urandomได้รับการโพสต์ครั้งที่สามด้านล่างและสรุปไว้ในคำตอบนี้คำถามที่เมื่อใช้ / dev / สุ่ม VS /


13
การปลดบล็อกซึ่งตรงข้ามกับ/dev/randomการบล็อก
Satō Katsura

3
บทและข้อ?
Tom Hale

11
ความคิดที่ว่า/dev/randomเป็นอย่างใดดีกว่า/dev/urandomคือตอนนี้ล้าสมัยยาวและส่วนใหญ่ของกรณีการใช้งานเป็นที่ต้องการในขณะนี้/dev/urandom
David Schwartz

@SatoKatsura แหล่งที่มา? คำตอบของทอมขัดแย้งกับคำตอบของคุณ
noɥʇʎԀʎzɐɹƆ

นี่คือลิงค์ไปยังเว็บไซต์ที่มีรายละเอียดเกี่ยวกับการสำรองข้อมูลของ @DavidSchwartz 2uo.de/myths-about-urandom
Walter

คำตอบ:


86

ไม่ จำกัด.

ใน Linux เปรียบเทียบเคอร์เนลฟังก์ชันที่มีชื่อrandom_readและrandom_read_unlimited แสดงให้เห็นว่ารากศัพท์ของตัวอักษรuในเป็นurandomunlimited

นี่คือการยืนยันโดยบรรทัด 114 :

อุปกรณ์ / dev / urandom ไม่มีขีด จำกัด นี้ [... ]

ปรับปรุง:

เกี่ยวกับการที่เข้ามาเป็นครั้งแรกสำหรับลินุกซ์/dev/randomหรือ/dev/urandom@ Stéphane Chazelas ให้โพสต์กับแพทช์เดิมและ @StephenKitt แสดงให้เห็นว่าพวกเขาทั้งสองพร้อมกันแนะนำ


7
ถ้าอย่างนั้นทำไมไม่มี/dev/randomชื่อ/dev/lrandom? :)
Satō Katsura

13
ประวัติศาสตร์ ในตอนแรกมีเพียงรุ่นที่ จำกัด / การปิดกั้นเท่านั้น และคล้าย "ไม่ยกเลิกการ จำกัด" ฟังก์ชั่นที่เรียกว่าrandom_read:)
ทอมเฮล

10
ฉันพบลิงค์ใดลิงก์หนึ่งผ่านทาง Wikipedia แต่ฉันอ้างถึงแหล่งข้อมูลโดยตรงแทนที่จะอ้างถึง Wikipedia ฉันคิดว่ามันคล้ายกับการค้นหาบางสิ่งผ่าน google และไม่อ้างถึง google ... เว้นแต่ว่าฉันมีสิ่งที่ต้องเรียนรู้เกี่ยวกับการอ้างถึง StackExchange
Tom Hale

5
@TomHale อาร์กิวเมนต์ในอดีตของrandomv. lrandomไม่ได้เก็บทุกอย่างไว้ได้ดีเนื่องจากทั้งคู่randomและurandomถูกนำมาใช้พร้อมกันในเคอร์เนล Linux
Stephen Kitt

7
ดูแพทช์ที่ usenet ที่ส่งมาโดยผู้แต่งของการนำไปปฏิบัติดั้งเดิมกลับมาในปี 1995
Stéphane Chazelas

18

ขึ้นอยู่กับระบบ "Unix" ที่คุณกำลังพูดถึง

บน FreeBSD, / dev / urandom และ / dev / random เป็นอุปกรณ์เดียวกัน ตัวอักษร u เป็นมรดกทางประวัติศาสตร์ที่มีอยู่เพื่อความเข้ากันได้แบบย้อนหลัง เมื่อเริ่มต้นพวกเขาจะปิดกั้นจนกว่าจะมีการรวบรวมเอนโทรปีเพียงพอจากนั้นไม่บล็อกอีกครั้ง ดูตำนานเกี่ยวกับ urandomสำหรับรายละเอียด

ในโลก 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.
Tom Hale

-5

เหมือนกัน ตัวเลขสุ่มกระจายอย่างสม่ำเสมอระหว่าง 0 และ 1 การแจกแจงแบบคงที่ ... ตรงข้ามกับการแจกแจงแบบจุดสูงสุดเช่น Poisson หรือ Normal / Gaussian


3
มีแหล่งใดที่หนึ่ง?
GnP

7
นี่ไม่ถูกต้องแน่นอน - /dev/randomและ/dev/urandomทั้งคู่ให้การกระจายตัวเท่ากันและในความหมายที่แท้จริงมันไม่ได้กระจายอย่างสม่ำเสมอระหว่าง 0 ถึง 1
Chris

ขออภัย ... อาจเป็นไปตามภาษาอื่นที่ฉันเคยใช้ (R หรืออะไรบางอย่าง)
bbneo
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.