कोई परिणाम नहीं मिला
हम इस समय उस शर्त के साथ कुछ नहीं ढूँढ पा रहे हैं, कुछ और खोजने का प्रयास करें।
हमारे 'संख्या उत्पादक' टूल से आसानी से यादृच्छिक (random) संख्याएँ उत्पन्न करें। अपनी जरूरत के अनुसार रेंज सेट करें, दोहराव चुनें और तुरंत परिणाम पाएं।
यादृच्छिक संख्याएँ
48, 9, 49, 11, 17, 22, 16, 37, 45, 41, 4, 36, 43, 10, 28, 27, 47, 25, 21, 33
आपकी गणना में त्रुटि थी।
रैंडम नंबर जनरेटर (Random Number Generator) एक ऐसी प्रक्रिया या टूल है, जो हर बार एक नई और पूरी तरह से अप्रत्याशित (यादृच्छिक) संख्या उत्पन्न करता है। इसमें पहले से उत्पन्न संख्याओं के आधार पर किसी भी पैटर्न का अनुमान लगाना संभव नहीं होता। इन रैंडम संख्याओं को एल्गोरिदम (सॉफ्टवेयर) या किसी विशेष हार्डवेयर डिवाइस के माध्यम से जनरेट किया जा सकता है।
कंप्यूटर गेम्स से लेकर रोज़मर्रा के एप्लिकेशन तक, कई अलग-अलग कार्यों के लिए रैंडम नंबर (Random Numbers) जनरेट करना बहुत ज़रूरी होता है। उदाहरण के लिए, कोई वेबसाइट एक रैंडम बैनर या विज्ञापन इकाई दिखाने के लिए रैंडम नंबर जनरेटर का उपयोग करती है। क्रिप्टोग्राफी (Cryptography) में, एक अद्वितीय सिफर (cipher) या सुरक्षा कुंजी (key) बनाने के लिए भी रैंडम संख्याओं का बड़े पैमाने पर इस्तेमाल किया जाता है।
इसके अलावा, रैंडम नंबर जनरेशन का उपयोग कैप्चा (CAPTCHA), एन्क्रिप्शन, पासवर्ड सुरक्षित रखने के लिए साल्ट (Salt) जनरेट करने, रैंडम पासवर्ड बनाने, ऑनलाइन कैसीनो में पत्तों को फेंटने, निर्णय लेने, सैंपलिंग (Sampling) और सिमुलेशन के लिए रैंडम अक्षर या संख्याएँ उत्पन्न करने में किया जाता है।
वीडियो गेम्स में रैंडम नंबर जनरेटर एल्गोरिदम का अक्सर उपयोग किया जाता है। यदि आप किसी गेम में एक ही लेवल को बार-बार खेलते हैं, तो हर बार मिशन पूरा करने का अनुभव बिल्कुल एक जैसा नहीं होता। भले ही जगह या मिशन समान लगे, लेकिन दुश्मनों की संख्या, उनके प्रकट होने की जगह, मौसम में बदलाव और सामने आने वाली बाधाएं हर बार अलग होती हैं। यही अनिश्चितता गेम को और भी रोमांचक बनाती है।
मान लीजिए कि संख्याओं का एक क्रम है: 1 , 2 , 3 , 4 , 5। क्या यह रैंडम है?
एक यादृच्छिक चर (Random variable) वह चर है जो किसी परीक्षण के परिणामस्वरूप कई संभावित मूल्यों में से कोई एक मान लेता है। आप किसी विशेष मान के प्रकट होने से पहले उसके आने की सटीक भविष्यवाणी नहीं कर सकते।
मान लीजिए कि दी गई संख्याएँ कीबोर्ड की शीर्ष पंक्ति पर लगातार टाइप करके प्राप्त की गई थीं। इस मामले में, यह स्पष्ट है कि यह संयोजन रैंडम (यादृच्छिक) नहीं है, क्योंकि 5 के बाद अगली संख्या 6 आने की भविष्यवाणी उच्च संभावना के साथ की जा सकती है।
कोई भी अनुक्रम रैंडम तभी होगा जब उसके प्रतीकों या संख्याओं के बीच कोई आपसी निर्भरता न हो।
मूल शर्त, जो रैंडम नंबर जनरेटर के सही और निष्पक्ष होने के लिए अत्यंत महत्वपूर्ण है, वह यह है कि इस प्रणाली में उत्पन्न होने वाली किसी भी संभावित संख्या के आने की संभावना बिल्कुल समान होनी चाहिए। यह रैंडमनेस फैक्टर की पूर्ण स्वतंत्रता और किसी रैंडम नंबर के पहले या बाद में आने वाली अन्य संख्याओं से उसकी स्वतंत्रता को दर्शाता है।
उदाहरण के लिए, मान लीजिए कि आप पहली बार एक छह-तरफा पासा (Dice) फेंकते हैं। उस स्थिति में, आपके पास समान संभावना के साथ 1 से 6 तक की कोई भी संख्या आ सकती है। आपकी संख्या चाहे जो भी आए, जब आप दूसरी, सौवीं, या हज़ारवीं बार पासा फेंकेंगे, तो फिर से कोई भी संख्या प्राप्त करने की संभावना बिल्कुल समान रहेगी।
पाई (Pi) संख्या में अंकों का क्रम गैर-दोहराव वाला प्रतीत होता है, और कई लोगों को यह रैंडम लग सकता है। मान लीजिए कि हमारा काल्पनिक जनरेटर एक अज्ञात बिंदु से शुरू होकर पाई के बाइनरी रिप्रजेंटेशन पर निर्भर करता है। ऐसा जनरेटर कई संदर्भों में अप्रत्याशित हो सकता है, और संभावित रूप से रैंडमनेस के कुछ परीक्षणों को पास भी कर सकता है। हालाँकि, क्रिप्टोग्राफ़िक उद्देश्यों के लिए पाई पर निर्भर रहना जोखिम पैदा करता है। यदि कोई हैकर उपयोग किए जा रहे पाई के विशिष्ट खंड का पता लगा लेता है, तो वे सिस्टम की सुरक्षा से समझौता करते हुए, पहले और बाद के दोनों खंडों की भविष्यवाणी कर सकते हैं।
यूएस नेशनल इंस्टीट्यूट ऑफ स्टैंडर्ड एंड टेक्नोलॉजी (NIST) ने "क्रिप्टोग्राफिक अनुप्रयोगों के लिए रैंडम और स्यूडो-रैंडम नंबर जनरेटर के लिए सांख्यिकीय परीक्षण पैकेज" का प्रस्ताव दिया है। इसमें 15 सांख्यिकीय परीक्षण शामिल हैं जिनका उद्देश्य हार्डवेयर या सॉफ्टवेयर जनरेटर द्वारा उत्पन्न बिट्स की रैंडमनेस (यादृच्छिकता) को मापना है।
रैंडम नंबर जनरेटर (RNG) मुख्य रूप से दो प्रकार के होते हैं: ट्रू रैंडम नंबर जनरेटर (TRNG) और स्यूडो-रैंडम नंबर जनरेटर (PRNG)। TRNG भौतिक घटनाओं का उपयोग करके संख्याएँ उत्पन्न करते हैं, जबकि PRNG गणितीय एल्गोरिदम का उपयोग करते हैं।
एक वास्तविक या ट्रू रैंडम नंबर जनरेटर (TRNG) एक हार्डवेयर उपकरण होता है जो रैंडम संख्याएँ उत्पन्न करने के लिए सूक्ष्म भौतिक प्रक्रियाओं (जिसे एंट्रॉपी कहा जाता है) का उपयोग करता है। एंट्रॉपी (Entropy) शुद्ध और बिना फ़िल्टर की गई अराजकता है।
ट्रू रैंडम नंबर जनरेटर निम्नलिखित भौतिक घटनाओं का उपयोग करते हैं:
एक ट्रू RNG का उपयोग आमतौर पर दुनिया भर में सुरक्षा-उन्मुख प्रणालियों और उच्च-स्तरीय क्रिप्टोग्राफी में किया जाता है।
रैंडम नंबर जनरेटर एंट्रॉपी को इकट्ठा करने के लिए एंट्रॉपी स्रोतों का उपयोग करते हैं, जिससे जनरेटर के लिए आवश्यक प्रारंभिक मूल्य (सीड या Seed) प्राप्त होता है।
स्यूडो-रैंडम नंबर जनरेटर (PRNG) एल्गोरिदम का उपयोग उन क्षेत्रों में किया जाता है जहाँ सुरक्षा संबंधी कोई बड़ी चिंता नहीं होती। यहाँ रैंडमनेस का उपयोग पुनरावृत्ति से बचने और यूज़र के लिए प्रक्रिया को अधिक रोचक बनाने में मदद करता है। PRNG तकनीक को लागू करना सस्ता और तेज़ होता है क्योंकि इसमें हार्डवेयर की आवश्यकता नहीं होती और इसे आसानी से प्रोग्राम कोड में लिखा जा सकता है। यद्यपि यह प्रक्रिया पूरी तरह से रैंडम नहीं होती और एक एल्गोरिदम द्वारा निर्धारित होती है, फिर भी यह गेम्स और सामान्य सॉफ़्टवेयर के लिए बहुत उपयुक्त है।
PRNG एक प्रारंभिक मान (Seed) का उपयोग करता है, जिससे इसकी स्यूडो-रैंडमनेस (छद्म-यादृच्छिकता) शुरू होती है। वहीं दूसरी ओर, एक वास्तविक रैंडम नंबर जनरेटर हमेशा एंट्रॉपी के विभिन्न स्रोतों द्वारा शुरुआत में प्रदान किए गए उच्च-गुणवत्ता वाले रैंडम मान के आधार पर ही रैंडम संख्या उत्पन्न करता है।
स्यूडो-रैंडम नंबर जनरेशन की अपनी कुछ कमियां हैं। ये काम करते हैं क्योंकि ये एक सामान्य इंसान की आँखों को रैंडम ही लगते हैं। हालाँकि, मान लीजिए कि आपको PRNG के किसी विशेष अनुक्रम के प्रारंभिक मान (Seed) का पता चल जाए। उस स्थिति में, आप आसानी से अनुमान लगा सकते हैं कि आगे कौन-सी संख्याएँ आने वाली हैं।
स्पीडरनिंग (Speedrunning) करने वाले वीडियो गेमर्स अक्सर इस कमज़ोरी का फायदा उठाते हैं—वे इसे PRNG मैनिपुलेशन (PRNG Manipulation) कहते हैं। वे गेम को एक अनुमानित तरीके से खेलते हैं ताकि वे इसे कम से कम समय में पार कर सकें। सौभाग्य से, गेमिंग में इससे कोई गंभीर सुरक्षा समस्या उत्पन्न नहीं होती है।
लेकिन ऐसे कई मौके होते हैं जब रैंडम संख्याओं की भविष्यवाणी करना बेहद खतरनाक हो सकता है, उदाहरण के लिए—सुरक्षा कुंजियाँ (Security Keys) बनाते समय।
यदि कोई हैकर TLS प्रमाणपत्रों में RSA कुंजी बनाने के लिए उपयोग किए गए प्रारंभिक मूल्य (Seed) का पता लगा लेता है, तो वह संभावित रूप से नेटवर्क ट्रैफ़िक को डिक्रिप्ट कर सकता है। इसका मतलब है कि वह इंटरनेट पर भेजे गए पासवर्ड और अन्य व्यक्तिगत जानकारी को चुरा सकता है।
इन स्थितियों में, रैंडम संख्या प्राप्त करने के लिए एक अत्यधिक सुरक्षित तरीके की आवश्यकता होती है, यानी एक ट्रू रैंडम नंबर जनरेटर (TRNG) की।
जावास्क्रिप्ट के आधार पर रैंडम संख्याएँ जनरेट करने के लिए गूगल का अपना एक टूल है। दोस्तों और परिवार के साथ गेम्स खेलते समय यह टूल बहुत उपयोगी हो सकता है। यदि आप गूगल सर्च में "रैंडम नंबर जनरेटर" या "random number generator" टाइप करते हैं, तो आप सीधे इस टूल का उपयोग कर सकते हैं।
स्यूडो-रैंडम नंबर जनरेटर (PRNG) के लिए सबसे लोकप्रिय एल्गोरिदम में से एक रैखिक सर्वांगसम विधि (LCG) है। इसका उपयोग साधारण कार्यों में किया जाता है और इसमें कोई क्रिप्टोग्राफ़िक मजबूती नहीं होती। डेरिक हेनरी लेहमर ने 1949 में इस रैखिक सर्वांगसम विधि का प्रस्ताव रखा था।
इस विधि द्वारा संख्याओं को उत्पन्न करने के लिए, हमें चार संख्याएँ चुननी होती हैं:
m > 0, मॉड्यूलस (Modulus)
0 ≤ a ≤ m, गुणक (Multiplier)
0 ≤ c ≤ m, वृद्धि (Increment)
0 ≤ X₀ ≤ m, प्रारंभिक संख्या (Seed)
रैंडम संख्याओं का क्रम इस सूत्र का उपयोग करके उत्पन्न होता है:
Xₙ₊₁ = (aXₙ + c) mod m
यह ध्यान देने योग्य है कि यह विधि पूरी तरह से मापदंडों (Parameters) के चुनाव पर निर्भर करती है।
उदाहरण के लिए, निम्नलिखित समूह के लिए:
X₀ = 3, a = 4, c = 5, m = 6
हमें संख्याओं का एक छोटा और दोहराव वाला अनुक्रम मिलता है:
3, 5, 1, 3, 5, 1
जो बिल्कुल भी रैंडम नहीं दिखता है।
लेकिन यदि हम मापदंडों को बदल दें:
X₀ = 2, a = 85, c = 507, m = 1356
तो परिणामों का बिखराव बहुत अधिक अप्रत्याशित हो जाता है। आपको इस एल्गोरिदम के लिए संख्याओं का चयन विशेष सावधानी के साथ करना होता है।
2, 677, 1100, 443, 194, 725, 1112, 107, 110, 365, 344, 1271, 62, 353, 680, 1355, 422, 1121, 872, 47, 434, 785, 788, 1043, 1022, 593, 740, 1031, 2, 677, 1100, 443, 194, 725, 1112, 107, 110, 365, 344, 1271, 62, 353, 680, 1355, 422, 1121, 872, 47, 434, 785, 788, 1043, 1022, 593, 740, 1031, 2, 677, 1100, 443, 194, 725, 1112, 107, 110, 365...
हालांकि रैखिक सर्वांगसम विधि सांख्यिकीय रूप से एक अच्छा स्यूडो-रैंडम अनुक्रम उत्पन्न करती है, लेकिन यह क्रिप्टोग्राफ़िक रूप से सुरक्षित नहीं है। इस विधि पर आधारित जनरेटर की भविष्यवाणी की जा सकती है, इसलिए आप इन्हें डेटा एन्क्रिप्शन में उपयोग नहीं कर सकते।
रैखिक सर्वांगसम विधि (LCG) जनरेटर की कमज़ोरियों को सबसे पहले 1977 में जिम रीड्स द्वारा और फिर 1982 में जोन बोयर (Joan Boyar) द्वारा खोजा गया था। वह द्विघात (Quadratic) और घनीय (Cubic) जनरेटर को तोड़ने में भी कामयाब रहीं। इस प्रकार, उन्होंने क्रिप्टोग्राफी के लिए सर्वांगसम तरीकों पर आधारित जनरेटर की असुरक्षा को साबित कर दिया। हालांकि, गैर-क्रिप्टोग्राफ़िक अनुप्रयोगों, जैसे सिमुलेशन, के लिए ये जनरेटर आज भी बहुत उपयोगी हैं। ये तेज़ हैं और अधिकांश सांख्यिकीय परीक्षणों में बेहतरीन प्रदर्शन करते हैं।
इस उपकरण में रैंडमनेस, सेमीकंडक्टर्स में फोटॉन उत्सर्जन (Photon emission) की क्वांटम भौतिक प्रक्रिया और व्यक्तिगत फोटॉनों के बाद के डिटेक्शन पर निर्भर करती है। इस प्रक्रिया में, फोटॉनों का पता एक-दूसरे से स्वतंत्र रूप से और पूरी तरह रैंडम तरीके से लगाया जाता है। इन फोटॉनों के पकड़े जाने के समय की जानकारी का उपयोग बिट्स (Bits) उत्पन्न करने के लिए किया जाता है।
क्लाउडफ्लेयर (Cloudflare) के सैन फ्रांसिस्को कार्यालय में "लावा लैंप" नामक एक अनोखा रैंडम नंबर जनरेटर है। यह दीपक पारदर्शी तेल और पारभासी पैराफिन से भरा एक कांच का बर्तन होता है। पैराफिन तेल से थोड़ा भारी होता है, लेकिन थोड़ा गर्म होने पर यह हल्का हो जाता है और ऊपर की ओर तैरने लगता है।
लगातार तस्वीरें लेने वाले कई कैमरों द्वारा इन तरल पदार्थों की गति की निगरानी की जाती है। इन तस्वीरों के पिक्सल्स को संख्याओं में बदल दिया जाता है, जिससे उच्च-स्तरीय क्रिप्टोग्राफिक कुंजियाँ जनरेट होती हैं।
क्लाउडफ्लेयर के अन्य दो कार्यालय रैंडम मान प्राप्त करने के लिए अलग-अलग तरीकों का उपयोग करते हैं। लंदन में, एक कैमरा तीन अराजक पेंडुलम की गतिविधियों को रिकॉर्ड करता है। सिंगापुर में एक गीगर काउंटर (Geiger Counter) का उपयोग किया जाता है जो यूरेनियम के एक छोटे टुकड़े के रेडियोधर्मी क्षय (Radioactive decay) को मापता है। इस मामले में, यूरेनियम का उपयोग "डेटा स्रोत" के रूप में किया जाता है क्योंकि रेडियोधर्मी विकिरण की अनिश्चितता एक आदर्श रैंडमनेस का उदाहरण है।
हॉटबिट्स (HotBits) एक ऐसी वेबसाइट है जो गीगर काउंटर द्वारा उत्पन्न वास्तविक रैंडम संख्याएँ प्रदान करती है, जो आयनाइजिंग रेडिएशन (Ionizing radiation) को रिकॉर्ड करता है। आप साइट पर एक रिक्वेस्ट फॉर्म भरते हैं, जिसमें आपको जितने रैंडम बाइट्स चाहिए उनकी संख्या दर्ज करनी होती है और डेटा प्राप्त करने का अपना पसंदीदा तरीका चुनना होता है। एक बार जब उपयोगकर्ता को रैंडम संख्याएँ भेज दी जाती हैं, तो उन्हें सुरक्षा कारणों से सिस्टम से तुरंत हटा दिया जाता है।
इसके नाम ("वैक्यूम" - खालीपन) के विपरीत, भौतिकी में निर्वात को पूरी तरह खाली नहीं माना जा सकता है। हाइजेनबर्ग अनिश्चितता सिद्धांत (Heisenberg's Uncertainty Principle) के अनुसार, आभासी कण (Virtual particles) लगातार पैदा होते हैं और तुरंत नष्ट हो जाते हैं।
कनाडा के भौतिकविदों ने इन्हीं वैक्यूम उतार-चढ़ाव के आधार पर एक तेज़ और संरचनात्मक रूप से सरल रैंडम नंबर जनरेटर तैयार किया है। इस जनरेटर में एक पल्स्ड लेजर (Pulsed laser) होता है जिसमें उच्च आवृत्ति का विकिरण, उच्च अपवर्तक सूचकांक वाला माध्यम (हीरा) और एक डिटेक्टर लगा होता है। हीरे से गुजरते समय, हर पल्स वैक्यूम क्षेत्र के उतार-चढ़ाव के आधार पर सेंसर पर अलग-अलग विशेषताएँ दिखाती है।
बिखरे हुए विकिरण के स्पेक्ट्रम में, वर्णक्रमीय रेखाएँ (Spectral lines) दिखाई देती हैं। निर्वात के उतार-चढ़ाव की अप्रत्याशितता के कारण, ये रेखाएँ हर बार पूरी तरह से अप्रत्याशित तरीके से अलग-अलग होती हैं।
यह विधि उत्पन्न थर्मल शोर (Thermal noise) के साथ जनरेटर के कॉम्पैक्ट आकार को जोड़ती है।
शोधकर्ताओं ने अर्धचालक कार्बन नैनोट्यूब युक्त विशेष स्याही से मुद्रित एक स्टैटिक रैंडम एक्सेस मेमोरी (SRAM) सेल से एक रैंडम नंबर जनरेटर का निर्माण किया। यह मेमोरी सेल रैंडम बिट्स उत्पन्न करने के लिए थर्मल शोर के उतार-चढ़ाव का उपयोग करता है।
कार्बन नैनोट्यूब जनरेटर को लचीले प्लास्टिक सबस्ट्रेट्स पर प्रिंट किया जा सकता है, जिससे इसे छोटे, लचीले इलेक्ट्रॉनिक्स उपकरणों, पहनने योग्य सेंसर (Wearable sensors), स्मार्ट नाम-टैग और स्मार्ट कपड़ों में आसानी से एकीकृत किया जा सकता है।
EFF ने एक भौतिक रैंडम नंबर जनरेटर (जैसे कि पासे) का उपयोग करके अत्यधिक सुरक्षित पासवर्ड बनाने का एक आसान तरीका प्रस्तावित किया है।
उदाहरण के लिए, आप एक साथ पाँच पासे (Dice) फेंकते हैं और जो संख्याएँ आती हैं उन्हें लिख लेते हैं। पासों को बाएं से दाएं व्यवस्थित करने पर मान लीजिए आपको यह संख्या मिलती है: 63131। इसके बाद, आप EFF वेबसाइट पर शब्दों की एक लंबी डिक्शनरी खोलते हैं और 63131 कोड के आगे लिखे शब्द को खोजते हैं। मान लीजिए वह शब्द "टर्बोफैन" (Turbofan) है।
आप इस प्रक्रिया को कई बार दोहरा सकते हैं। उदाहरण के लिए, पाँच बार। ऐसा करने पर आपको पाँच शब्दों का एक पासफ्रेज़ (Passphrase) मिल जाएगा। मान लीजिए वह पासफ्रेज़ है, "टर्बोफैन पर्ज अनुपयुक्त प्रूनिंग का प्रयास करें।" यदि आप मेमोरी ट्रिक्स (Mnemonics) का उपयोग करना जानते हैं, तो इस तरह के यादृच्छिक वाक्यांशों को याद रखना बहुत आसान और सुरक्षित होता है।
2014 में, जिनेवा विश्वविद्यालय के शोधकर्ताओं ने एक क्वांटम रैंडम नंबर जनरेटर (QRNG) उपकरण बनाया जो नोकिया N9 (Nokia N9) स्मार्टफोन के कैमरे का उपयोग करता था।
स्मार्टफोन के कैमरे ने प्रत्येक पिक्सेल से टकराने वाले फोटॉनों की संख्या की गणना की। प्रकाश स्रोत एक सामान्य LED था। 8 मेगापिक्सल कैमरे के हर पिक्सेल ने बहुत ही कम समय में लगभग 400 फोटॉन का पता लगाया। इसके बाद सभी पिक्सल्स पर टकराने वाले फोटॉनों की कुल संख्या को एक अत्यधिक सुरक्षित रैंडम नंबर अनुक्रम में बदल दिया गया।