हार्डवेयर छद्म यादृच्छिक संख्या जनरेटर

कम्प्यूटिंग में, एक हार्डवेयर छद्म यादृच्छिक संख्या जनरेटर (एचआरएनजी) या ट्रू रैंडम नंबर जनरेटर (टीआरएनजी) एक ऐसा उपकरण है, जो कलन विधि के माध्यम से नहीं, बल्कि एक भौतिक प्रक्रिया से रैंडम नंबर जनरेट करता है। ऐसे उपकरण प्रायः सूक्ष्म घटना पर आधारित होते हैं जो निम्न-स्तर, सांख्यिकीय यादृच्छिक शोर (सिग्नल प्रोसेसिंग) सिग्नल उत्पन्न करते हैं, जैसे ऊष्मीय शोर, प्रकाश विद्युत प्रभाव, बीम स्प्लिटर और अन्य मात्रा घटनाएं सम्मिलित होती हैं। ये स्टोकेस्टिक प्रक्रियाएं, सिद्धांत रूप में, पूरी तरह से अप्रत्याशित हैं जब तक कि इस तरह की घटनाओं को नियंत्रित करने वाला समीकरण अज्ञात या अगणनीय है। यह छद्म-यादृच्छिक संख्या जनरेटर के प्रतिमान के विपरीत है। छद्म-यादृच्छिक संख्या पीढ़ी सामान्यतः कंप्यूटर प्रोग्राम में कार्यान्वित की जाती है।

एक हार्डवेयर यादृच्छिक संख्या जनरेटर में सामान्यतः भौतिक घटनाओं के कुछ पहलू को एक विद्युत संकेत, एक एम्पलीफायर और अन्य इलेक्ट्रॉनिक परिपथ मार्ग में परिवर्तित करने के लिए एक ट्रांसड्यूसर होता है, जो यादृच्छिक उतार-चढ़ाव के आयाम को मापने योग्य स्तर तक बढ़ाता है, और कुछ प्रकार के एनालॉग-टू- डिजिटल परिवर्तक आउटपुट को डिजिटल संख्या में परिवर्तित करने के लिए, प्रायः एक साधारण बाइनरी अंक 0 या 1 संभावित पद्धति से भिन्न सिग्नल का बार-बार नमूना लेने से, यादृच्छिक संख्याओं की एक श्रृंखला प्राप्त होती है।

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

रैंडम मैक्रोस्कोपिक प्रक्रियाओं से यादृच्छिक संख्या जनरेटर भी बनाया जा सकता है, जैसे सिक्का फ़्लिपिंग, पासा, रूलेट व्हील और लॉटरी मशीन जैसे उपकरणों का उपयोग करना। इन घटनाओं में अप्रत्याशितता की उपस्थिति अस्थिरता गतिशील प्रणालियों के सिद्धांत और अराजकता सिद्धांत द्वारा समर्थित है। भले ही न्यूटोनियन यांत्रिकी के अनुसार मैक्रोस्कोपिक प्रक्रियाएं नियतात्मक हैं, एक अच्छी तरह से डिज़ाइन किए गए डिवाइस का आउटपुट व्यवहार में भविष्यवाणी करने के लिए अव्यावहारिक हो सकता है, क्योंकि यह प्रत्येक उपयोग की प्रारंभिक स्थितियों के संवेदनशील, सूक्ष्म विवरण पर निर्भर करता है।

हालाँकि पासा का उपयोग ज्यादातर जुए में किया जाता है, और खेलों में यादृच्छिक तत्वों के रूप में (जैसे भूमिका निभाने वाले खेल), विक्टोरियन युग के वैज्ञानिक फ्रांसिस गैल्टन ने 1890 में वैज्ञानिक उद्देश्यों के लिए स्पष्ट रूप से यादृच्छिक संख्या उत्पन्न करने के लिए पासा का उपयोग करने का एक तरीका बताया।

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

एक शोर प्राचीन प्रणाली या प्राथमिक क्वांटम माप के आधार पर यादृच्छिक संख्या जनरेटर के साथ, अप्रत्याशितता का दावा अंतर्निहित भौतिकी का वर्णन करने वाले सावधान मॉडल पर आधारित होना चाहिए। फिर भी ऐसे किसी भी मॉडल को कई धारणाएँ बनानी चाहिए जो मान्य नहीं हो सकती हैं, और जिन्हें सत्यापित करना मुश्किल है। लेकिन 2010 में प्रारम्भ, आइंस्टीन-प्रमाणित क्वांटम भौतिकी प्रयोग, कभी-कभी दूरस्थ पर्यवेक्षकों के लिए भी प्रदर्शित करने में सक्षम रहे हैं, कि वे जो बिट्स उत्पन्न करते हैं, वे अप्रत्याशित होते हैं, केवल प्रकाश की गति से तेज गति से यात्रा करने में सक्षम नहीं होने के संकेतों के बारे में बहुत हल्की धारणाओं की आवश्यकता होती है।

उपयोग
जुए के संदर्भ में अप्रत्याशित यादृच्छिक संख्याओं की पहली बार जांच की गई थी, और इस तरह के उपयोग के लिए कई यादृच्छिक उपकरणों जैसे कि पासा, ताश खेलना और रूलेट व्हील्स को पहली बार विकसित किया गया था। इलेक्ट्रॉनिक जुए के लिए उचित रूप से उत्पादित यादृच्छिक संख्याएँ महत्वपूर्ण हैं और उन्हें बनाने के तरीके कभी-कभी सरकारी गेमिंग आयोगों द्वारा विनियमित होते हैं।

यादृच्छिक संख्याओं का उपयोग गैर-जुआ उद्देश्यों के लिए भी किया जाता है, जहां उनका उपयोग गणितीय रूप से महत्वपूर्ण होता है, जैसे कि जनमत सर्वेक्षण के लिए नमूनाकरण, और ऐसी स्थितियों में जहां यादृच्छिकता द्वारा निष्पक्षता का अनुमान लगाया जाता है, जैसे भर्ती और जूरी सदस्यों का चयन करने में इसका उपयोग किया जाता है।

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

प्रारंभिक कार्य
यादृच्छिक संख्या उत्पन्न करने का एक प्रारंभिक तरीका केनो खेलने या लॉटरी संख्याओं का चयन करने के लिए उपयोग की जाने वाली समान मशीनों की भिन्नता के द्वारा था। इनमें मिश्रित, गिने-चुने पिंग-पोंग गेंदों को सम्मिलित किया गया था, जो संभावित यांत्रिक गतिविधि के साथ संयुक्त थे, और मिश्रण कक्ष से गेंदों को निकालने के लिए कुछ विधि का उपयोग किया. यह विधि कुछ अर्थों में उचित परिणाम दे सकती है, लेकिन इस माध्यम से उत्पन्न यादृच्छिक संख्याएँ महंगी होती हैं, और कभी-कभी सांख्यिकीय रूप से त्रुटिपूर्ण होती हैं। विधि स्वाभाविक रूप से धीमी है, और अधिकांश कंप्यूटिंग अनुप्रयोगों के लिए अनुपयोगी है।

29 अप्रैल 1947 को, रैंड कॉर्पोरेशन ने एक इलेक्ट्रॉनिक रूलेट व्हील के साथ यादृच्छिक अंक उत्पन्न करना प्रारम्भ किया, जिसमें एक निरंतर आवृत्ति स्पंदन के साथ लगभग 100,000 स्पंदन प्रति सेकंड गेटेड एक यादृच्छिक आवृत्ति स्पंदन स्रोत सम्मिलित था और पांच-बिट बाइनरी काउंटर में फीड किया गया था। डगलस विमान ने सेसिल हेस्टिंग के सुझाव को लागू करते हुए उपकरण का निर्माण किया (रैंड पी-113) एक शोर स्रोत के लिए (चुंबकीय क्षेत्र में रखे जाने पर 6D4 लघु गैस थाइरेट्रॉन ट्यूब का सबसे प्रसिद्ध व्यवहार होने की संभावना है) ) 32 संभावित काउंटर मानों में से 20 को 10 दशमलव अंकों पर मैप किया गया था और अन्य 12 काउंटर मानों को हटा दिया गया था।

रैंड मशीन से लंबे समय तक चलने के परिणाम, फ़िल्टर किए गए और परीक्षण किए गए, एक तालिका में परिवर्तित किए गए, जो 1955 में 100,000 सामान्य विचलन वाली पुस्तक ए मिलियन रैंडम डिजिट में प्रकाशित हुई थी। यादृच्छिक संख्या देने में रैंड तालिका एक महत्वपूर्ण सफलता थी क्योंकि इतनी बड़ी और सावधानी से तैयार की गई तालिका पहले कभी उपलब्ध नहीं थी। यह सिमुलेशन, मॉडलिंग, और क्रिप्टोग्राफ़िक एल्गोरिदम में मनमाना स्थिरांक प्राप्त करने के लिए एक उपयोगी स्रोत रहा है, यह प्रदर्शित करने के लिए कि स्थिरांक दुर्भावनापूर्ण रूप से नहीं चुने गए थे। ब्लॉक सिफर खुफु और खफरे उन अनुप्रयोगों में से हैं जो रैंड टेबल का उपयोग करते हैं।

क्वांटम यादृच्छिक गुण
व्यावहारिक क्वांटम यांत्रिकी भौतिक यादृच्छिकता के दो मूलभूत स्रोत हैं: परमाणु या उप-परमाणु स्तर पर क्वांटम यांत्रिकी और ऊष्मीय शोर (जिनमें से कुछ मूल रूप से क्वांटम यांत्रिकी है)। क्वांटम यांत्रिकी भविष्यवाणी करती है कि कुछ भौतिक घटनाएं, जैसे परमाणुओं का परमाणु क्षय, सांख्यिकीय व्याख्या हैं और, सिद्धांत रूप में, भविष्यवाणी नहीं की जा सकती (क्वांटम अप्रत्याशितता के अनुभवजन्य सत्यापन की चर्चा के लिए, बेल परीक्षण प्रयोग देखें) और, क्योंकि दुनिया पूर्ण शून्य से ऊपर के तापमान पर सम्मलित है, प्रत्येक प्रणाली की स्थिति में कुछ यादृच्छिक भिन्नता होती है; उदाहरण के लिए, हवा बनाने वाली गैसों के अणु लगातार एक दूसरे से यादृच्छिक तरीके से उछल रहे हैं (सांख्यिकीय यांत्रिकी देखें)। यह यादृच्छिकता एक क्वांटम घटना भी है (फ़ोनन देखें)।

क्योंकि क्वांटम-मैकेनिकल घटनाओं के परिणाम का सैद्धांतिक रूप से भी अनुमान नहीं लगाया जा सकता है, वे यादृच्छिक संख्या पीढ़ी के लिए 'विकट: गोल्ड स्टैंडर्ड' हैं। यादृच्छिक संख्या पीढ़ी के लिए उपयोग की जाने वाली कुछ क्वांटम घटनाओं में सम्मिलित हैं:
 * शॉट शोर, इलेक्ट्रॉनिक परिपथ में एक क्वांटम यांत्रिक शोर स्रोत एक साधारण उदाहरण एक फोटोडायोड पर चमकता हुआ दीपक है। अनिश्चितता सिद्धांत के कारण, आने वाले फोटॉन परिपथ में शोर उत्पन्न करते हैं। उपयोग के लिए शोर एकत्र करना कुछ समस्याएं उत्पन्न करता है, लेकिन यह विशेष रूप से सरल यादृच्छिक शोर स्रोत है। हालांकि, शॉट शोर ऊर्जा सदैव ब्याज की बैंडविड्थ में अच्छी तरह से वितरित नहीं होती है। क्रॉसवर्ड चुंबकीय क्षेत्र में गैस डायोड और थायरेट्रॉन इलेक्ट्रॉन ट्यूब पर्याप्त शोर ऊर्जा (उच्च प्रतिबाधा भार में 10 वोल्ट या उससे अधिक) उत्पन्न कर सकते हैं, लेकिन एक बहुत ही चरम ऊर्जा वितरण है और व्यापक स्पेक्ट्रम में समतलता प्राप्त करने के लिए सावधानीपूर्वक फ़िल्टरिंग की आवश्यकता होती है।
 * एक पीसी से जुड़े एक गीगर काउंटर द्वारा पता लगाया गया एक परमाणु क्षय विकिरण स्रोत।
 * बीम स्प्लिटर के माध्यम से यात्रा करने वाले फोटॉन, अर्ध-पारदर्शी दर्पण, पारस्परिक रूप से अनन्य घटनाओं (प्रतिबिंब / संचरण) का पता लगाया जाता है और क्रमशः '0' या '1' बिट मान से जुड़ा होता है।
 * p–n जंक्शन रिवर्स-बायस्ड ट्रांजिस्टर के आधार पर उत्पादित सिग्नल का इलेक्ट्रॉनिक एम्पलीफायर एमिटर इलेक्ट्रॉनों से संतृप्त होता है और कभी-कभी वे ऊर्जा अंतराल के माध्यम से क्वांटम टनलिंग करते हैं और बेस के माध्यम से बाहर निकल जाते हैं। यह संकेत तब कुछ और ट्रांजिस्टर के माध्यम से इलेक्ट्रॉनिक प्रवर्धक है और परिणाम श्मिट ट्रिगर में संवाहित किया जाता है।
 * स्वतःस्फूर्त पैरामीट्रिक डाउन-रूपांतरण एक पतित ऑप्टिकल पैरामीट्रिक दोलन में बाइनरी चरण अवस्था चयन के लिए अग्रणी।
 * होमोडाइन पहचान के माध्यम से मापी गई निर्वात ऊर्जा में उतार-चढ़ाव।

प्राचीन यादृच्छिक गुण
ऊष्मीय घटना का पता लगाना आसान है। वे सिस्टम के तापमान को कम करके प्रघात करने के लिए कुछ सीमा तक कमजोर हैं, हालांकि अधिकांश प्रणालियां इतने कम तापमान पर काम करना बंद कर देंगी कि शोर को दो गुना कम कर (जैसे, ~150 K) उपयोग की जाने वाली कुछ तापीय घटनाओं में सम्मिलित हैं:
 * एक यादृच्छिक वोल्टेज स्रोत प्रदान करने के लिए प्रवर्धित एक प्रतिरोधक से जॉनसन-निक्विस्ट शोर।
 * हिमस्खलन डायोड से उत्पन्न हिमस्खलन ब्रेकडाउन, या रिवर्स-बायस्ड ज़ेनर डायोड से जेनर टूटना शोर।
 * शोर (रेडियो), एक पीसी से जुड़े एक रेडियो रिसीवर द्वारा पता लगाया गया (हालांकि इसमें से अधिकांश, जैसे कि बिजली का शोर, ठीक से ऊष्मीय शोर नहीं है, लेकिन सबसे अधिक संभावना एक कैओस सिद्धांत घटना है)।

क्वांटम प्रभाव या ऊष्मीय शोर की अनुपस्थिति में, अन्य घटनाएं जो यादृच्छिक होती हैं, हालांकि भौतिकी के नियमों द्वारा आसानी से विशेषता नहीं होने के तरीकों का उपयोग किया जा सकता है। जब इस तरह के कई स्रोतों को सावधानीपूर्वक संयोजित किया जाता है (उदाहरण के लिए, यारो एल्गोरिदम या फोर्टुना (PRNG) क्रिप्टोग्राफ़िक रूप से सुरक्षित छद्म यादृच्छिक संख्या जनरेटर), क्रिप्टोग्राफ़िक कुंजी और क्रिप्टोग्राफ़िक नॉन के निर्माण के लिए पर्याप्त एन्ट्रापी एकत्र की जा सकती है, हालांकि सामान्यतः प्रतिबंधित दरों पर लाभ यह है कि इस दृष्टिकोण को, सिद्धांत रूप में, किसी विशेष हार्डवेयर की आवश्यकता नहीं है। नुकसान यह है कि पर्याप्त रूप से जानकार प्रघातक सॉफ्टवेयर या उसके इनपुट को गुप्त रूप से संशोधित कर सकता है, इस प्रकार आउटपुट की यादृच्छिकता को कम कर सकता है, संभावित काफी सीमा तक इस तरह के दृष्टिकोणों में सामान्यतः उपयोग की जाने वाली यादृच्छिकता का प्राथमिक स्रोत यांत्रिक इनपुट/आउटपुट उपकरणों, जैसे कि कीबोर्ड और डिस्क ड्राइव, विभिन्न सिस्टम सूचना काउंटर, आदि के कारण होने वाले व्यवधानों का सटीक समय है।

इस अंतिम दृष्टिकोण को सावधानी से लागू किया जाना चाहिए और यदि ऐसा नहीं है तो यह प्रघात का विषय हो सकता है। उदाहरण के लिए, लिनक्स 2.6.10 कर्नेल में जनरेटर की आगे की सुरक्षा को 264 या 296 समय जटिलता से तोड़ा जा सकता है।

समय का प्रवाह
एक और परिवर्तनशील भौतिक घटना जिसे मापना आसान है वह है क्लॉक ड्रिफ्ट।

यादृच्छिकता के स्रोत के रूप में क्लॉक ड्रिफ्ट को मापने और उपयोग करने के कई तरीके हैं।

Intel 82802 फर्मवेयर हब (FWH) चिप में एक हार्डवेयर RNG सम्मिलित था दो फ्री रनिंग दोलक का उपयोग करते हुए, एक तेज और एक धीमा। एक ऊष्मीय शोर स्रोत (दो डायोड से गैर-कॉमनमोड शोर) का उपयोग धीमे दोलन की आवृत्ति को संशोधित करने के लिए किया जाता है, जो तब तेज दोलन के माप को ट्रिगर करता है। उस आउटपुट को तब जॉन वॉन न्यूमैन प्रकार के सजावट चरण (नीचे देखें) का उपयोग करके अमान्य कर दिया जाता है। इस डिवाइस की आउटपुट दर 100,000 बिट/एस से कुछ कम है। यह चिप 840 चिपसेट परिवार का एक वैकल्पिक घटक था जो पहले के इंटेल बस का समर्थन करता था। यह आधुनिक पीसी में सम्मिलित नहीं है।

सभी VIA C3 माइक्रोप्रोसेसरों ने 2003 से प्रोसेसर चिप पर एक हार्डवेयर RNG सम्मिलित किया है। ऊष्मीय शोर का उपयोग करने के अतिरिक्त, चार फ्रीरनिंग दोलक का उपयोग करके कच्चे बिट्स उत्पन्न होते हैं जिन्हें अलग-अलग दरों पर चलाने के लिए डिज़ाइन किया गया है। तीसरे दोलन पर पूर्वाग्रह को नियंत्रित करने के लिए दो का आउटपुट XORed है, जिसका आउटपुट कच्चे बिट का उत्पादन करने के लिए चौथे दोलन के आउटपुट को देखता है। तापमान, सिलिकॉन विशेषताओं, और स्थानीय विद्युत स्थितियों में मामूली भिन्नताएं निरंतर आवृत्ति गति भिन्नता का कारण बनती हैं और इस प्रकार कच्चे बिट्स की एंट्रॉपी उत्पन्न करती हैं। यादृच्छिकता को और अधिक सुनिश्चित करने के लिए, प्रत्येक चिप पर वास्तव में दो ऐसे RNG होते हैं, प्रत्येक को अलग-अलग वातावरण में रखा जाता है और सिलिकॉन पर घुमाया जाता है। अंतिम आउटपुट इन दो जनरेटर का मिश्रण है। कच्चे उत्पादन की दर दसियों से सैकड़ों मेगाबिट्स प्रति सेकंड है, और श्वेत दर कुछ मेगाबिट्स प्रति सेकंड है। उपयोगकर्ता सॉफ़्टवेयर नए गैर-विशेषाधिकार प्राप्त मशीन भाषा निर्देशों का उपयोग करके उत्पन्न यादृच्छिक बिट स्ट्रीम का उपयोग कर सकता है।

साधारण हार्डवेयर पर संबंधित विचार का सॉफ्टवेयर कार्यान्वयन क्रिप्टोलिब में सम्मिलित है, एक क्रिप्टोग्राफिक रूटीन लाइब्रेरी। एल्गोरिदम को संपीडन के लिए कहा जाता है। अधिकांश आधुनिक कंप्यूटरों में दो क्रिस्टल दोलन होते हैं, एक वास्तविक समय की समय के लिए और एक प्राथमिक सीपीयू समय के लिए; ट्रूरैंड इस तथ्य का लाभ उठाता है। यह एक ऑपरेटिंग सिस्टम सेवा का उपयोग करता है जो रीयल-टाइम समय से बाहर चलकर अलार्म सेट करता है। एक सबरूटीन उस अलार्म को एक समय की टिक (सामान्यतः एक सेकंड का 1/60वां) में बंद करने के लिए सेट करता है। दूसरा तब अलार्म के ट्रिगर होने की प्रतीक्षा में कुछ देर के लूप में प्रवेश करता है। चूंकि अलार्म सदैव ठीक एक टिक में ट्रिगर नहीं होगा, लूप पुनरावृत्तियों की गिनती के कम से कम महत्वपूर्ण बिट्स, अलार्म और उसके ट्रिगर को सेट करने के बीच, यादृच्छिक रूप से भिन्न होंगे, संभवतः कुछ उपयोगों के लिए पर्याप्त होंगे। ट्रूरैंड को अतिरिक्त हार्डवेयर की आवश्यकता नहीं होती है, लेकिन मल्टी-टास्किंग सिस्टम में अन्य प्रक्रियाओं से गैर-यादृच्छिक हस्तक्षेप से बचने के लिए बहुत सावधानी बरतनी चाहिए (उदाहरण के लिए, गिनती लूप प्रक्रिया के निलंबन में जब ऑपरेटिंग सिस्टम अनुसूचक प्रारम्भ होता है और मिश्रित प्रक्रियाओं को रोकता है ). > ओपकोड एक ऑनबोर्ड हार्डवेयर रैंडम नंबर जनरेटर से मान लौटाएगा। यह 2015 से इंटेल ल्वी ब्रिज (माइक्रोआर्किटेक्चर) प्रोसेसर और AMD64 प्रोसेसर में सम्मलित है।

पूर्वाग्रह से निपटना
ऐसी प्रणालियों से बिट-स्ट्रीम पक्षपाती होने के लिए प्रवृत्त हो सकती है, जिसमें 1s या 0s प्रबल होते हैं। पूर्वाग्रह और अन्य कलाकृतियों से निपटने के लिए दो दृष्टिकोण हैं। सबसे पहले जनरेटर के संचालन में निहित पूर्वाग्रह को कम करने के लिए आरएनजी को डिजाइन करना है। जनरेटर के पूर्वाग्रह को समायोजित करने के लिए, कम-पास फिल्टर द्वारा फ़िल्टर किए गए, इसे ठीक करने के लिए एक विधि उत्पन्न बिट स्ट्रीम को वापस संवाहित करती है। केंद्रीय सीमा प्रमेय के अनुसार, प्रतिक्रिया पाश अच्छी तरह से समायोजित 'असिम्प्टोटिक रूप से लगभग निश्चित रूप से' होगा। अल्ट्रा-हाई स्पीड रैंडम नंबर जनरेटर प्रायः इस पद्धति का उपयोग करते हैं। फिर भी, उत्पन्न संख्याएँ सामान्यतः कुछ सीमा तक पक्षपाती होती हैं।

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

जॉन वॉन न्यूमैन ने सरल पूर्वाग्रह को ठीक करने और सहसंबंध को कम करने के लिए एक सरल एल्गोरिदम का आविष्कार किया। यह एक समय में दो बिट्स (गैर-अतिव्यापी) पर विचार करता है, तीन क्रियाओं में से एक लेता है: जब दो क्रमिक बिट बराबर होते हैं, तो उन्हें छोड़ दिया जाता है; 1,0 का क्रम 1 बन जाता है; और 0,1 का क्रम शून्य हो जाता है। इस प्रकार यह 1 के साथ गिरने वाले किनारे और 0 के साथ बढ़ते किनारे का प्रतिनिधित्व करता है। यह सरल पूर्वाग्रह को समाप्त करता है, और कंप्यूटर प्रोग्राम या डिजिटल लॉजिक के रूप में लागू करना आसान है। यह तकनीक काम करती है इससे कोई फर्क नहीं पड़ता कि बिट्स कैसे उत्पन्न हुए हैं। हालाँकि, यह अपने आउटपुट में यादृच्छिकता का आश्वासन नहीं दे सकता है। यह क्या कर सकता है (महत्वपूर्ण संख्या में छोड़े गए बिट्स के साथ) एक पक्षपाती यादृच्छिक बिट स्ट्रीम को एक निष्पक्ष में बदल देता है।

लगभग रैंडम बिट स्ट्रीम में सुधार के लिए एक अन्य तकनीक एक्सओआर एकमात्र स्ट्रीम है जो उच्च गुणवत्ता वाले क्रिप्टोग्राफिक रूप से सुरक्षित छद्म यादृच्छिक संख्या जनरेटर जैसे ब्लम ब्लम शुब या एक मजबूत स्ट्रीम सिफर के आउटपुट के साथ है। यह कम लागत पर सजावट और अंक पूर्वाग्रह में सुधार कर सकता है; यह हार्डवेयर द्वारा किया जा सकता है, जैसे कि क्षेत्र में प्रोग्राम की जा सकने वाली द्वार श्रंखला, जो सॉफ़्टवेयर द्वारा करने की तुलना में तेज़ है।

एक संबंधित विधि जो निकट यादृच्छिक बिट स्ट्रीम में पूर्वाग्रह को कम करती है, यादृच्छिक बिट स्ट्रीम के पास दो या दो से अधिक असंबद्ध, और अनन्य या उन्हें एक साथ लेना है। मान लें कि एक बिट स्ट्रीम द्वारा 0 उत्पन्न करने की संभावना 1/2 + e है, जहां −1/2 ≤ e ≤ 1/2 है। फिर ई बिटस्ट्रीम का पूर्वाग्रह है। यदि पूर्वाग्रह ई के साथ दो असंबद्ध बिट धाराएं अनन्य-या-एड एक साथ हैं, तो परिणाम का पूर्वाग्रह 2e होगा। यह अधिक बिट धाराओं के साथ दोहराया जा सकता है (पाइलिंग-अप लेम्मा भी देखें)।

कुछ डिज़ाइन क्रिप्टोग्राफ़िक हैश फलन जैसे कि MD5, SHA-1, या RIPEMD-160 या यहां तक ​​​​कि एक चक्रीय अतिरेक जाँच फलन को सभी या बिट स्ट्रीम के हिस्से में लागू करते हैं, और फिर आउटपुट को यादृच्छिक बिट स्ट्रीम के रूप में उपयोग करते हैं। यह आकर्षक है, आंशिक रूप से क्योंकि यह अपेक्षाकृत तेज़ है।

कई भौतिक घटनाओं का उपयोग बिट्स उत्पन्न करने के लिए किया जा सकता है जो अत्यधिक पक्षपाती हैं, लेकिन प्रत्येक बिट दूसरों से स्वतंत्र है।

एक गीजर काउंटर (ट्यूब पुनर्प्राप्ति समय से अधिक नमूना समय के साथ) या अर्ध-पारदर्शी दर्पण फोटॉन डिटेक्टर दोनों बिट स्ट्रीम उत्पन्न करते हैं जो अधिकतर 0 (मौन या संचरण) होते हैं जो कभी-कभी 1 (क्लिक या प्रतिबिंब) के साथ होते हैं।

यदि प्रत्येक बिट दूसरों से स्वतंत्र है, तो वॉन न्यूमैन रणनीति इस तरह के अत्यधिक पक्षपाती बिट स्ट्रीम में प्रत्येक दुर्लभ 1 बिट के लिए एक यादृच्छिक, निष्पक्ष आउटपुट बिट उत्पन्न करती है। उन्नत मल्टी-लेवल स्ट्रैटेजी (AMLS) जैसी व्हाइटनिंग तकनीकें अधिक आउटपुट बिट्स निकाल सकते हैं - आउटपुट बिट्स जो कि यादृच्छिक और निष्पक्ष हैं - इस तरह के अत्यधिक पक्षपाती बिट स्ट्रीम से प्रत्येक बिट दूसरों से स्वतंत्र है।

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

देखी गई घटनाओं का उपयोग करना
वास्तविक यादृच्छिक संख्या जनरेटर के बिना सॉफ़्टवेयर इंजीनियर प्रायः सॉफ़्टवेयर के लिए उपलब्ध भौतिक घटनाओं को मापकर उन्हें विकसित करने का प्रयास करते हैं। एक उदाहरण उपयोगकर्ता कीस्ट्रोक के बीच के समय को माप रहा है, और फिर गिनती के कम से कम महत्वपूर्ण बिट (या दो या तीन) को एक यादृच्छिक अंक के रूप में ले रहा है। एक समान दृष्टिकोण कार्य-निर्धारण, नेटवर्क हिट, डिस्क-हेड खोज समय और अन्य आंतरिक घटनाओं को मापता है। एक Microsoft डिज़ाइन में ऐसे आंतरिक मूल्यों की एक बहुत लंबी सूची सम्मिलित है, जो क्रिप्टोग्राफ़िक रूप से सुरक्षित छद्म यादृच्छिक संख्या जनरेटर का एक रूप है। लावा लैंप का उपयोग निगरानी के लिए भौतिक उपकरणों के रूप में भी किया जाता है, जैसा कि लवरांड प्रणाली में होता है।

कंप्यूटर नियंत्रित घटनाओं का उपयोग करते समय यह तरीका संकट भरा होता है क्योंकि एक चतुर, दुर्भावनापूर्ण प्रघातक बाहरी घटनाओं को नियंत्रित करके क्रिप्टोग्राफ़िक कुंजी की भविष्यवाणी करने में सक्षम हो सकता है। यह संकट भरा भी है क्योंकि अनुमानित उपयोगकर्ता-जनित घटना (जैसे, कीस्ट्रोक्स) पर्याप्त रूप से सरल प्रघातक द्वारा स्पूफिंग प्रघात हो सकता है, जिससे क्रिप्टोग्राफी द्वारा उपयोग किए जाने वाले यादृच्छिक मूल्यों को नियंत्रित किया जा सकता है।

हालांकि, पर्याप्त देखभाल के साथ, एक प्रणाली को डिज़ाइन किया जा सकता है जो आधुनिक कंप्यूटर में उपलब्ध यादृच्छिकता के स्रोतों से क्रिप्टोग्राफ़िक रूप से सुरक्षित यादृच्छिक संख्या उत्पन्न करता है। मूल डिजाइन यादृच्छिक बिट्स के एक एंट्रॉपी पूल को बनाए रखना है जिसे एक प्रघातक के लिए अज्ञात माना जाता है। जब भी उपलब्ध हो नई यादृच्छिकता जोड़ी जाती है (उदाहरण के लिए, जब उपयोगकर्ता एक कुंजी दबाता है) और पूल में बिट्स की संख्या का अनुमान लगाया जाता है जो प्रघातक को ज्ञात नहीं किया जा सकता है। उपयोग की जाने वाली कुछ रणनीतियों में सम्मिलित हैं:
 * जब यादृच्छिक बिट्स का अनुरोध किया जाता है, तो एंट्रॉपी पूल (एक क्रिप्टोग्राफ़िक हैश फलन द्वारा) से प्राप्त कई बिट्स वापस करें और पूल में शेष यादृच्छिक बिट्स की संख्या का अनुमान कम करें। यदि पर्याप्त अज्ञात बिट उपलब्ध नहीं हैं, तो पर्याप्त उपलब्ध होने तक प्रतीक्षा करें। यह लिनक्स में /dev/random डिवाइस का शीर्ष-स्तरीय डिज़ाइन है, जिसे थिओडोर त्सो द्वारा लिखा गया है और कई अन्य यूनिक्स-जैसे ऑपरेटिंग सिस्टम में उपयोग किया जाता है। यह उच्च-गुणवत्ता वाली यादृच्छिक संख्या प्रदान करता है जब तक कि इनपुट यादृच्छिकता के अनुमान पर्याप्त रूप से सतर्क हैं। Linux /dev/urandom डिवाइस एक साधारण संशोधन है जो इनपुट यादृच्छिकता के अनुमानों की अवहेलना करता है, और इसलिए इसके परिणामस्वरूप उच्च एन्ट्रापी होने की संभावना कम होती है।
 * एंट्रॉपी पूल से प्राप्त कुंजी और प्रारंभिक वेक्टर (IV) के साथ एक स्ट्रीम सिफर बनाए रखें। जब एंट्रॉपी के पर्याप्त बिट एकत्र किए गए हों, तो कुंजी और IV दोनों को नए यादृच्छिक मानों से बदलें और पूल में अनुमानित एंट्रॉपी को कम करें। यह यारो एल्गोरिथम लाइब्रेरी द्वारा लिया गया दृष्टिकोण है। यह कुछ हमलों के खिलाफ प्रतिरोध प्रदान करता है और कठिन-से-प्राप्त एन्ट्रापी का संरक्षण करता है।

ऑनलाइन सिस्टम
एक वास्तविक यादृच्छिक संख्या जनरेटर को एक केंद्रीकृत ऑनलाइन सेवा के रूप में पेश किया जा सकता है। एक उदाहरण राष्ट्रीय मानक और प्रौद्योगिकी संस्थान से यादृच्छिकता बीकन सेवा है; एक और उदाहरण है Random.org, एक ऐसी सेवा जो यादृच्छिक बाइनरी अंक (बिट्स) उत्पन्न करने के लिए वायुमंडलीय शोर का उपयोग करती है।

ऐसी ऑनलाइन सेवाओं का विकेंद्रीकरण भी किया जा सकता है। उदाहरण के लिए, कार्डानो प्लेटफॉर्म यादृच्छिक संख्या उत्पन्न करने के लिए अपने विकेंद्रीकृत -का-प्रमाण हिस्सेदारी प्रोटोकॉल के प्रतिभागियों का उपयोग करता है।

एक और विकेन्द्रीकृत सेवा 2019 में एंट्रॉपी का लीग के माध्यम से प्रारम्भ की गई थी। यह ओपन सोर्स ड्रैंड सॉफ़्टवेयर के माध्यम से विभिन्न स्रोतों से यादृच्छिक इनपुट को जोड़ती है जो उपयोगकर्ताओं के भरोसे की मात्रा को कम करता है।

समस्याएं
ऐसे हार्डवेयर या सॉफ़्टवेयर उपकरणों का गलत निर्माण करना बहुत आसान है जो यादृच्छिक संख्या उत्पन्न करने का प्रयास करते हैं। इसके अतिरिक्त, ज्यादातर 'ब्रेक' चुपचाप, प्रायः घटते हुए यादृच्छिक संख्या का उत्पादन करते हैं क्योंकि वे नीचा दिखाते हैं। एक भौतिक उदाहरण पहले उल्लिखित धूम्रपान डिटेक्टरों की तेजी से घटती रेडियोधर्मिता हो सकती है, यदि इस स्रोत का सीधे उपयोग किया जाता। ऐसे उपकरणों में विफलता मोड प्रचुर मात्रा में होते हैं और जटिल, धीमे और पता लगाने में कठिन होते हैं। एंट्रॉपी के कई स्रोतों को जोड़ने वाली विधियां अधिक मजबूत होती हैं।

क्योंकि कई एन्ट्रापी स्रोत प्रायः काफी नाजुक होते हैं, और चुपचाप विफल हो जाते हैं, उनके आउटपुट पर सांख्यिकीय परीक्षण लगातार किए जाने चाहिए। कई, लेकिन सभी नहीं, ऐसे उपकरणों में सॉफ़्टवेयर में कुछ ऐसे परीक्षण सम्मिलित होते हैं जो डिवाइस को पढ़ते हैं।

प्रघात
क्रिप्टोग्राफी प्रणाली के अन्य घटकों की तरह, एक सॉफ्टवेयर यादृच्छिक संख्या जनरेटर को यादृच्छिक संख्या जनरेटर प्रघात का विरोध करने के लिए डिज़ाइन किया जाना चाहिए। हार्डवेयर एन्ट्रापी स्रोत के बिना इन हमलों से बचाव करना मुश्किल है।

एंट्रोपी का आकलन
प्रतीकों के एक क्रम की सूचना एन्ट्रापी का अनुमान लगाने के लिए गणितीय तकनीकें हैं। कोई भी इतना विश्वसनीय नहीं है कि उनके अनुमानों पर पूरी तरह भरोसा किया जा सके; सदैव ऐसी धारणाएँ होती हैं जिनकी पुष्टि करना बहुत कठिन हो सकता है। उदाहरण के लिए, बीज पूल में पर्याप्त एंट्रॉपी है या नहीं, यह निर्धारित करने के लिए ये उपयोगी होते हैं, लेकिन वे सामान्य रूप से एक सच्चे यादृच्छिक स्रोत और छद्म यादृच्छिक जनरेटर के बीच अंतर नहीं कर सकते हैं। हार्डवेयर एंट्रॉपी स्रोतों के रूढ़िवादी उपयोग से इस समस्या से बचा जाता है।

प्रदर्शन परीक्षण
उचित संचालन के लिए हार्डवेयर रैंडम नंबर जनरेटर की लगातार निगरानी की जानी चाहिए। RFC 4086, संघीय सूचना संसाधन मानक FIPS 140|Pub 140-2 और NIST विशेष प्रकाशन 800-90b परीक्षण सम्मिलित करें जिनका उपयोग इसके लिए किया जा सकता है। न्यूज़ीलैंड क्रिप्टोग्राफ़िक सॉफ़्टवेयर लाइब्रेरी criptlib के लिए दस्तावेज़ीकरण भी देखें।

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

यह भी देखें

 * एएन/सीवाईजेड-9
 * बेल परीक्षण प्रयोग
 * /देव/यादृच्छिक
 * प्रीमियम बॉन्ड #ERNIE
 * यादृच्छिक संख्या जनरेटर की सूची
 * लॉटरी मशीन
 * यादृच्छिकता निकालने वाला
 * आरडीआरएंड
 * विश्वसनीय प्लेटफ़ॉर्म मॉड्यूल

बाहरी संबंध

 * ProtegoST SG100, ProtegoST, "Hardware Random Number Generator "Based on quantum physics random number source from a zener diode".
 * ProtegoST SG100, ProtegoST, "Hardware Random Number Generator "Based on quantum physics random number source from a zener diode".
 * ProtegoST SG100, ProtegoST, "Hardware Random Number Generator "Based on quantum physics random number source from a zener diode".

Zufallszahlengenerator