147 / 691SSS

Shamir Secret Sharing

Пороговое разделение секрета Шамира

Shamir Secret Sharing делит секрет на доли: выбранный порог восстанавливает его, а меньшее число в идеальной модели не меняет знания о секрете.

Shamir Secret Sharing — конструкция Ади Шамира, опубликованная в 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) отличаются от остатков по модулю 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 не создаёт несколько независимых on-chain ключей подписи. Пороговая подпись может дополнительным протоколом 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Документация ↗
Сначала источники · Не является инвестиционной рекомендацией