150 / 736DICE

Dice Roll Entropy

भौतिक पासे के परिणामों से वॉलेट एंट्रॉपी

पासा नए वॉलेट के लिए यादृच्छिकता दे सकता है। लेकिन केवल फेंकने की संख्या पर्याप्त नहीं है: परिणाम यादृच्छिक होने चाहिए, निजी रहने चाहिए और सही ढंग से वॉलेट डेटा में बदलने चाहिए।

Dice Roll Entropy में सचमुच पासा फेंककर नए वॉलेट के लिए ऐसा इनपुट लिया जाता है जिसका अनुमान लगाना कठिन हो। वॉलेट बिटकॉइन पाने और भेजने वाला ऐप या उपकरण है। निजी कुंजियाँ गुप्त संख्याएँ हैं, जिनसे बिटकॉइन खर्च करने की अनुमति दी जाती है। अन्ना की कल्पना करें: संख्या गढ़ने के बजाय वह वास्तविक परिणाम सही क्रम में सत्यापित ऑफलाइन प्रक्रिया को देती है। यही डेटा उसके bitcoin की कुंजियों का आधार बनता है। यहाँ एंट्रॉपी उस व्यक्ति की अनिश्चितता बताती है जो परिणाम नहीं जानता और उन्हें बूझने की कोशिश करता है। पासा तभी उपयोगी है जब पर्याप्त बार स्वतंत्र रूप से फेंका जाए और परिणाम गुप्त रहें। अधिक रिकवरी शब्द या लंबा डिजिटल फिंगरप्रिंट कमजोर या सार्वजनिक इनपुट को नहीं बचाते। नीचे की गणनाएँ कारण समझाती हैं, अपना जनरेटर बनाने का न्योता नहीं हैं।

बिट सूचना की इकाई है। सभी विकल्प बराबर संभावित हों तो हर अतिरिक्त बिट हमलावर के अनुमान लगाने वाले विकल्पों को दोगुना करता है। इसका अर्थ पासे पर एक बिंदु या बैकअप में एक शब्द बढ़ना नहीं है। निष्पक्ष छह-पक्षीय पासे के छह समान संभावना वाले परिणाम होते हैं। दो स्वतंत्र फेंकों के 36 संभावित जोड़े होते हैं। बिटों में यह प्रति फेंक log2(6) ≈ 2.585 है। इन आदर्श स्थितियों में 50 फेंक लगभग 129.25 बिट, 99 फेंक 255.91 और 100 फेंक 258.50 देते हैं। COLDCARD व्यावहारिक 256-बिट लक्ष्य के लिए 99 फेंक बताता है, लेकिन गणित में यह 256 से थोड़ा कम है। केवल गिनती करने से पासे की गुणवत्ता या रूपांतरण के पूरी तरह समान वितरण की पुष्टि नहीं होती। [1] [3] [5]

कोई पक्ष अधिक बार आता हो तो हमलावर बेहतर अनुमान लगा सकता है। सबसे संभावित पक्ष की संभावना 1/2 हो, तो एक फेंक सिर्फ 1 बिट min-entropy देती है। Min-entropy अप्रत्याशितता को हमलावर के सबसे अच्छे एकल अनुमान के आधार पर मापती है। सूत्र Hmin=−log2(pmax) इसी सबसे संभावित परिणाम की संभावना pmax का इस्तेमाल करता है। अलग फेंकों के मान जोड़ने के लिए उचित स्वतंत्रता चाहिए। पिछला परिणाम कॉपी करना नई स्वतंत्र फेंक की जगह नहीं लेता। और जिसे पूरी शृंखला मालूम है, उसे अनुमान लगाना ही नहीं पड़ता। [4]

केवल फेंकों से बने वॉलेट में पूरी शृंखला या अंतिम hash, यानी उस डेटा से निकला डिजिटल फिंगरप्रिंट, उसे फिर से बनाने के लिए पर्याप्त हो सकते हैं। मिश्रण में उपकरण के इनपुट भी संवेदनशील होते हैं। वास्तविक फेंक ऑनलाइन जाँच उपकरण में न डालें और उनकी तस्वीर न लें। गणना के लिए अलग परीक्षण वॉलेट रखें, जिसमें कभी पैसे न भेजें; असली वॉलेट के लिए नए निजी इनपुट इस्तेमाल करें। क्लिपबोर्ड और लॉग डेटा सँभालकर रख सकते हैं। अंतिम Seed Phrase, यानी शब्दों में लिखे बैकअप, को सुरक्षित रखें और रिकवरी जाँचें। यदि passphrase भी इस्तेमाल करते हैं तो रिकवरी के लिए वह भी जरूरी है। यह अतिरिक्त रहस्य उन्हीं शब्दों से एक अलग वॉलेट बनाने में काम आता है। [1] [2]

सार्वजनिक परीक्षण उदाहरण से परिणाम मिलने पर एन्कोडिंग, hash और रूपांतरण की पुष्टि होती है। इससे आपका पासा या उपकरण सही काम करता है, यह साबित नहीं होता। अच्छी दिखने वाली छोटी शृंखला भी अप्रत्याशितता नहीं साबित करती। NIST SP800-90B स्रोत के मॉडल, min-entropy अनुमान और काम करने की जाँचों में अंतर करता है। घर पर फेंकों की शृंखला इस मानक का प्रमाणन नहीं है; मनगढ़ंत संख्याएँ या दोहराया पैटर्न वास्तविक फेंकों की जगह नहीं लेते। [3] [4]

ASCII बताता है कि अंकों को कंप्यूटर में कैसे लिखा जाता है; newline पंक्ति के अंत का चिह्न है। सटीक लिखावट जरूरी है क्योंकि कंप्यूटर दिए गए चिह्न पढ़ता है, उनका मानवीय अर्थ नहीं। COLDCARD के दस्तावेज़ों के अनुसार, Dice Rolls Only मोड में ASCII अंक श्रृंखला पर SHA-256 की गणना की जाती है। अंतिम newline रहित सार्वजनिक परीक्षण 123456 का हैश 8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92 है। छह आदर्श यादृच्छिक फेंक भी करीब 15.51 बिट देते, जबकि यह प्रकाशित श्रृंखला बिल्कुल गुप्त नहीं। 256-बिट आउटपुट एंट्रॉपी की कमी पूरी नहीं करता; दूसरा इनपुट कूटांकन परिणाम बदल सकता है। [1] [3]

अगले सूत्र में d1 और d2 पहले और दूसरे फेंक के परिणाम हैं। mod भाग देने के बाद बचा शेष है। दो पूर्व-प्रतिबिंब का अर्थ है कि दो अलग मूल मान एक ही परिणाम तक पहुँचते हैं और उसकी संभावना बढ़ाते हैं। शैक्षिक उदाहरण में दो निष्पक्ष स्वतंत्र फेंक को x=6*(d1−1)+(d2−1), यानी 0 से 35, में बदलें। x mod32 मान 0 से 3 को बढ़त देता है क्योंकि प्रत्येक के दो पूर्व-प्रतिबिंब हैं। Rejection Sampling इसके बदले 32 से 35 अस्वीकार कर जोड़ी दोहराता है; स्वीकृत 0 से 31 पाँच समान-वितरित बिट देते हैं। यह रूपांतरण की गलती समझाता है, सत्यापित वॉलेट जनरेटर का विकल्प नहीं। [3]

1 अक्टूबर 2026 को संशोधित COLDCARD दस्तावेज हार्डवेयर यादृच्छिकता रहित Dice Rolls Only को उस मानक निर्माण से अलग करता है जो उपकरण मान को भौतिक पासे या सिक्के के परिणामों से मिलाता है। verify_seed_mix.py दूसरे मोड को, rolls.py और rolls12.py पहले को जाँचते हैं। उपकरण मान भी इनपुट हो तो केवल फेंकों से मिलान नहीं हो सकता; सटीक प्रक्रिया और फर्मवेयर संस्करण चुनें। [1]

BIP39 इनपुट बिटों को रिकवरी शब्दों में बदलने और फिर उन शब्दों से सीड, यानी कुंजियों का शुरुआती डेटा, निकालने की प्रक्रिया बताता है। Checksum नकल की कुछ गलतियाँ पकड़ने में मदद करता है; passphrase एक वैकल्पिक अतिरिक्त रहस्य है। नीचे अंत में दिया एल्गोरिदम शब्दों और passphrase से सीड निकालता है। BIP39 में 128 इनपुट बिट में चार checksum बिट जोड़कर 132 बिट को 11-11 के 12 समूहों में बाँटा जाता है; 256 बिट और आठ जाँच बिट से 24 शब्द बनते हैं। Checksum व्युत्पन्न है, नई यादृच्छिकता नहीं। बाद में PBKDF2-HMAC-SHA512 वाक्यांश और passphrase से 512-बिट सीड बनाता है, लेकिन 512 लंबाई कमजोर फेंकों को मजबूत नहीं करती। शब्द प्रारूप, इनपुट एंट्रॉपी और व्युत्पन्न सीड अलग परतें हैं। [2]

पूरी तस्वीर के लिए इस प्रविष्टि के साथ यह भी पढ़ें Cryptographic Entropy, Entropy Bit, BIP 39, Seed Phrase, Entropy Mixing, CSPRNG. इस प्रविष्टि का उल्लेख यहाँ भी है Cryptographic Entropy, COLDCARD RNG Incident (2026).

DOC · 001COLDCARD — Verifying Seed Mixingदस्तावेज़ DOC · 002BIP 39 — Mnemonic code for generating deterministic keysविनिर्देश DOC · 003RFC 4086 — Randomness Requirements for Securityविनिर्देश DOC · 004NIST SP 800-90B — Entropy Sources for Random Bit Generationविनिर्देश DOC · 005Bitcoin Developer Guide — Walletsदस्तावेज़
समीक्षा की गई: स्रोत पहले · यह निवेश सलाह नहीं है