Позволять $Е$ быть безопасной эллиптической кривой, и $G$ является базовой точкой с порядком $\ell$.
$(п,п)$ схема:
$n$ каждый из держателей ключей случайным образом выбирает закрытый ключ $x_i$, вычислить открытый ключ $X_i = [x_i]G$ и хеш-обязательство $H(X_i)$.
Владельцы ключей сначала обмениваются хеш-обязательствами, и только после того, как все хэш-обязательства будут переданы, они делятся своими открытыми ключами друг с другом.
Затем секрет шифруется с использованием ECIES с общим открытым ключом. $\sum_{i=1}^n X_i$.
Затем секрет может быть расшифрован только в том случае, если все держатели ключей соберутся вместе, чтобы объединить свои закрытые ключи для создания общего закрытого ключа. $$\sum_{i=1}^n x_i \bmod \ell$$ соответствующий совместному открытому ключу.
Если кто-то сливает свой закрытый ключ, можно легко проследить, какому открытому ключу соответствует этот закрытый ключ.
$(п,к)$, $к$-пороговая схема:
Для каждого возможного выбора $к$ из $n$ приватные ключи (количество полных возможностей будет биномиальным коэффициентом$\binom{n}{k}$), зашифровать секрет с помощью совместного открытого ключа, образованного суммированием этой комбинации открытых ключей.
Координатор может быть использован для сокращения количества коммуникаций, необходимых между сторонами.Все сообщения, отправляемые координатору, должны быть подписаны хорошо зарекомендовавшим себя общедоступным коммуникационным ключом каждого владельца закрытого ключа (это не тот же самый открытый ключ, который создается для каждого владельца закрытого ключа во время этой схемы). Ретранслируемая информация (такая как ретранслируемые обязательства и ретранслируемые открытые ключи) сохраняет подпись стороны, которая ее создала, так что получатели не должны доверять координатору.
Ключевой этап согласования протокола потребует в общей сложности $5n$ коммуникации следующим образом:
Координатор генерирует сообщение $м$ содержащий одноразовый номер, который идентифицирует этот конкретный вызов протокола и отправляет $м$ каждому владельцу закрытого ключа. Все сообщения, переданные любой стороной после этого момента, должны включать $м$ так что сообщения не могут быть смешаны и согласованы между вызовами протокола. Все держатели закрытых ключей должны помнить каждый использованный одноразовый номер, чтобы избежать предоставления двух разных ответов для одного и того же значения одноразового номера (на одном и том же этапе протокола).
Все держатели закрытых ключей отправляют свои обязательства координатору
Координатор передает набор обязательств каждому держателю приватного ключа
Каждый владелец закрытого ключа передает свой открытый ключ координатору
Координатор передает набор открытых ключей каждому держателю закрытого ключа.
Когда владелец секрета готов зашифровать секрет, он будет зашифрован совместным открытым ключом и передан всем $n$ владельцев закрытых ключей, что требует дальнейшего $n$ коммуникации. Как и во всех предыдущих шагах, сообщение $м$ содержащий одноразовый номер, включен для того, чтобы связать эту связь с этим конкретным вызовом протокола.