146 / 691SLIP39

SLIP-39

रहस्य के बैकअप हेतु सीमा-आधारित शब्द हिस्से

SLIP-39 समूह और सदस्य सीमाओं वाले शब्द हिस्सों में रहस्य रखता है; पुनर्प्राप्ति सही संयोजन पर निर्भर है, केवल कागज़ों की संख्या पर नहीं।

SLIP-39, Shamir's Secret Sharing पर आधारित परस्पर संगत शब्द हिस्सों की SatoshiLabs विशिष्टता है। यह विभाजन, मेटाडेटा, त्रुटि जाँच और passphrase को मानकीकृत करती है; इसके हिस्से BIP 39 वाक्यांश से बदले नहीं जा सकते।

BIP 32 वॉलेट बैकअप का मुख्य रहस्य उसका इनपुट सीड है, विस्तारित निजी रूट नहीं। पहले encrypted master secret यानी EMS बनता है, फिर उसके हिस्से। गणनाएँ हर बाइट पर GF(256) में होती हैं; विशिष्टता रहस्य f(255) में और सीमा कम से कम 2 होने पर सत्यापन डाइजेस्ट f(254) में रखती है। [SLIP-0039 — Shamir Secret-Sharing for Mnemonic Codes] [BIP 32 — Hierarchical Deterministic Wallets]

पहले हर आवश्यक समूह की सदस्य सीमा पूरी करनी होती है, फिर समूह सीमा। उदाहरण: 3 में से 2 समूह, प्रत्येक में 3 में से 2 सदस्य। A के दो और B के दो हिस्से पर्याप्त हैं; A के तीन और B का एक नहीं, भले कुल चार हों। सामान्य 2-of-3 योजना एक समूह उपयोग करती है। [SLIP-0039 — Shamir Secret-Sharing for Mnemonic Codes]

सूची में 1024 अंग्रेज़ी शब्द हैं और इंटरफ़ेस की भाषा बदलने पर उनका अनुवाद नहीं होता। 128-बिट रहस्य के हिस्से 20 शब्दों के और 256-बिट के 33 शब्दों के होते हैं। हिस्से में पहचानकर्ता, extendable फ़्लैग, पुनरावृत्ति घातांक, इंडेक्स और सीमाएँ भी हैं। संयोजन में समान मेटाडेटा और अद्वितीय सदस्य इंडेक्स जाँचे जाते हैं; एक हिस्से की दो प्रतियाँ दो सदस्य नहीं हैं। [SLIP-0039 — Shamir Secret-Sharing for Mnemonic Codes]

अंतिम तीन शब्द RS1024 बनाते हैं, जो अधिकतम तीन शब्दों को प्रभावित करने वाली त्रुटियाँ निश्चित रूप से पकड़ता है। वे स्रोत या धारक का अधिकार प्रमाणित नहीं करते; विशिष्टता स्वचालित सुधार की सलाह नहीं देती। पुनर्निर्माण डाइजेस्ट गलत समूह पहचानने में मदद करता है। उसकी 32-बिट जाँच के कारण सीमा से नीचे बिल्कुल शून्य रिसाव का आदर्श दावा SLIP-39 पर बिना शर्त लागू नहीं होता। [SLIP-0039 — Shamir Secret-Sharing for Mnemonic Codes]

एन्क्रिप्शन में चार Feistel दौर हैं, हर दौर में PBKDF2-HMAC-SHA256 की 2500×2^e पुनरावृत्तियाँ। विशिष्टता मुद्रण योग्य ASCII 32–126 स्वीकारती है और passphrase न होने पर खाली स्ट्रिंग लेती है। सही passphrase सीधे सत्यापित नहीं हो सकती: दूसरी से दूसरा मुख्य रहस्य मिलता है। इसलिए वैध हिस्से इच्छित वॉलेट की पुष्टि नहीं करते; उसके ज्ञात पते जाँचें। [SLIP-0039 — Shamir Secret-Sharing for Mnemonic Codes]

BIP 39 की शब्द-सूची, चेकसम और वाक्यांश से सीड रूपांतरण अलग हैं। उसके शब्दों को कागज़ों में बाँटने से SLIP-39 या उसकी सीमा-सुरक्षा नहीं बनती। माइग्रेशन में वही वॉलेट बनाए रखने के लिए सही BIP 32 सीड और व्युत्पत्ति संदर्भ बचाना होगा; मूल एंट्रॉपी को दूसरे शब्दों में बदलना इसकी गारंटी नहीं। विशिष्ट समर्थित प्रक्रिया सत्यापित करें। [SLIP-0039 — Shamir Secret-Sharing for Mnemonic Codes] [BIP 39 — Mnemonic code for generating deterministic keys]

extendable फ़्लैग 1 होने पर एन्क्रिप्शन सॉल्ट में पहचानकर्ता शामिल नहीं होता। इससे passphrase जाने बिना उसी EMS को नए पहचानकर्ता के साथ दोबारा बाँट सकते हैं। Trezor संगत एक-हिस्से वाले बैकअप को कई हिस्सों तक बढ़ाना बताता है। नया सेट पुराने को अमान्य नहीं करता; पर्याप्त पुराना संयोजन अब भी वही रहस्य वापस ला सकता है। [SLIP-0039 — Shamir Secret-Sharing for Mnemonic Codes] [Trezor — Multi-share Backup]

SLIP-39 पुनर्प्राप्ति में एक रहस्य फिर से जोड़ता है; Multisig या हर लेनदेन की ऑन-चेन स्वीकृति नहीं बनाता। वितरण को साझा हानि और हमलावर द्वारा पर्याप्त संयोजन जुटाने का जोखिम घटाना चाहिए। विश्वसनीय डिवाइस पर पुनर्प्राप्ति जाँचें, passphrase तथा वॉलेट संदर्भ सुरक्षित रखें और संदर्भ कार्यान्वयन व परीक्षण वेक्टरों से संगतता सत्यापित करें। केवल हिस्सों की संख्या पर्याप्त नहीं। [SLIP-0039 — Shamir Secret-Sharing for Mnemonic Codes] [Trezor — python-shamir-mnemonic reference implementation]

पूरी तस्वीर के लिए इस प्रविष्टि के साथ यह भी पढ़ें Shamir Secret Sharing, BIP 39, Trezor, Multisig, HD Wallet. इस प्रविष्टि का उल्लेख यहाँ भी है BIP 39, Pavol “Stick” Rusnák, Shamir Secret Sharing.

DOC · 001SLIP-0039 — Shamir Secret-Sharing for Mnemonic Codesविनिर्देश ↗DOC · 002BIP 32 — Hierarchical Deterministic Walletsविनिर्देश ↗DOC · 003BIP 39 — Mnemonic code for generating deterministic keysविनिर्देश ↗DOC · 004Trezor — Multi-share Backupदस्तावेज़ ↗DOC · 005Trezor — python-shamir-mnemonic reference implementationप्राथमिक स्रोत ↗
स्रोत पहले · यह निवेश सलाह नहीं है