मुझे एक सच्ची यादृच्छिक संख्या जनरेटर वेब सेवा की आवश्यकता है [बंद]


10

Random.org प्रति दिन आईपी के माध्यम से 200k मुक्त यादृच्छिक बिट्स (केवल 6250 32-बिट पूर्णांक!) एनालॉग वर्ल्ड ( cf. ) से प्रदान करता है।

क्या किसी को वैकल्पिक वेब सेवा के बारे में पता है जो प्रति दिन अधिक ऑन-डिमांड यादृच्छिक बिट्स प्रदान करता है?

(भुगतान तब तक ठीक है, जब तक मूल्य 1000 × 1024bit प्रति usd सेंट की "अपेक्षा के भीतर" है) (random.org का भुगतान किया गया सेवा शुल्क 100 × इस मूल्य पर)


9
बड़ा सवाल यह है कि "क्यों" आपको "सही मायने में" यादृच्छिक संख्या जनरेटर की आवश्यकता है?
डार्क नाइट

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

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

4
ये रहा! [webservice] public int GetRandomNumber() { return 4; // rfc 1149.5 }
साभार

3
माफ़ कीजिए सर, क्या आप कुछ पूर्णांक खरीदना चाहेंगे? हम केवल बेहतरीन फ्री-रेंज, कारीगर पूर्णांक स्टॉक करते हैं।
रीन हेनरिच

जवाबों:


25

शायद यह एक।

http://qrng.physik.hu-berlin.de/

साइट से:

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

उच्च गति (150 मीटर / से अधिक यूएसबी) प्रदान करने के अलावा, कच्चे डेटा पर लागू पोस्ट-प्रोसेसिंग एल्गोरिथ्म सूचना सिद्धांत से ठोस भविष्यवाणियों पर आधारित है जो यादृच्छिकता के संरक्षण की गारंटी देता है। यह बिना शर्त सुरक्षित एन्क्रिप्शन योजनाओं में वितरित यादृच्छिक संख्याओं के उपयोग की अनुमति देता है।
[...]
एक्सेस नीतियां
किसी भी सेवा किए गए डेटा में से एक से अधिक बार वितरित नहीं की जाती हैं, न तो एक उपयोगकर्ता के लिए और न ही> स्वतंत्र उपयोगकर्ताओं के लिए। सेवा का उपयोग करना नि: शुल्क है, लेकिन इसके लिए पंजीकरण आवश्यक है।


1
(0.o)?! egad! मैंने सोचा कि यह एक मजाक था, लेकिन यह वास्तव में मौजूद नहीं है :) (+1) बहुत अच्छा लगता है
डार्क नाइट

4
-1 खराब गुणवत्ता वाले उत्तर के लिए। यह बहुत अच्छी तरह से एक महान समाधान हो सकता है, लेकिन आपने लिंक / सेवा पर कोई विवरण नहीं दिया है, और मुझे सारांश के लिए पूरे लिंक को पढ़ने की परवाह नहीं है। जब P.SE पर एक उत्तर के लिए एक लिंक की आवश्यकता होती है, तो कृपया उस समाधान का सारांश प्रदान करें जिसे आप लिंक कर रहे हैं। यदि आप अपने उत्तर को संशोधित करते हैं, तो मैं अपना पद छोड़ने पर विचार करूंगा।
क्रेगे

4
@NimChimpsky - क्यों? क्योंकि इसी तरह आप P.SE पर एक गुणवत्ता उत्तर लिखते हैं। ba__friend को इस प्रश्न पर पढ़ने वालों के लिए सेवा का एक संक्षिप्त विवरण पोस्ट करना चाहिए था। शायद एक त्वरित स्पष्टीकरण / उद्धरण के रूप में सेवा कैसे उत्पन्न करती है यह यादृच्छिक संख्या है।
क्रेजी

2
@ क्रेजी मैंने साइट से एक अंश के साथ पोस्ट को अपडेट किया।
एडम लेअर

5
@NimChimpsky: क्योंकि लिंकरोट होता है।
जॉन प्यूरी

31

आप जो पूछ रहे हैं वह पवित्र जल है, और आप उस सुझाव को अस्वीकार कर रहे हैं जिसे आप नियमित रूप से पानी का उपयोग करते हैं। पानी पर पवित्र जल को तरजीह देने का एकमात्र कारण धार्मिक है। सरल, बेतरतीब ढंग से तैयार PRNG हैं जिन्हें किसी भी ज्ञात प्रक्रिया द्वारा वास्तविक भौतिक यादृच्छिकता से अलग नहीं किया जा सकता है। और इन प्रणालियों रहे हैं गैर नियतात्मक।

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

नेटवर्क पैकेट आने पर आप TSC पर कब्जा कर सकते हैं। टीएससी के कम बिट्स क्रिस्टल इंटरफ़ेस के बीच सटीक ऑफसेट पर निर्भर करते हैं जो नेटवर्क इंटरफ़ेस और सीपीयू को चलाने वाले क्रिस्टल ऑसिलेटर के बीच होता है। यह दो क्वार्ट्ज क्रिस्टल में सूक्ष्म क्षेत्र तापमान भिन्नता पर निर्भर है जो वास्तव में यादृच्छिक माना जाता है।

इसी तरह, हार्ड ड्राइव से डेटा आने पर आप टीएससी पर कब्जा कर सकते हैं। कम बिट्स हार्ड ड्राइव की सतह और मामले के बीच अशांत एयरफ्लो शियरिंग पर निर्भर हैं। यह भी वास्तव में यादृच्छिक माना जाता है।

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

मैंने ऑनलाइन कैसीनो उपयोग के लिए यादृच्छिक संख्या जनरेटर विकसित किए हैं जिन्होंने स्वतंत्र प्रमाणीकरण प्राप्त किया है। ये तरीके वास्तविक दुनिया में उपयोग किए जाने वाले हैं।


6
सामान्य ज्ञान के लिए +1, दिलचस्प उदाहरण और अच्छा पवित्र जल रूपक!
मिकेरा


@ दाविद, हाय, कहानी "मैं ऑनलाइन कैसीनो के उपयोग के लिए यादृच्छिक संख्या जनरेटर विकसित किया है" पर विस्तार से मन लगा रहा हूँ ..?
पचेरियर

यह दिलचस्प नहीं है। एक ऑनलाइन कैसीनो ने मुझे उनके लिए एक आरएनजी विकसित करने के लिए काम पर रखा था, मैंने किया था, और यह टीएसटी, एक ऑस्ट्रेलियाई प्रमाणन फर्म द्वारा प्रमाणित किया गया था।
डेविड श्वार्ट्ज

13

मुझे अभी भी समझ में नहीं आया कि एक क्रिप्टोग्राफिक PRNG आपकी समस्या के लिए पर्याप्त क्यों नहीं है। एक क्रिप्टो-PRNG की एक परिभाषित संपत्ति यह है कि यह संभव नहीं है (हार्डवेयर की उचित मात्रा के साथ) एक सच्चे RNG से इसके उत्पादन को अलग करने के लिए।

इसका मतलब यह है कि यह किसी भी प्रकार के सिमुलेशन या एप्लिकेशन के लिए काफी अच्छा है, जो पीढ़ी की क्रिप्टोग्राफ़िक कुंजियों के अलावा या स्वयं क्रिप्टो PRNG को इनिशियलाइज़ कर सकता है (इसे शुरू करने के लिए स्पष्ट रूप से कुछ सौ बिट्स की सही एंट्रोपी की आवश्यकता होती है)।

दूसरी ओर webservice RNG को क्रिप्टो के लिए इस्तेमाल नहीं किया जा सकता है

  1. आप साबित नहीं कर सकते कि वे वास्तव में एक सच्चे PRNG हैं क्योंकि आप एक PRNG से उनके आउटपुट को अलग नहीं कर सकते
  2. आपको सेवा के ऑपरेटर पर भरोसा करने की आवश्यकता है
  3. रैंडम डेटा आपको कम सुरक्षा चैनल पर प्रसारित किया जाता है। एक हमलावर जो एक PRNG को तोड़ सकता है, एसएसएल को भी तोड़ सकता है।

इसलिए मैं एक एकल उपयोग के बारे में नहीं सोच सकता, जहां एक अच्छा PRNG पर एक webservice RNG पसंद करेगा। अगर आपको सही मायने में असली और सुरक्षित रैंडम नंबर चाहिए तो मुझे खुद हार्डवेयर बनाने का कोई विकल्प नहीं दिखता।


हां, मैं आउटपुट को वास्तव में यादृच्छिक साबित नहीं कर सकता। लेकिन यह नहीं है कि यह random.org/statistics पर भरोसा करना मुश्किल है । आपको लगता है कि सुरक्षा मेरी आवश्यकता में से एक है, लेकिन इसकी आवश्यकता नहीं है। मुझे रैंडम नंबर फुलस्टॉप चाहिए। रैंडम और सिक्योर नंबर नहीं। (यदि कोई हमलावर स्वतंत्र महसूस करना चाहता है, तो उसे दुख नहीं होगा)
पेसियर

1
PRNG पर भरोसा करना कठिन नहीं है, जिसके लिए यह गणितीय रूप से सिद्ध हो चुका है कि इसे एक सच्चे RNG से अलग करने के लिए बहुत कठिन गणितीय समस्याओं को हल करने की आवश्यकता होती है।
कोडइन्चोस

@CodeInChaos एक ऑनलाइन कैसीनो एक बहुत ही कठिन गणितीय समस्या है? यह नहीं है, लेकिन यह सच यादृच्छिकता की तरह आप ऐसा नहीं लगता है की आवश्यकता है?
पचेरियर

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

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

5

कई साल पहले आप SGI के लवरांड को कॉल कर सकते थे जो एक वेब कैमरा द्वारा देखे जा रहे लावा लैंप की वर्तमान बूँद आकृति और पोस्ट का उपयोग करके यादृच्छिक संख्या उत्पन्न करता था।

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

(मुझे पता है कि यह एक ऐसी सेवा नहीं है जिसे आप अभी उपयोग कर सकते हैं, लेकिन क्योंकि यह बहुत अच्छा था, क्योंकि यह बहुत अच्छा था, और क्योंकि आप लगभग आसानी से एक मुफ्त बना सकते हैं, मुझे लगा कि यह एक उत्तर होने के योग्य है।)


लेकिन निश्चित रूप से समय के साथ वेब कैमरा द्वारा उत्पन्न "यादृच्छिक" शोर एक सामान्य वितरण फिट होगा? मुझे नहीं पता कि यह स्पष्ट होगा?
डार्क नाइट

4
@ रात: वितरण का यादृच्छिकता के साथ क्या करना है? किसी भी वितरण से मेल खाने के लिए नियतात्मक अनुक्रम उत्पन्न करना संभव है, और यादृच्छिक संख्या के लिए किसी भी वितरण को फिट करना संभव है।
डेविड थॉर्नले

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

गंभीरता से एक आसानी से मैथ्यू बनाने का कोई तरीका नहीं है। आप वास्तव में आसान कैसे परिभाषित करते हैं?
पचेरियर

2
@ स्पेसर आप सही कह रहे हैं कि "आसान" परिप्रेक्ष्य का विषय है। यह विधि आसान है यदि आपके पास अपने सर्वर तक पहुंच है और उपयुक्त वेबकैम ढूंढने में लंबा समय नहीं लगता है - eBay पर $ 10 "इसे अभी खरीदें", कहते हैं। वह कैमरा संलग्न करना छोड़ देता है; मुफ्त सॉफ्टवेयर डाउनलोड करना, संकलन करना और चलाना; और अपने कोड में सेवा के लिए एक कॉल जोड़ना। तुच्छ नहीं, लेकिन बहुत आसान, बेहद सस्ती, और असीमित संख्या में अनुरोध प्रदान करता है।
मैथ्यू फ्रेडरिक

1

किसी भी होस्ट / पोर्ट के लिए एक टीसीपी कनेक्शन खोलें और इसके द्वारा लिए जाने वाले नैनोसेकंड की संख्या की गणना करें। आपका रैंडम नंबर है।


मुझे आशा है कि यह नहीं है कि आप वास्तव में यादृच्छिक संख्या कैसे उत्पन्न कर रहे हैं।
क्रेग

9
मेरे (हल्के से व्यंग्यात्मक) उत्तर की बात यह है कि यात्रा करने के लिए पैकेट में लगने वाले समय में एन्ट्रोपी एक "रैंडम" संख्या से बहुत अधिक है, जिसकी एंट्रोपी आप किसी थर्ड-पार्टी सर्वर पर भरोसा करते हैं।
R .. गिटहब स्टॉप हेल्पिंग ICE

5
@Pacerier: कोई भी बुद्धिमान अपने स्वयं के क्रिप्टो नहीं लिखता, जब तक कि वे एक विशेषज्ञ न हों। यह आपके प्लेनटेक्स्ट को वेब सेवा पर भेजने और सिफरटेक्स्ट वापस पाने से अलग है। इसी तरह, आप शायद अपने स्वयं के क्वांटम यादृच्छिकता प्रणाली को डिजाइन करने का प्रयास नहीं करना चाहते हैं, लेकिन HTTP के माध्यम से आपको यादृच्छिक संख्या में भेजना विश्वसनीय नहीं है।
डेविड थॉर्नले

1
@Pacerier लेकिन आपने अभी भी यह नहीं दिखाया है कि कभी-कभार एंट्रोपी इंजेक्शन (स्थानीय एन्ट्रोपी स्रोतों से) के साथ एक स्थानीय PRNG का उपयोग करने का विकल्प क्यों संभव नहीं है।
कोडइन्चोस

1
@ स्पेसर: इस पर मेरा विश्वास करो: आपको अर्थशास्त्र सिमुलेशन के लिए वास्तविक यादृच्छिक संख्याओं की आवश्यकता नहीं है। एक अच्छा छद्म- (या अर्ध-, यदि आप समान वितरण की परवाह करते हैं) यादृच्छिक जनरेटर पर्याप्त होगा। समस्याएँ कहीं और झूठ हैं (उदाहरण के लिए: आप चाहते हैं कि संख्याएँ कई आयामों में असंबंधित हों - आपको कैसे पता चलेगा कि आप जिस वेबसाइट का उपयोग करते हैं, वह यह जांचने के लिए भी परेशान है कि उनकी संख्या 20-आयामी स्थान कैसे भरें?)।
मात्रा_देव

1

यहाँ एक और क्वांटम आधारित जनरेटर है, जिसमें बाकी एपीआई कम नहीं है:

http://photonics.anu.edu.au/qoptics/Research/qrng.php

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

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.