Fortuna (PRNG)
फॉर्च्यून ब्रूस श्नेयर और नील्स फर्ग्यूसन द्वारा तैयार और 2003 में प्रकाशित एक क्रिप्टोग्राफिक रूप से सुरक्षित छद्म संख्या जनरेटर (पी. आर. एन. जी.) है। इसका नाम संयोग की रोमन देवी फोर्टुना के नाम पर रखा गया है। फ्रीबीएसडी/देव/यादृच्छिक के लिए फॉर्च्यून का उपयोग करता है और/देव/उरंडम प्रतीकात्मक रूप से फ्रीबीएसडी 11 के बाद से इससे जुड़ा हुआ है। 2020 की पहली तिमाही के बाद से ऐप्पल ओएस फॉर्च्यून में बदल गए हैं। डिजाइन फॉर्च्यून सुरक्षित पी. आर. एन. जी. का एक परिवार है; इसका डिजाइन कार्यान्वयनकर्ताओं के लिए कुछ विकल्प खुला छोड़ता है। यह निम्नलिखित टुकड़ों से बना हैः जनरेटर स्वयं, जो एक बार बोने के बाद छद्म-यादृच्छिक डेटा की अनिश्चित मात्रा का उत्पादन करेगा। एन्ट्रापी संचायक, जो वास्तव में विभिन्न स्रोतों से यादृच्छिक डेटा एकत्र करता है और पर्याप्त नई यादृच्छिकता आने पर जनरेटर का शोध करने के लिए इसका उपयोग करता है। सीड फाइल, जो कंप्यूटर को बूट होते ही यादृच्छिक संख्या उत्पन्न करने में सक्षम बनाने के लिए पर्याप्त स्थिति संग्रहीत करती है। जनरेटर जनरेटर किसी भी अच्छे ब्लॉक साइफर पर आधारित होता है। प्रैक्टिकल क्रिप्टोग्राफी एईएस, सर्पेंट या टूफिश का सुझाव देती है। मूल विचार काउंटर मोड में साइफर को चलाना है, एक वृद्धिशील काउंटर के क्रमिक मूल्यों को एन्क्रिप्ट करना। 128-बिट ब्लॉक साइफर के साथ, यह यादृच्छिकता से सांख्यिकीय रूप से पहचान योग्य विचलन उत्पन्न करेगा; उदाहरण के लिए, 264 वास्तव में यादृच्छिक 128-बिट ब्लॉक उत्पन्न करने से औसतन लगभग एक जोड़ी समान ब्लॉक का उत्पादन होगा, लेकिन काउंटर मोड में 128-बिट साइफर द्वारा उत्पादित पहले 2128 में से कोई भी दोहराए गए ब्लॉक नहीं हैं। इसलिए, कुंजी को समय-समय पर बदला जाता हैः बिना किसी कुंजी परिवर्तन के 1 एम. आई. बी. से अधिक डेटा (216 128-बिट ब्लॉक) उत्पन्न नहीं होता है। पुस्तक बताती है कि 256-बिट (या अधिक) ब्लॉक आकार वाले ब्लॉक साइफर, जिन्हें उस समय ज्यादा लोकप्रियता नहीं मिली थी, में यह सांख्यिकीय समस्या नहीं है। प्रत्येक डेटा अनुरोध के बाद कुंजी को भी बदल दिया जाता है (चाहे वह कितना भी छोटा क्यों न हो), ताकि भविष्य की कुंजी समझौता पिछले जनरेटर आउटपुट को खतरे में न डाले। इस गुण को कभी-कभी "फास्ट की इरेजर" या फॉरवर्ड सीक्रेसी के रूप में वर्णित किया जाता है। एन्ट्रापी संचायक एन्ट्रापी के परिष्कृत (और अनिवार्य रूप से अविश्वसनीय) अनुमानकों की आवश्यकता के बिना, एन्ट्रापी संचायक को "इंजेक्शन" हमलों के खिलाफ प्रतिरोधी होने के लिए डिज़ाइन किया गया है। एन्ट्रापी के कई "पूल" हैं; प्रत्येक एन्ट्रापी स्रोत अपनी कथित एन्ट्रापी को पूल पर समान रूप से वितरित करता है; और (यहाँ प्रमुख विचार है) जनरेटर के nवें रीसाइडिंग पर, पूल k का उपयोग केवल तभी किया जाता है जब n 2k का गुणक हो। इस प्रकार, के. टी. एच. पूल का उपयोग केवल आधे समय के लिए किया जाता है। दूसरे शब्दों में, उच्च संख्या वाले पूल, (1) कम बार रीसडिंग में योगदान करते हैं लेकिन (2) रीसडिंग के बीच बड़ी मात्रा में एन्ट्रापी एकत्र करते हैं। एस. एच. ए.-256 के दो पुनरावृत्तियों का उपयोग करके ब्लॉक साइफर की में निर्दिष्ट एन्ट्रापी पूल को हैश करके पुनः सीडिंग की जाती है। जब तक कोई हमलावर प्रणाली में बहने वाले कथित एन्ट्रापी के सभी स्रोतों को नियंत्रित करने में सक्षम नहीं होता है (इस मामले में कोई एल्गोरिथ्म इसे समझौते से नहीं बचा सकता है), तब तक कुछ k होगा जिसके लिए kth पूल रिसीडिंग के बीच पर्याप्त एन्ट्रापी एकत्र करता है जो उस पूल के साथ एक रिसीडिंग सुरक्षा सुनिश्चित करता है। और उस पूल का उपयोग विचाराधीन एन्ट्रापी की मात्रा के आनुपातिक अंतराल पर किया जाएगा। इसलिए, प्रणाली हमेशा एक इंजेक्शन हमले से उबर जाएगी, और ऐसा करने में लगने वाला समय सैद्धांतिक समय की तुलना में अधिक से अधिक एक स्थिर कारक है, यदि हम यह पहचानने में सक्षम थे कि एन्ट्रापी के कौन से स्रोत भ्रष्ट थे और कौन से नहीं। यह निष्कर्ष पर्याप्त पूल होने पर निर्भर करता है। फॉर्च्यून 32 पूल का उपयोग करता है, और प्रति सेकंड अधिकतम 10 बार पुनः बीजन को प्रतिबंधित करता है। पूल से बाहर निकलने में लगभग 13 साल लगेंगे, जिसे फर्ग्यूसन और श्नाइयर व्यावहारिक उद्देश्यों के लिए काफी लंबा मानते हैं। अधिक विभ्रमकारी कार्यान्वयनकर्ता, या जिन्हें एक विशाल दर पर यादृच्छिक डेटा के उत्पादन की आवश्यकता होती है और तदनुसार बार-बार पुनः बीजन की आवश्यकता होती है, वे बड़ी संख्या में पूल का उपयोग कर सकते हैं। वैकल्पिक फॉर्च्यूना ज्यादातर एन्ट्रापी संचायक को संभालने में श्नायर, केल्सी और फर्ग्यूसन के पहले के यारो एल्गोरिदम परिवार से अलग है। यारो को आपूर्ति की गई वास्तविक एन्ट्रापी का अनुमान लगाने के लिए एक तंत्र के साथ एन्ट्रापी के प्रत्येक स्रोत की आवश्यकता होती है, और केवल दो पूल का उपयोग किया जाता है; और इसके सुझाए गए अवतार (जिसे यारो-160 कहा जाता है) ने पुनरावृत्त SHA-256 के बजाय SHA-1 का उपयोग किया। विश्लेषण 2014 में फॉर्च्यून का एक विश्लेषण और प्रस्तावित सुधार किया गया था। ब्लम ब्लम शुब क्रिप्टजेनरैंडम यादृच्छिक संख्या जनरेटर हमला यारो एल्गोरिथ्म संदर्भ जनरल नील्स फर्ग्यूसन और ब्रूस श्नायर, 2003 में विली द्वारा प्रकाशित व्यावहारिक क्रिप्टोग्राफी भी देखें। जॉन विएगा, "प्रैक्टिकल रैंडम नंबर जेनरेशन इन सॉफ्टवेयर", एसीएसएसी, पीपी। 129, 19वां वार्षिक कंप्यूटर सुरक्षा अनुप्रयोग सम्मेलन (एसीएसएसी '03), 2003 बाहरी लिंक स्यूडोरैंडम नंबर जनरेटर क्रिप्टोग्राफिक रूप से सुरक्षित स्यूडोरैंडम नंबर जनरेटर