Это относительно легко сделать с помощью подписей Шнорры. Это было бы важным шагом вперед, чтобы быть в состоянии сделать это с ECDSA.
Я не знаю много о подписях Шнорры. Не могли бы вы PLS показать пример, почему / как это тривиально сделать п-о-м в схеме Шнорры?
Ну, начиная с N-о-н Шнорром, разница не к ^ -1 значение усложняя математику. DSA является комплексификацией Шнорра, вероятно, как попытка избежать в настоящее время истекли патент Шнорры. Шнорра проще, имеет лучшие доказательства безопасности (возможно потому, что его проще) и делает более слабые предположения о хэш-функции (т.е. допускает более слабую хэш, или больше промахов в свойствах хэш-функции, не нарушая подпись, иначе DSA подчеркивает хэш-функции больше).
Простота делает его легче делать слепые подписи, а п п, к п и т.д.
Сравнивая ECDSA и ECSchnorr (с перемаркировки, чтобы выделить общие черты):
ECDSA: R = кГс, [г = R.x, с = (Н (м) + й) / к], Q = дО проверить: Sr = H (M) G + RQ
ECS R = кГс, [г = R.x, с = к + Н (г, т) д] Q = дО проверить: Sg = Р + Н (г, т) Q
ECS-альтернативный R = кГс, [с = Н (R, м), с = к + CD] Q = Д.Г., проверить: с = Н (Sg-Cq, м)
(Потому что кГс = Sg-Cq)
(И оба ECDSA и ECS могут использовать детерминированный вариант, где к = Н (м, д)).
так с ECS, если у вас есть пользователи с ключами паба A = A и B = Bg (ключи Priv а, б) они могут сделать сиговое с их комбинированным ключом Q = A + B просто
R1 = k1G, R1 = R1.x ->r1
<= R2, s2 = R2 k2G, R2 = R2.x, с2 = к2 + Н (R1 + R2, м) .b
s1 = k1 + Н (R1 + R2, м) а, г = R1 + R2, S = s1 + s2
а R1 + R2 = k1G + k2G = (k1 + k2) G, s1 + s2 = (k1 + k2) + H (R1 + R2, м) (а + б)
QED. (Это было просто понял, с нуля, может быть, есть некоторые другие нюансы). к п придется искать или думать сложнее.
И тогда в отличие от слепого метода ECDSA вы предложили, выбрав открытый ключ, относящийся к, (и я думал, хорошо с этим вы можете 2 из 2, скорее всего, и достаточно уверенных,
ОП положить, что вместе), с ECS
Вы можете сделать это более просто и обычно выбранные заранее существующими ключи (и без необходимости делать подписи одного использования.)
Риск с R = кГс фиксируется, что это один-шоу подписи, то есть, если вы случайно (например, из-за отсутствия транзакционной памяти на клиенте) подписать два различных сообщения, вы утечки закрытого ключа, и позволяют шахтерам взять монету. (Принимая во внимание один-шоу подписей, где Q '= (R = кГ, Q = дО), поэтому к предварительно совершили в качестве модели двойных Потратьте то тогда вы не можете двойную расходы, не давая и проводит шахтер имеют те же проблемы с случайный двойной расходы и требование к памяти клиента транзакций, чтобы избежать).
Адам