/ Dev / यादृच्छिक से कितनी बार / dev / urandom नमूना का बीजारोपण होता है?


15

जब तक मैं पूरी तरह से भ्रमित नहीं हूँ और यह ऐसा नहीं करता है।

मैं यह जानना चाहता हूं कि क्या / देव / उरुग्मेंट में एन्ट्रापी बढ़ेगी या नहीं, यदि मैं एक हार्डवेयर आरएनजी ले और उसकी एन्ट्रापी को / देव / यादृच्छिक में प्लग कर दूं।

इसलिए रीफ़्रेज़ करने के लिए, अगर मुझे X बिट्स / सेक (/, / dev / random द्वारा इंजेक्शन के बाद / dev / random की एंट्रोपी को बढ़ाना था, तो आप X बिट्स / सेकंड का नमूना ले सकते हैं) जो कि उरोजेन पर एन्ट्रापी ट्रांसफर को बढ़ाता है?


2
हालांकि बहुत प्रासंगिक नहीं है , 2uo.de/myths-about-urandom और blog.cloudflare.com/… (विशेष रूप से ब्लॉग पर ग्राफ ।cloudflare.com / content / images / image01.png ) उपयोगी रीडिंग हो सकती है।
user1686

यदि आपके पास एक सच्चा हार्डवेयर आरएनजी है तो आप इसे सीधे उपयोग कर सकते हैं।
माइकल हैम्पटन

जवाबों:


25

यह कहना सही नहीं है कि /dev/urandomनमूने किसके हैं /dev/random। इसके बजाय, दो पूल एंट्रोपी के एक ही स्रोत द्वारा समर्थित हैं। जब पूल की एन्ट्रापी गिनती शून्य तक पहुँच जाती है, तो वे साझा इनपुट पूल से रहते हैं। इसलिए यदि आप कर्नेल इनपुट को किसी तरह से प्रवेश देते हैं, तो यह /dev/randomया तो या इसके लिए उपयोग कर सकता है /dev/urandom, जिसके आधार पर यह पढ़ा जाता है।

हालाँकि, /dev/urandom यह भी सीमित है कि यह कितनी बार पुनर्वितरण के लिए कह सकता है। डिफ़ॉल्ट रूप से यह केवल हर 60 सेकंड में एक बार फिर से शुरू हो सकता है।

इनमें से कोई भी वास्तव में व्यवहार में मायने नहीं रखता है, क्योंकि जब तक पूल को शुरू में कम से कम 128 बिट्स या तो एन्ट्रापी के साथ बीज दिया जाता है, किसी भी आउटपुट की भविष्यवाणी करने के लिए न केवल पिछले आउटपुट को देखने की आवश्यकता होगी, बल्कि उपयोग किए गए एल्गोरिदम को भी तोड़ना होगा, जिसमें कम से कम प्रीइमेज प्रतिरोध भी शामिल है SHA-1 का ( जो अखंड रहता है )।


7

यह कार्यान्वयन पर निर्भर करता है। लेकिन आम तौर पर, /dev/randomऔर /dev/urandomएक ही पूल से एन्ट्रापी खींचते हैं, इसलिए यह होगा।

Https://blog.cloudflare.com/ensuring-randomness-with-linuxs-random-number-generator/ से आरेख


4

लिनक्स में किसी भी डेटा को / dev / random / / dev / urandom को लिखा जाता है, दोनों को अवरुद्ध करने वाले पूल (/ dev / random के लिए यादृच्छिकता का स्रोत) और नॉनब्लॉकिंग पूल (/ dev / urandom के लिए यादृच्छिकता का स्रोत) में कॉपी किया जाता है।

बस random_write फ़ंक्शन को देखें।

लेकिन डेटा / देव / यादृच्छिक के लिए लिखे गए आंकड़ों को आंतरिक एन्ट्रापी अनुमानक द्वारा नहीं गिना जाता है (आखिरकार, कुछ स्थानीय विरोधी सिर्फ अप्रत्यक्ष / देव / शून्य या कुछ अन्य अत्यधिक गैर-आयामी स्रोत / देव / यादृच्छिक के लिए प्रयास कर सकते हैं), इसलिए यदि आपको समस्या है अवरुद्ध / देव / यादृच्छिक के साथ, बस लिखने के लिए / देव / यादृच्छिक मदद नहीं करता है।

लिनक्स में / dev / random (या / dev / urandom, no अंतर) के लिए लिखते हैं, लेकिन हमेशा / dev / urandom से (एक बार यह बोने के बाद - वास्तव में सबसे अच्छा तरीका है नए सिस्टम कॉल getrandom का उपयोग करना )।

मुझे नहीं पता कि यह अन्य यूनियनों में कैसे काम करता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.