147 / 691SSS

Shamir Secret Sharing

تقاسم السر بعتبة وفق شامير

يقسم Shamir Secret Sharing سرًا واحدًا إلى حصص؛ تستعيده عتبة مختارة، بينما لا يغيّر العدد الأقل المعرفة بالسر في النموذج المثالي.

Shamir Secret Sharing بناء نشره Adi Shamir عام 1979. يرمّز السر كثابت لكثيرة حدود عشوائية على حقل منتهٍ؛ وليس تقطيعًا لعبارة ولا بروتوكول توقيع بحد ذاته.

يستعيد مخطط k من n السر من أي k حصص صالحة ومختلفة من المجموعة نفسها. يتحمل فقدان n−k حصة، لكنه يسمح أيضًا لـk حائزين متعاونين بالحصول على السر. مثلًا يتحمل 3 من 5 فقدان حصتين لا ثلاثًا. توازن العتبة بين الإتاحة وحجم المجموعة القادرة على الاستعادة. [Adi Shamir — How to Share a Secret (1979)]

للسر S نختار f(x)=S+a1*x+…+a(k−1)*x^(k−1). المعاملات الأخرى عناصر حقل مستقلة وعشوائية بتوزيع منتظم. الحصة زوج (x,f(x)) بقيمة x مختلفة وغير صفرية؛ إذ يكشف x=0 السر S مباشرة. يحدد استيفاء لاغرانج من k نقاط قيمة f(0). لا تضيف نسختان من النقطة نفسها معادلة أخرى. [Adi Shamir — How to Share a Secret (1979)]

للتعليم فقط نأخذ S=5 وf(x)=5+3*x mod 17. الحصص هي (1,8) و(2,11) و(3,14). تعطي الأوليان ميلًا 3 وثابتًا 8−3=5؛ وتستعيد الأزواج الثلاثة كلها 5. تتوافق (1,8) وحدها مع كل S من 0 إلى 16 إذا كان a=8−S mod 17. هذا الحقل الصغير ليس تصميم محفظة. [Adi Shamir — How to Share a Secret (1979)]

في المخطط المثالي لا تعطي أقل من k حصص كاملة معلومات عن S حتى مع حساب غير محدود. يفترض ذلك معاملات مستقلة مختارة صحيحًا ونموذج المراقبة المحدد. العشوائية الضعيفة أو إعادة استخدام المعاملات أو القنوات الجانبية أو بيانات فحص إضافية تتطلب تحليلًا منفصلًا. التقاسم لا يقوّي سرًا ضعيفًا يمكن تخمينه بوسائل أخرى. [Adi Shamir — How to Share a Secret (1979)] [SLIP-0039 — Shamir Secret-Sharing for Mnemonic Codes]

تحتاج الاستعادة إلى الحقل والترميز والفهارس وهوية المجموعة نفسها. يستخدم الحقل الأولي GF(p) المعكوسات بترديد العدد لا القسمة العشرية؛ وعمليات GF(256) تختلف عن بواقي modulo 256. يضيف SLIP-39 قائمة كلمات وبيانات وصفية ومجموعات وتشفيرًا وفحوصًا محددة. لذلك ليس ضروريًا أن تتوافق حصص برنامجين يحملان اسم Shamir. [Adi Shamir — How to Share a Secret (1979)] [SLIP-0039 — Shamir Secret-Sharing for Mnemonic Codes]

لا يوثّق الاستيفاء الأساسي أصل الحصة أو نزاهة الموزّع. قد تعيد نقطة تالفة سرًا آخر بدل مجرد الإبلاغ عن نقص. الكشف وتصحيح الأخطاء وverifiable secret sharing بنيات إضافية بافتراضات خاصة. يضيف SLIP-39 مثلًا checksum وdigest؛ ولا تُنسب هذه الإضافات تلقائيًا إلى كل Shamir Secret Sharing. [SLIP-0039 — Shamir Secret-Sharing for Mnemonic Codes] [NIST — Multi-Party Threshold Cryptography]

تُظهر الاستعادة العادية S كاملًا في بيئة واحدة قد تسرّبه. بخلاف Multisig لا ينشئ Shamir Secret Sharing مفاتيح توقيع مستقلة متعددة على السلسلة. يمكن لتوقيع العتبة استخدام بروتوكول MPC إضافي للعمل بالحصص دون تجميع المفتاح، كما تميّز NIST. التقسيم ثم الجمع وحدهما لا يحققان هذه الخاصية. [NIST — Multi-Party Threshold Cryptography]

خمسة ملفات في حساب واحد لا تفصل مخاطر الفقدان أو الاختراق. سجّل المعلمات واختبر الاستعادة على جهاز موثوق. كثيرة حدود عشوائية جديدة بالسر S نفسه تنشئ مجموعة أخرى لا ينبغي خلط حصصها بالقديمة. تظل مجموعة قديمة كافية قادرة على استعادة S؛ فإعادة التقسيم لا تلغي الحصص المكتسبة سابقًا ولا السر المسرّب. [Adi Shamir — How to Share a Secret (1979)] [Trezor — Multi-share Backup]

للحصول على صورة أوضح، اقرأ هذا المدخل مع SLIP-39, Multisig, Seed Phrase, مفتاح خاص, Bitcoin Inheritance Plan. تشير إلى هذا المدخل أيضًا SLIP-39, FROST.

DOC · 001Adi Shamir — How to Share a Secret (1979)مصدر أولي ↗DOC · 002SLIP-0039 — Shamir Secret-Sharing for Mnemonic Codesمواصفة ↗DOC · 003NIST — Multi-Party Threshold Cryptographyمصدر أولي ↗DOC · 004Trezor — Multi-share Backupتوثيق ↗
المصادر أولًا · ليست نصيحة استثمارية