यादृच्छिक संख्या जनरेटर
सांख्यिकीय नमूनाकरण और सिमुलेशन के लिए एक निर्दिष्ट सीमा के भीतर यादृच्छिक संख्या उत्पन्न करें।
यादृच्छिक संख्या उत्पन्न करना
सामग्री तालिका
यादृच्छिक संख्या जनरेटर के प्रकार
यादृच्छिक संख्या जनरेटर (RNG) विभिन्न क्षेत्रों में बुनियादी घटक हैं, क्रिप्टोग्राफी और सुरक्षा से लेकर वैज्ञानिक सिमुलेशन और गेमिंग तक। विभिन्न प्रकार और उनकी विशेषताओं को समझना आपकी विशिष्ट आवश्यकताओं के लिए उपयुक्त विधि का चयन करने के लिए महत्वपूर्ण है।
सच यादृच्छिक संख्या जेनरेटर (TRNGs)
वास्तविक यादृच्छिक संख्या जनरेटर भौतिक प्रक्रियाओं से यादृच्छिकता को प्राप्त करते हैं जो स्वाभाविक रूप से अप्रत्याशित हैं। ये जनरेटर अनुक्रम उत्पन्न करते हैं जो सैद्धांतिक रूप से भविष्यवाणी करना असंभव है, यहां तक कि पैदा करने वाले एल्गोरिदम और पिछले मूल्यों के पूर्ण ज्ञान के साथ।
भौतिक Entropy स्रोत
- वायुमंडलीय शोर
- रेडियोधर्मी डेके
- थर्मल शोर
- क्वांटम घटना (फोटोन विभाजन)
- इलेक्ट्रॉनिक शोर और सर्किट व्यवहार
TRNG कार्यान्वयन प्रकार
- हार्डवेयर यादृच्छिक संख्या जनरेटर
- क्वांटम रैंडम नंबर जेनरेटर (QRNGs)
- शोर आधारित जनरेटर
- फ्री-रनिंग ऑसीलेटर जनरेटर
- Chaos आधारित जनरेटर
TRNGs उन अनुप्रयोगों के लिए आवश्यक हैं जिनमें सुरक्षा और अप्रत्याशितता के उच्चतम स्तर की आवश्यकता होती है, जैसे कि क्रिप्टोग्राफिक कुंजी पीढ़ी, सुरक्षित संचार और उच्च-अनुच्छेद जुआ सिस्टम। हालांकि, उनके पास आम तौर पर धीमी पीढ़ी की दर होती है और इसे लागू करने के लिए अधिक महंगा हो सकता है।
- शोर स्रोत (intropy प्रदान करता है)
- डिजिटाइज़र (डिजिटल के लिए एनालॉग संकेतों को परिवर्तित करता है)
- कंडीशनर / एक्सट्रैक्टर (रैंडमनेस गुणवत्ता में सुधार)
- स्वास्थ्य परीक्षण ( उचित संचालन को सत्यापित करता है)
Pseudorandom संख्या जेनरेटर (PRNGs)
Pseudorandom संख्या जेनरेटर उन संख्याओं के अनुक्रम उत्पन्न करने के लिए नियत्र एल्गोरिदम का उपयोग करते हैं जो यादृच्छिक दिखाई देते हैं। जबकि वास्तव में यादृच्छिक नहीं है, उन्हें यादृच्छिकता के लिए विभिन्न सांख्यिकीय परीक्षणों को पारित करने के लिए डिज़ाइन किया गया है और कई अनुप्रयोगों के लिए उपयुक्त हैं।
सामान्य PRNG प्रकार
- रैखिक Congruential जेनरेटर (LCGs)
- Mersenne Twister
- Xorshift जनरेटर
- गुणा साथ वाहक जनरेटर
- वेल (Well-Equidistributed Long-period Linear) जनरेटर
PRNG विशेषताएं
- Deterministic (same बीज एक ही अनुक्रम पैदा करता है)
- आवधिक (आम तौर पर कुछ अवधि के बाद दोहराई जाती है)
- तेजी से और कुशल पीढ़ी
- आसानी से पुन: प्रयोज्य परिणाम
- सिमुलेशन और गैर-सुरक्षा अनुप्रयोगों के लिए उपयुक्त
Cryptographically सुरक्षित PRNGs (CSPRNGs)
क्रिप्टोग्राफ़िक रूप से सुरक्षित Pseudorandom नंबर जेनरेटर भविष्यवाणी का विरोध करने के लिए डिज़ाइन किए गए पीआरएनजी का एक विशेष वर्ग है। वे सुरक्षा-महत्वपूर्ण अनुप्रयोगों के लिए उपयुक्त हैं लेकिन अभी भी निश्चित रूप से काम करते हैं।
CSPRNG उदाहरण
- Blum-Blum-Shub (BBS) जनरेटर
- RSA/Rabin जेनरेटर
- फोर्टुना एल्गोरिथ्म
- HMAC-DRBG
- ChaCha20 आधारित जनरेटर
- AES-CTR मोड जनरेटर
CSPRNG सुरक्षा गुण
- फॉरवर्ड गोपनीयता (पैस्ट आउटपुट संरक्षित)
- पिछड़े गोपनीयता (फ्यूचर आउटपुट संरक्षित)
- राज्य समझौते को समझें
- कठिन कम्प्यूटेशनल समस्याओं के आधार पर
- सभी बहुपद समय सांख्यिकी परीक्षण पास
यादृच्छिकता परीक्षण और सत्यापन
यादृच्छिक संख्या जनरेटर की गुणवत्ता का परीक्षण करना यह सुनिश्चित करना महत्वपूर्ण है कि वे अपने इच्छित अनुप्रयोगों के लिए आवश्यकताओं को पूरा करते हैं। कई मानकीकृत परीक्षण सूट उपलब्ध हैं:
- टेस्ट की डायहार्ड बैटरी
- एनआईएसटी सांख्यिकीय टेस्ट सूट (एसपी 800-22)
- TestU01 सूट
- Chi-Square टेस्ट
- फ्रीक्वेंसी टेस्ट (Monobit Test)
- रन टेस्ट
- सीरियल कोरिलेशन टेस्ट
- Kolmogorov-Smirnov टेस्ट
- जन्मदिन रिक्ति टेस्ट
हाइब्रिड दृष्टिकोण
सुरक्षा अनुप्रयोगों में इष्टतम परिणामों के लिए, एकाधिक प्रकार के यादृच्छिक संख्या जनरेटर को जोड़ने वाले हाइब्रिड दृष्टिकोण अक्सर नियोजित होते हैं:
- CSPRNG के लिए बीज उत्पन्न करने के लिए TRNG का उपयोग करना
- एन्ट्रापी पूल जो एकाधिक स्रोतों से यादृच्छिकता एकत्र करते हैं
- क्रिप्टोग्राफिक हैश फंक्शन का उपयोग करके TRNG आउटपुट का पोस्ट-प्रोसेसिंग
- एकाधिक स्वतंत्र जनरेटर से उत्पादन का संयोजन
महत्वपूर्ण अनुप्रयोगों के लिए सर्वश्रेष्ठ अभ्यास
- प्रारंभिक एन्ट्रापी (बीज) उत्पन्न करने के लिए TRNG का उपयोग करें
- बेहतर सांख्यिकीय गुणों के लिए CSPRNG के माध्यम से एन्ट्रापी प्रक्रिया
- स्थापित, अच्छी तरह से समीक्षा किए गए एल्गोरिदम और कार्यान्वयन का उपयोग करें
- RNG के स्वास्थ्य और उत्पादन की गुणवत्ता की लगातार निगरानी
- उपयुक्त होने पर क्रिप्टोग्राफिक पोस्ट-प्रोसेसिंग (हाशिंग) लागू करें
- प्रासंगिक मानकों का पालन करें (NIST SP 800-90A/B/C, BSI AIS 20/31)
यादृच्छिक संख्या क्या हैं?
यादृच्छिक संख्या उन संख्याएं हैं जो एक अनुक्रम में होती हैं जैसे कि दो स्थितियों को पूरा किया जाता है:
- मूल्यों को समान रूप से परिभाषित अंतराल पर वितरित किया जाता है
- अतीत या उपस्थित लोगों के आधार पर भविष्य के मूल्यों की भविष्यवाणी करना असंभव है
- प्रत्येक संख्या में चयनित होने की बराबर संभावना होती है
- अनुक्रम सांख्यिकीय रूप से स्वतंत्र है
अनुप्रयोग
सांख्यिकीय नमूना
सांख्यिकीय विश्लेषण के लिए आबादी से यादृच्छिक नमूनों का चयन करना।
सिमुलेशन
मोन्टे कार्लो सिमुलेशन के लिए यादृच्छिक परिदृश्य बनाना।
क्रिप्टोग्राफ़ी
एन्क्रिप्शन कुंजी और सुरक्षित यादृच्छिक मान उत्पन्न करना।
गेमिंग
खेल और लॉटरी में यादृच्छिक परिणाम बनाना।
यादृच्छिक संख्या जनरेशन
हमारे यादृच्छिक संख्या जनरेटर वास्तव में यादृच्छिक संख्या उत्पन्न करने के लिए एक क्रिप्टोग्राफिक रूप से सुरक्षित एल्गोरिदम का उपयोग करता है:
- निर्दिष्ट रेंज में वर्दी वितरण
- Cryptographically सुरक्षित यादृच्छिक संख्या पीढ़ी
- दोनों पूर्णांक और दशमलव संख्याओं के लिए समर्थन
- दशमलव स्थानों की अनुकूलन संख्या
उदाहरण
उदाहरण 1पूर्णांक संख्या
रेंज: 1 से 10
गणना: 5
दशमलव स्थान: 0
3, 7, 1, 9, 4
1 और 10 के बीच यादृच्छिक पूर्णांक
उदाहरण 2दशमलव संख्या
रेंज: 0 से 1
गणना: 3
दशमलव स्थान: 2
0.42, 0.87, 0.15
0 से 1 के बीच यादृच्छिक दशमलव
उदाहरण 3कस्टम रेंज
रेंज: 100 से 100
गणना: 4
दशमलव स्थान: 1
-45.2, 78.9, -12.4, 56.7
-100 और 100 के बीच यादृच्छिक संख्या