Brute Force Search Space उन संभावित उत्तरों का समूह है जिन्हें कोई रहस्य खोजते समय एक-एक करके आज़माया जा सकता है। मान लीजिए आप अपने ही एन्क्रिप्ट किए गए बैकअप का पासवर्ड भूल गए हैं। हर अनुमान एक संभावित उत्तर है और आपको पहचानना है कि उससे बैकअप सही तरह खुला या नहीं। समान संभावना वाले विकल्प जितने अधिक हों और उनकी जाँच जितनी महँगी हो, खोज सामान्यतः उतनी कठिन होती है। लेकिन वास्तविक वॉलेट में पहले तय करना पड़ता है कि हम खोज क्या रहे हैं।
बैकअप का पासवर्ड, बिटकॉइन खर्च करने की अनुमति देने वाली निजी कुंजी और वह इनपुट जिससे जनरेटर ने कुंजी बनाई—ये अलग-अलग चीज़ें हैं। इनके संभावित उत्तर और जाँच के तरीके भी अलग हैं। यदि दोषपूर्ण जनरेटर बहुत छोटे इनपुट समूह से ही चुनता था, तो बनी हुई कुंजी की लंबाई जितनी कठिन खोज का आभास देती है, खोज उससे आसान हो सकती है। हमलावर सभी गणितीय रूप से संभव कुंजियों के बजाय उन सीमित इनपुटों को आज़मा सकता है। इसलिए विकल्प गिनने से पहले रहस्य की उत्पत्ति समझनी चाहिए। [1] [3]
मान लीजिए 16 समान संभावना वाले विकल्प हैं और ठीक एक सही है। हम बिना दोहराए उन्हें क्रम से जाँचते हैं। कभी उत्तर जल्दी मिलता है, कभी अंत में; औसतन 8.5 विकल्प जाँचने पड़ते हैं। विकल्पों की संख्या N हो तो यह संबंध E = (N+1)/2 है। प्रति सेकंड 2 प्रयास की स्थिर गति पर औसत समय 4.25 सेकंड होगा। प्रयास का भिन्न वाला हिस्सा औसत में आता है, किसी एक खोज में नहीं। यह समझाने का मॉडल है, बिटकॉइन वॉलेट पुनर्प्राप्त करने का मापा हुआ समय नहीं। [1]
पसंदीदा शब्द, नाम और याद रखने में आसान ढाँचे यादृच्छिक संयोजनों से अधिक बार चुने जाते हैं। हमलावर इसलिए अधिक संभावित उत्तरों से शुरू कर सकता है। कुछ परिणाम अधिक बार देने वाला दोषपूर्ण जनरेटर भी ऐसी ही समस्या पैदा करता है। तब पिछले उदाहरण का औसत लागू नहीं होता। न्यूनतम एंट्रॉपी सबसे अच्छे पहले अनुमान की सफलता की संभावना बताती है, लेकिन अकेले उससे पूरी खोज का काम या सफलता का निश्चित समय नहीं मिलता। विकल्पों की संख्या के साथ उनकी संभावनाएँ न हों तो जानकारी अधूरी है। [1] [2]
किसी अनुमान को जाँचना हमेशा तत्काल नहीं होता। PBKDF2 एक फ़ंक्शन है जो पासवर्ड और अन्य इनपुटों से कुंजी निकालता है; गणना दोहराने से हर प्रयास में लगने वाला काम बढ़ता है। एक और इनपुट salt है। यह सामान्यतः सार्वजनिक डेटा होता है जो अलग-अलग कुंजी-निर्माण प्रक्रियाओं को अलग पहचान देता है। salt अलग हों तो पहले से गणना की गई उसी परिणाम-सारणी का सीधा पुनः उपयोग नहीं किया जा सकता। Salt कोई दूसरा गुप्त पासवर्ड नहीं है और मज़बूत इनपुट की जगह नहीं लेता। गति का अनुमान लगाने के लिए विशिष्ट फ़ंक्शन, उसकी सेटिंग और इस्तेमाल हुए हार्डवेयर को जानना आवश्यक है। [3]
BIP39 पुनर्प्राप्ति शब्दों और वैकल्पिक passphrase, यानी अतिरिक्त पासवर्ड, से seed बनाता है। Seed कुंजियाँ निकालने के लिए इस्तेमाल होने वाला गुप्त शुरुआती मान है। इसमें PBKDF2 के भीतर गणना के लिए HMAC-SHA512 का उपयोग होता है और 2048 बार गणना दोहराने से 512-बिट seed बनता है। यहाँ salt पैरामीटर “mnemonic” पाठ के बाद passphrase जोड़कर बनता है; अतिरिक्त गोपनीयता passphrase से आती है। हर passphrase एक मान्य seed बनाती है, इसलिए पुनर्प्राप्ति शब्दों का चेकसम यह पुष्टि नहीं करता कि आपने इच्छित passphrase डाली है। अपना वॉलेट पुनर्प्राप्त करते समय, उदाहरण के लिए, सही कुंजी-व्युत्पत्ति सेटिंग के साथ पहले से ज्ञात पता मिलना उसकी पहचान कर सकता है। लंबा परिणाम कमज़ोर पासवर्ड को मज़बूत नहीं बनाता। [4]
कुछ गणितीय तरीके केवल एक-एक अनुमान लगाने से अलग होते हैं। दीर्घवृत्तीय वक्र क्रिप्टोग्राफी (ECC) में निजी कुंजी से सार्वजनिक कुंजी की गणना की जा सकती है। उलटी दिशा में निजी मान खोजना कठिन कार्य है, जिसे डिस्क्रीट लॉगरिदम समस्या कहते हैं। SEC 2 में बिटकॉइन द्वारा इस्तेमाल किए जाने वाले secp256k1 वक्र के पैरामीटर दिए गए हैं। इसलिए सभी 256-बिट अनुक्रम गिन लेना सभी हमलों को शामिल नहीं करता। NIST SP 800-57 कुंजी की लंबाई और सुरक्षा-शक्ति में अंतर करता है; सुरक्षा-शक्ति दिए गए अनुमानों के तहत सुरक्षा तोड़ने के लिए आवश्यक मेहनत का अनुमान है। गणितीय तरीका मौजूद होने का अर्थ यह नहीं कि उसे व्यावहारिक रूप से आसानी से चलाया जा सकता है। [5] [6]
अधिक प्रोसेसर स्वतंत्र प्रयास बाँट सकते हैं, लेकिन लाभ मेमोरी और गणना की व्यवस्था पर भी निर्भर करता है। माइनिंग hashrate माइनिंग की गणनाएँ मापता है, PBKDF2 या ECC ऑपरेशन की गति नहीं। वेबसाइट में लॉगिन और बैकअप की कॉपी में भी अंतर है। कोई सेवा गलत प्रयासों के बाद पहुँच सीमित कर सकती है। लेकिन एन्क्रिप्ट की गई फ़ाइल की कॉपी रखने वाला व्यक्ति अपने उपकरण पर ऑफलाइन अनुमान जाँच सकता है। वेबसाइट की लॉगिन सीमा अकेले इन प्रयासों को नहीं रोकती। [3] [6]
जिसे पूरा seed मिल गया, उसे विकल्पों का विशाल समूह खँगालने की आवश्यकता नहीं है। दुर्भावनापूर्ण सॉफ़्टवेयर या कुंजियों से काम करने वाले प्रोग्राम की त्रुटि भी ऐसा ही परिणाम ला सकती है। इसलिए सुरक्षा केवल अप्रत्याशित रहस्य चुनने तक सीमित नहीं है; उसे रखने और इस्तेमाल करने का तरीका भी महत्त्वपूर्ण है। सुरक्षा तोड़ने के समय का दावा सुनें तो पूछें: किस हमले को माना गया है, हमलावर पहले से क्या जानता है और गति कैसे मापी गई है? बड़ी संख्या अकेले उपकरण की सुरक्षा की गारंटी नहीं देती और यह मॉडल खोए हुए वॉलेट की सफल पुनर्प्राप्ति का वादा नहीं करता। [6]
पूरी तस्वीर के लिए इस प्रविष्टि के साथ यह भी पढ़ें Cryptographic Entropy, Entropy Bit, Private Key, Seed Phrase. इस प्रविष्टि का उल्लेख यहाँ भी है Entropy Bit, Random Number Generator.