Перейти к содержимому
ecdsa.com

Схема разделения секрета Шамира

Схема Ади Шамира (1979): секрет делится на n долей с помощью случайного многочлена, и любые k долей восстанавливают его, а любые k − 1 не раскрывают ничего.
Другие написанияShamir's secret sharingSSSsecret splittingm-of-n

Секрет — свободный член случайного многочлена степени k − 1 над конечным полем; каждая доля — значение многочлена в отдельной ненулевой точке, а интерполяция Лагранжа по любым k долям восстанавливает свободный член. Реализации обычно работают побайтно в GF(2⁸), поэтому длина каждой доли равна длине секрета плюс индекс. Стойкость информационно-теоретическая: меньше k долей не дают никакой информации, какой бы вычислительной мощностью ни обладал противник.

Схема Шамира в чистом виде не обеспечивает целостность: повреждённая или вредоносная доля молча приводит к восстановлению неверного секрета, поэтому практические схемы добавляют контрольную сумму или дайджест секрета либо используют проверяемое разделение секрета (Фельдман, Педерсен). Кроме того, при разделении и при восстановлении весь секрет неизбежно оказывается в одном месте; пороговые подписи избегают этого, потому что ключ в них никогда не восстанавливается.

Применения: церемонии с ключами HSM и CA (карты операторов по схеме m из n), резервные копии корневых ключей и ключей восстановления, резервные копии кошельков SLIP-39 и ключи распечатывания (unseal keys) в HashiCorp Vault. Инструмент разделения секрета Шамира разделяет и объединяет секреты локально в браузере.

Стандарты и ссылки

Все термины