क्रिप्टोग्राफी में एंट्रॉपी उस अनिश्चितता को बताती है जो किसी गुप्त मान का अनुमान लगाते समय हमलावर के लिए बची रहती है। Bitcoin वॉलेट में कुंजियों का आधार बनते समय से ही यह अहम है। बात यह नहीं कि अक्षर कितने जटिल दिखते हैं, बल्कि यह है कि वास्तव में कितने नतीजे संभव थे, हर नतीजे की संभावना कितनी थी और हमलावर प्रक्रिया के बारे में क्या जानता है।
मान लीजिए कोई वॉलेट बनाने की तारीख और समय से रहस्य तैयार करता है। एन्कोड करने के बाद वह अक्षरों की लंबी उलझी हुई लड़ी दिख सकता है। लेकिन अगर हमलावर को लगभग समय और तरीका पता हो, तो उसे शायद थोड़ी-सी संभावनाएँ ही आज़मानी पड़ें। लिखावट लंबी होने से उसका काम ज़रूरी नहीं कि कठिन हो। इसीलिए RFC 4086 अनुमान न लगा पाने और केवल बेतरतीब दिखने में फर्क करता है। एक कुंजी को देखकर एंट्रॉपी नहीं आँक सकते; जानना होगा कि वह कैसे बनी। [3]
बिट डेटा लिखने की मूल इकाई है, जिसका मान 0 या 1 होता है। लेकिन बिटों की संख्या भर से यह नहीं पता चलता कि हमलावर के लिए कितनी अनिश्चितता बची है। जब वॉलेट BIP39 के अनुसार Seed Phrase बनाता है, तो पहले उसे यादृच्छिक इनपुट चाहिए। उसके बाद ही वह उसे शब्दों में बदलता है। 12 शब्दों में 128 बिट इनपुट और 4 बिट चेकसम होते हैं; 24 शब्दों में 256 बिट इनपुट और 8 बिट चेकसम। चेकसम लिखने की कुछ गलतियाँ पकड़ने में मदद करता है, लेकिन एंट्रॉपी नहीं बढ़ाता क्योंकि वह मौजूद इनपुट से निकाला जाता है। इसलिए शब्दों की लंबी सूची भी खराब तरीके से बनाई गई यादृच्छिकता को ठीक नहीं करती। बैकअप कैसे बना, यह अहम है, सिर्फ उसके शब्दों की संख्या नहीं। [4]
वॉलेट को हर नए बाइट, यानी 8 बिटों के समूह, के लिए नया भौतिक मापन करने की ज़रूरत नहीं होती। वह DRBG नाम के क्रिप्टोग्राफिक जनरेटर का उपयोग कर सकता है: ऐसा एल्गोरिदम जो गुप्त शुरुआती अवस्था से आगे के मान बनाता है। सही डिज़ाइन और इस्तेमाल होने पर, अवस्था को जाने बिना आउटपुट का अनुमान लगाना कठिन होता है। फिर भी एल्गोरिदम निर्धारक है: वही पूरी अवस्था और वही इनपुट आगे वही नतीजे देते हैं। अधिक बाइट बनाने से अपने आप अधिक नई भौतिक एंट्रॉपी नहीं बनती। शुरुआती इनपुट की गुणवत्ता और अंदरूनी अवस्था की सुरक्षा, दोनों ज़रूरी हैं। [2]
हैश फ़ंक्शन डेटा से निश्चित लंबाई की पहचान निकालता है, जो देखने में बेतरतीब लग सकती है। लेकिन जिसे इनपुट पता है, वह वही नतीजा निकाल सकता है। पूरी तरह ज्ञात इनपुट ऐसे रहस्य नहीं बन जाते। तकनीकी शब्द conditioning ऐसी प्रक्रिया को कहते हैं जो पक्षपात घटा सकती है और पहले से उपलब्ध अनिश्चितता को केंद्रित कर सकती है। यह शून्य से रहस्य पैदा करना नहीं है। कई स्रोतों की एंट्रॉपी भी अपने आप नहीं जोड़ सकते: वे आपस में जुड़े हो सकते हैं और वही जानकारी दे सकते हैं। [1] [3]
इलेक्ट्रॉनिक नॉइज़ का स्रोत खराब हो सकता है या आसपास की परिस्थितियों के साथ उसका व्यवहार बदल सकता है। इसलिए NIST SP 800-90B शुरू होते समय और संचालन के दौरान कच्चे नॉइज़ की जाँच की माँग करता है, आगे की प्रोसेसिंग से पहले। ये जाँचें खराबी के संकेत खोजती हैं; वे हर आउटपुट के सुरक्षित होने का प्रमाण नहीं हैं। डेवलपर को स्रोत, उसकी सीमाएँ और संभावित निर्भरताएँ समझनी चाहिए। खराबी मिलने पर डेटा इस्तेमाल करने वाले ऐप को बताया जाना चाहिए। खराबी बनी रहे तो स्रोत को आउटपुट देना बंद करना चाहिए। केवल “रैंडम जनरेटर” नाम वाली चिप होना पर्याप्त नहीं है। [1]
हमलावर को DRBG की अंदरूनी अवस्था मिल जाए, तो उसकी बनावट के अनुसार वह आगे के आउटपुट का अनुमान लगा सकता है। अनुमान लगाना फिर कठिन बनाने के लिए पर्याप्त नया इनपुट चाहिए, जो हमलावर को मालूम न हो। ऐसी एंट्रॉपी जोड़ने को reseeding कहते हैं। सिर्फ गणना जारी रखना या ज्ञात समय जोड़ना इस सुरक्षा की गारंटी नहीं देता। जनरेटर ठीक करने और पुराने पैसों की सुरक्षा में भी फर्क रखें: जनरेटर बहाल होने से पहले ही लीक हो चुकी कुंजी अमान्य नहीं होती। [2]
सांख्यिकीय टेस्ट, उदाहरण के लिए, संदिग्ध दोहराव दिखा सकता है। लेकिन वह पक्के तौर पर नहीं बता सकता कि हमलावर गुप्त इनपुट या आउटपुट का अनुमान लगाने का तरीका जानता है या नहीं। NIST SP 800-22 स्पष्ट रूप से यह सीमा बताता है। टेस्ट मूल्यांकन का उपयोगी हिस्सा हैं, पूरे जनरेटर के विश्लेषण का विकल्प नहीं। इसलिए बेतरतीब दिखने वाली संख्याओं से भरी फ़ाइल अकेले यह साबित नहीं करती कि वॉलेट सुरक्षित है। [5]
शुरुआत करने वाले को वॉलेट की एंट्रॉपी हाथ से गणना करने की ज़रूरत नहीं है। निर्माण की लिखित रूप में बताई गई प्रक्रिया देखना अधिक उपयोगी है: यादृच्छिकता कहाँ से आती है, कैसे प्रोसेस होती है, गलतियों पर क्या होता है और रहस्य कैसे सुरक्षित रहते हैं? NIST SP 800-90C एंट्रॉपी स्रोतों और DRBG को एक पूरे जनरेटर में जोड़ने की यही बात करता है। लेकिन किसी मानक या मशहूर चिप का नाम देना यह साबित नहीं करता कि वॉलेट का कोई खास संस्करण उसका सही इस्तेमाल करता है। असली कार्यान्वयन की वे विशेषताएँ मायने रखती हैं जिनके समर्थन में प्रमाण हों। [1] [6]
पूरी तस्वीर के लिए इस प्रविष्टि के साथ यह भी पढ़ें Entropy Bit, CSPRNG, Dice Roll Entropy, Private Key. इस प्रविष्टि का उल्लेख यहाँ भी है BIP85, Dice Roll Entropy, Entropy Bit, Brute Force Search Space.