आप जो कह रहे हैं वह स्पॉट पर है, हां सैद्धांतिक रूप से /dev/random
में एन्ट्रॉपी फ़ीड करना संभव है, लेकिन इसके लिए आपको बहुत सारे कर्नेल "शोर" स्रोतों को नियंत्रित करने की आवश्यकता होगी। /dev/random
कहां से शोर उठाता है, यह देखने के लिए आप random.c के स्रोत को देख सकते हैं। असल में, यदि आप शोर स्रोतों की एक बड़ी संख्या को नियंत्रित करते हैं, तो आप अनुमान लगा सकते हैं कि अन्य लोग एन्ट्रॉपी पूल में क्या योगदान दे रहे हैं।
/dev/urandom
Hash chain/dev/random
से बीजित है, तो आप वास्तव में अगले नंबर की भविष्यवाणी कर सकते हैं, अगर आप बीज जानते थे। यदि आपके पास एंट्रॉपी पूल पर पर्याप्त नियंत्रण है, तो /dev/urandom
के आउटपुट से आप इस बीज को अनुमान लगाने में सक्षम हो सकते हैं, जो आपको /dev/urandom
से सभी अगली संख्याओं की भविष्यवाणी करने में सक्षम बनाता है, लेकिन केवल अगर आप /dev/random
थक गए हैं, अन्यथा /dev/urandom
होगा reseeded।
कहा जा रहा है कि, मैंने किसी को भी वास्तव में ऐसा नहीं देखा है, यहां तक कि नियंत्रित वातावरण में भी नहीं। बेशक यह गारंटी नहीं है, लेकिन मुझे चिंता नहीं होगी।
तो मैं /dev/urandom
का उपयोग करना चाहता हूं और गारंटी देता हूं कि /dev/random
का उपयोग करने के बजाय एंट्रॉपी की प्रतीक्षा करते समय मेरा प्रोग्राम ब्लॉक नहीं करता है और उपयोगकर्ता को मूर्खतापूर्ण चीजें करने के लिए कहता है, जैसे माउस को ले जाना या कीबोर्ड पर बैंग करना।
मुझे लगता है कि आपको एलडब्ल्यूएन से On entropy and randomness पढ़ना चाहिए, उम्मीद है कि यह आपकी चिंताओं को शांत करेगा :-)।
क्या आपको अभी भी चिंतित होना चाहिए, तो अपने आप को HRNG प्राप्त करें।
संपादित यहाँ एन्ट्रापी पर एक छोटा सा नोट है:
मुझे लगता है कि एन्ट्रापी की अवधारणा आम तौर समझ पाना मुश्किल है। Wikipedia पर अधिक जानकारी वाला एक लेख है। लेकिन मूल रूप से, इस मामले में, आप एंट्रॉपी को यादृच्छिकता के रूप में पढ़ सकते हैं।
तो मैं इसे कैसे देखता हूं, यह है कि आपके पास रंगीन गेंदों का एक बड़ा बैग है, इस बैग में उच्च एन्ट्रॉपी बैग से खींचे गए अगले रंग की भविष्यवाणी करना कठिन है।
इस संदर्भ में, आपका एन्ट्रॉपी पूल केवल यादृच्छिक बाइट्स का एक समूह है, जहां कोई पिछले, या किसी अन्य से नहीं लिया जा सकता है। जिसका मतलब है कि आपके पास उच्च एन्ट्रॉपी है।
इम्हो आपको टैग में से किसी एक को प्रतिस्थापित करना चाहिए ताकि यह उल्लेख किया जा सके कि यह प्रश्न लिनक्स के लिए विशिष्ट है; वैसे भी, दूसरे भाग के बारे में - नहीं, केवल रूट ही ऐसा कर सकता है, सामान्य उपयोगकर्ता केवल नए डेटा में मिश्रण कर सकते हैं, जो हानिरहित है। – loreb