वास्तविक randomness बनाम pseudorandomness
हार्डवेयर entropy स्रोतों और सॉफ़्टवेयर PRNG के बीच अंतर समझें।
वास्तविक randomness बनाम pseudorandomness, CoddyKit पर Cryptology Academy का एक निःशुल्क पाठ है। यह 4 में से 1वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह Cryptology Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Cryptology Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
यादृच्छिकता क्यों महत्वपूर्ण है
क्रिप्टोग्राफ़िक सुरक्षा मूल रूप से अप्रत्याशितता पर निर्भर करती है। यदि कोई हमलावर आपकी कुंजी, IV या नॉन्स का अनुमान लगा सकता है — चाहे आंशिक रूप से ही — तो पूरी क्रिप्टोग्राफ़िक प्रणाली ध्वस्त हो सकती है। कमजोर यादृच्छिकता के कारण वास्तविक दुनिया में विनाशकारी सुरक्षा-भंग हुए हैं।
वास्तविक यादृच्छिक संख्या जनित्र (TRNG)
TRNG भौतिक एंट्रॉपी एकत्र करते हैं: प्रतिरोधकों में तापीय शोर, विपरीत-बायस वाले डायोडों में शॉट शोर, रेडियोधर्मी क्षय, माउस की गतिविधियाँ, कुंजी-दबाने के समय और डिस्क के खोज-विलंब। ये वास्तव में अप्रत्याशित भौतिक घटनाएँ हैं।
एंट्रॉपी पूल
OS एक एंट्रॉपी पूल बनाए रखता है — यह भौतिक शोर के नमूनों का संग्रह होता है, जिन पर XOR करके फिर एक साथ हैश किया जाता है। Linux में /dev/random और /dev/urandom इसी पूल से मान लेते हैं। प्रणाली के चलते रहने पर पूल लगातार भरता रहता है।
छद्म-यादृच्छिक संख्या जनित्र (PRNG)
PRNG, जिसे नियतात्मक RNG / DRNG भी कहा जाता है, एक नियतात्मक एल्गोरिदम का उपयोग करके छोटे बीज को छद्म-यादृच्छिक बाइटों की लंबी धारा में विस्तारित करता है। समान बीज दिए जाने पर यह समान परिणाम उत्पन्न करता है। वास्तविक एंट्रॉपी से बीजित किए बिना यह क्रिप्टोग्राफी के लिए उपयुक्त नहीं है।
PRNG बनाम CSPRNG
PRNG में पहचाना जा सकने वाला सांख्यिकीय झुकाव हो सकता है या देखे गए परिणाम से उसका अनुमान लगाया जा सकता है। क्रिप्टोग्राफ़िक रूप से सुरक्षित PRNG (CSPRNG) दो गुण जोड़ता है: (1) अग्र सुरक्षा — वर्तमान स्थिति से पिछले परिणाम का अनुमान न लगाया जा सके; और (2) पश्च-पदचिह्न प्रतिरोध — पिछले परिणाम से भविष्य के परिणाम का अनुमान न लगाया जा सके।
भेदकर्ता परीक्षण
PRNG क्रिप्टोग्राफ़िक रूप से सुरक्षित तब होता है जब कोई भी बहुपद-समय एल्गोरिदम उसके परिणाम और वास्तविक यादृच्छिक अनुक्रम के बीच 1/2 से उल्लेखनीय रूप से बेहतर संभावना के साथ अंतर न कर सके। इसे अगले-बिट की अप्रत्याशितता का मानदंड कहा जाता है।
विभिन्न मंचों पर एंट्रॉपी के स्रोत
Linux: /dev/urandom (प्रारंभिक बीज-निर्धारण के बाद अवरुद्ध नहीं होता), getrandom() सिस्टम कॉल। Windows: CryptGenRandom(), BCryptGenRandom(). macOS/iOS: SecRandomCopyBytes(). ब्राउज़र: window.crypto.getRandomValues(). ये सभी OS के एंट्रॉपी पूल में योगदान देते हैं।
सांख्यिकीय परीक्षण
NIST SP 800-22 यादृच्छिकता के लिए 15 सांख्यिकीय परीक्षण देता है: आवृत्ति, ब्लॉक आवृत्ति, रन, Maurer का सार्वभौमिक परीक्षण, रैखिक जटिलता आदि। सांख्यिकीय परीक्षणों में सफल होना क्रिप्टोग्राफ़िक सुरक्षा सिद्ध नहीं करता — यह केवल स्पष्ट झुकाव के अभाव को दर्शाता है।
बीज की गुणवत्ता
कमजोर एंट्रॉपी, जैसे वर्तमान समय को सेकंडों में लेना, से बीजित किया गया CSPRNG पूर्वानुमेय होता है। बीज जानने वाला हमलावर पूरे परिणाम का पुनर्निर्माण कर सकता है। हमेशा OS की एंट्रॉपी से बीज निर्धारित करें: Python में os.urandom(32) का उपयोग करें, time.time() या random.random() का नहीं।
हार्डवेयर RNG
Intel RDRAND (x86 निर्देश) चिप पर मौजूद TRNG से हार्डवेयर द्वारा बनाए गए यादृच्छिक बाइट लौटाता है। AMD और ARM के समकक्ष हार्डवेयर भी उपलब्ध हैं। Linux RDRAND को /dev/urandom में मिलाता है। भरोसे से जुड़ी चिंताओं के कारण इसका उपयोग पूरक एंट्रॉपी के रूप में किया जाता है, एकमात्र स्रोत के रूप में नहीं।
क्वांटम यादृच्छिक संख्या जनित्र
क्वांटम यादृच्छिक संख्या जनित्र फोटॉन के आगमन-समय और निर्वात में होने वाले उतार-चढ़ाव जैसी क्वांटम-यांत्रिक घटनाओं का उपयोग करके प्रमाणित रूप से यादृच्छिक परिणाम देते हैं। वाणिज्यिक क्वांटम यादृच्छिक संख्या जनित्र (ID Quantique, Quantis) का उपयोग उच्च-सुरक्षा अनुप्रयोगों में किया जाता है। सामान्य उपयोग के लिए इनकी लागत बहुत अधिक है।
त्वरित जाँच
CSPRNG को सामान्य PRNG से अलग करने वाला गुण क्या है?
पुनरावलोकन
TRNG भौतिक एंट्रॉपी एकत्र करते हैं; PRNG किसी बीज को नियतात्मक रूप से विस्तारित करते हैं; CSPRNG वास्तविक यादृच्छिकता से अप्रभेद्य होते हैं। OS के एंट्रॉपी पूल दोनों को मिलाते हैं। अगला विषय: व्यवहार में उपयोग किए जाने वाले विशिष्ट CSPRNG रूपांकन।
एआई शिक्षक के साथ Cryptology Academy सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 67
- पाठ
- 261
अक्सर पूछे जाने वाले प्रश्न
क्या “वास्तविक randomness बनाम pseudorandomness” पाठ निःशुल्क है?
हाँ—“वास्तविक randomness बनाम pseudorandomness” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और Cryptology Academy पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। Cryptology Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“वास्तविक randomness बनाम pseudorandomness” में मैं क्या सीखूँगा?
हार्डवेयर entropy स्रोतों और सॉफ़्टवेयर PRNG के बीच अंतर समझें। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Cryptology Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या Cryptology Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Cryptology Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 1वाँ पाठ है।
“वास्तविक randomness बनाम pseudorandomness” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस Cryptology Academy पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर Cryptology Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- वास्तविक randomness बनाम pseudorandomness
- क्रिप्टोग्राफ़िक रूप से सुरक्षित PRNG
- Entropy की कमी और कमज़ोर-कुंजी बग
- कुंजियाँ, nonces और IV सुरक्षित रूप से बनाना