Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> प्रोग्रामिंग

ट्रू रैंडम नंबर जेनरेशन क्या है?

ट्रू रैंडम नंबर जेनरेशन (TRNG)

एक ट्रू रैंडम नंबर जनरेटर (TRNG) रैंडमनेस बनाने के लिए एक नॉन-डिटरमिनिस्टिक स्रोत का उपयोग करता है। अधिकांश अप्रत्याशित प्राकृतिक प्रक्रियाओं को मापकर कार्य करते हैं, जिसमें आयनकारी विकिरण गतिविधियों के पल्स डिटेक्टर, गैस डिस्चार्ज ट्यूब और लीक कैपेसिटर शामिल हैं।

इंटेल ने एक व्यावसायिक रूप से सुलभ चिप विकसित की है जो अनड्रिवेन प्रतिरोधों में मापे गए वोल्टेज को विकसित करके थर्मल शोर का नमूना लेती है। TRNG एक ट्रू रैंडम नंबर उत्पन्न करता है और आमतौर पर हार्डवेयर विधि द्वारा उत्पादित किया जाता है।

क्योंकि TRNG द्वारा उत्पादित रैंडम नंबर का अनुमान लगाना जटिल है क्योंकि TRNG एक भौतिक स्रोत पर आधारित होता है जिसका रैंडम मूल्य पूर्वानुमान करना जटिल होता है। इसलिए, TRNG से उत्पन्न रैंडम नंबर एक सुरक्षित दृष्टिकोण है क्योंकि समान मूल्य बनाना जटिल है।

रैंडमनेस के निम्नलिखित संभावित स्रोत हैं जिनका उपयोग सावधानी के साथ कंप्यूटर पर ट्रू रैंडम अनुक्रम उत्पन्न करने के लिए किया जा सकता है:

ध्वनि/वीडियो इनपुट

कई कंप्यूटर कुछ वास्तविक-विश्व एनालॉग स्रोत को डिजिटाइज करने वाले इनपुट के साथ निर्मित होते हैं, जिसमें माइक्रोफोन से ध्वनि या कैमरे से वीडियो इनपुट शामिल है।

किसी भी अथॉरिटी के बिना साउंड डिजिटाइजर से "इनपुट" या लेंस कैप वाले कैमरे से मूल रूप से थर्मल शोर है। यदि सिस्टम में कुछ भी पहचानने के लिए पर्याप्त लाभ है, तो ऐसा इनपुट उचित उच्च गुणवत्ता वाले रैंडम बिट्स प्रदान कर सकता है।

डिस्क ड्राइव

डिस्क ड्राइव को उनके घूर्णी गति में छोटे रैंडम उतार-चढ़ाव के लिए जाना जाता है क्योंकि अराजक वायु अशांति के कारण। लो-लेवल डिस्क सीक-टाइम इंस्ट्रूमेंटेशन का विस्तार माप का एक क्रम बनाता है जिसमें यह रैंडमनेस शामिल होती है।

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

डी-स्क्यूइंग एल्गोरिदम

एक TRNG ऐसे आउटपुट का उत्पादन कर सकता है जो किसी तरह से पक्षपाती है, जिसमें शून्य की तुलना में अधिक वन या इसके विपरीत शामिल हैं। बिट स्ट्रीम को बदलने के विभिन्न तरीके विकसित किए गए हैं ताकि पूर्वाग्रह को कम या हटाया जा सके। इन्हें डी-स्क्यूइंग एल्गोरिदम के रूप में परिभाषित किया गया है।

डी-स्क्यू करने की एक विधि बिट स्ट्रीम को हैश फ़ंक्शन के माध्यम से पास करना है। हैश फ़ंक्शन मनमानी लंबाई के इनपुट से n-बिट आउटपुट बनाता है। डी-स्क्यूइंग के लिए, m इनपुट बिट्स के ब्लॉक जहां m ≥ n को हैश फ़ंक्शन के माध्यम से स्वीकार किया जा सकता है।

भौतिक घटनाएं

TRNG बहुत नीरस है और कॉम्प्लेक्स छद्म रैंडम नंबर जनरेटर (फॉर्मूला) बहुतायत में उपलब्ध हैं। TRNG भौतिक या गैर-भौतिक शोर स्रोतों का उपयोग कर सकते हैं।

लॉजिक डिवाइस में, भौतिक शोर स्रोत पूरी तरह से सीमित हैं, क्योंकि लॉजिक डिवाइस को हमेशा एक स्पष्ट स्थिति में माना जाता है। रैंडम नंबर उत्पन्न करने के लिए, एक अनियंत्रित रैंडम घटना की आवश्यकता होती है।

लॉजिक डिवाइस में रैंडम नंबर उत्पन्न करने के लिए आमतौर पर उपयोग की जाने वाली भौतिक घटनाएं निम्नलिखित हैं:

  • क्लॉक जिटर - यह इसकी आदर्श स्थिति से क्लॉक एज का संशोधन है।
  • मेटास्टेबिलिटी - यह एक सर्किट की क्षमता है जो अनिश्चित अवधि के लिए अनंत स्थिति में बनी रहती है।
  • कैओस - यह एक डिटरमिनिस्टिक सिस्टम का अप्रत्याशित व्यवहार है, जो अपनी प्रारंभिक स्थितियों के प्रति अत्यधिक संवेदनशील है।
  • एनालॉग सिग्नल - एनालॉग सिग्नल में डायोड का शॉट शोर, थर्मल शोर आदि शामिल हैं।
  1. - Python में बूलियन ऑपरेटर्स क्या हैं?

    लॉजिकल ऑपरेटर्स `and`, `or` और `not` को बूलियन ऑपरेटर्स भी कहा जाता है। जहां `and` और `or` ऑपरेटर को दो ऑपरेंड्स की आवश्यकता होती है जो true या false मूल्यांकन कर सकते हैं, वहीं `not` ऑपरेटर को एक ऑपरेंड की आवश्यकता होती है जो true या false मूल्यांकन करता है। बूलियन `and` ऑपरेटर true लौटाता है यदि

  1. - Python में विभिन्न बेसिक ऑपरेटर्स क्या हैं?

    Python में ऑपरेटर्स को इस प्रकार वर्गीकृत किया जाता है: अंकगणितीय ऑपरेटर्स + जोड़ के लिए - घटाव के लिए * गुणा के लिए / भाग के लिए // फ्लोर डिवीजन के लिए % मोड्यूलो या शेषफल के लिए रिलेशनल ऑपरेटर्स > ग्रेटर दैन के लिए >= ग्रेटर दैन या इक्वल टू के लिए < लेस दैन के लिए <= लेस दैन या इक्

  1. रैंडम नंबर जेनरेटर (RNG) क्या है? परिभाषा और उपयोग रैंडम नंबर जेनरेटर (RNG) क्या है? परिभाषा और उपयोग

    रैंडम नंबर जेनरेटर या RNG क्या है? जैसा कि नाम से पता चलता है, रैंडम नंबर जेनरेटर हर बार आवश्यकता होने पर एक यादृच्छिक संख्या प्राप्त करने की प्रक्रिया है, बिना पिछली उत्पन्न संख्याओं से एक पैटर्न स्थापित करने में सक्षम हुए। यह संख्या या तो एक एल्गोरिदम या एक हार्डवेयर डिवाइस द्वारा उत्पन्न की जा सक