/ / क्या रूबी की रैंड () जुआ खेलों के लिए पर्याप्त है? - रूबी, यादृच्छिक

रूबी है रैंड () जुआ खेल के लिए काफी अच्छा है?-रूबी, यादृच्छिक

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

  • समान वितरण (यानी संख्या 1-10 1-10 समान रूप से संभव है)
  • अप्रत्याशित (सभी परिणाम सार्वजनिक हैं, और यदि डेटाटाइंड किया गया है, तो अभी भी परिणामों की भविष्यवाणी करने में सक्षम नहीं होना चाहिए)

आवेदन पैसे के साथ सौदा करता है, इसलिए यह गंभीर रूप से महत्वपूर्ण है कि परिणाम अप्रत्याशित रहते हैं और समान रूप से वितरित होते हैं।

क्या नियमित छद्म-यादृच्छिक जनरेटर इस नौकरी को फिट करेंगे या आपको क्रिप्टोग्राफिक रूप से मजबूत आरएनजी की आवश्यकता होगी? रूबी का डिफ़ॉल्ट रैंड () काम करेगा? कुछ देखने के लिए?

यदि नहीं, तो आप किस समाधान का सुझाव देंगे?

संपादित करें: रूबी 2.0.0 यादृच्छिक http://www.ruby-doc.org/core-2.0.0/Random.html

उत्तर:

जवाब के लिए 2 № 1

रुबी का डिफॉल्ट रैंड मेर्सन ट्विस्टर एल्गोरिदम का उपयोग करता है। पीआरएनजी की आंतरिक स्थिति, हालांकि मामूली बड़ी, और नहीं सरल हैक करने के लिए, सिद्धांत में इतना छोटा है कि सिर्फ एक1 से 10 के कुछ दर्जन मूल्य अपने राज्य को निर्धारित करने के लिए पर्याप्त होंगे, इसलिए आपकी चिंताएं निराधार नहीं हैं। (अद्यतन: स्पष्ट रूप से आंतरिक राज्य भी वापस आने वाले मूल्यों में "लीक" करता है, जिससे हैकिंग को और भी आसान बना दिया जाता है)

मैं सुझाव दूंगा कि आप इसका इस्तेमाल करें SecureRandom, क्योंकि यह आमतौर पर या तो उपयोग करेगा /dev/urandom या यादृच्छिकता के कच्चे स्रोत के रूप में ओपन-एसएसएल लाइब्रेरी। इनमें से एक संभवतः आपके लक्षित सर्वर पर उपलब्ध है, और कोई अतिरिक्त हार्डवेयर या विशेषज्ञ पुस्तकालयों की आवश्यकता नहीं है।


आप आगे बढ़ना और मॉड्यूल में देखना चाहते हैंबाहरी स्रोत से फसल एंट्रॉपी और फिर क्रिप्टोग्राफिक हैशिंग एल्गोरिदम (बिट मानों का वितरण भी प्राप्त करने के लिए) का मिश्रण करें। रूबी मणि RealRand कुछ ऐसी सेवाओं से जुड़ता है जो इस तरह की चीज करते हैं। हालांकि मुझे रूबी में और कुछ आधुनिक नहीं मिला।

यदि आप तीसरे पक्ष की सेवाओं पर भरोसा करने के लिए चिंतित हैं, और अपने स्वयं के रूबी रैपर लिखने का समय है, तो आप एक यूएसबी डिवाइस पर भी नजर डाल सकते हैं इस तरह जो इलेक्ट्रॉनिक शोर से काम करता है।