Рейтинг:0

Связанная ключевая атака на подпись Шнорра. Почему вызов включает $\psi = g^x$, а не $y$?

флаг it

Первоначальная схема подписи Шнорра страдает от атаки по связанным ключам (RKA), как описано Морита и др.. Затем авторы этой статьи предлагают изменить алгоритм подписи для предотвращения RKA следующим образом:

  1. Установлен $\psi \leftarrow g^x$, куда $х$ является закрытым (подписывающим) ключом схемы.
  2. Установите хэш вызова $h \leftarrow H(M || r || \psi)$.

Второй шаг выше отличается от исходной схемы Шнорра (здесь), который требует только $h \leftarrow H(r || M)$.

Эта модификация имеет смысл, однако статья Morita et al. говорит (на странице 9):

«Обратите внимание, что второй шаг алгоритма подписи, вычисление $\psi \leftarrow g^x$, не следует изменять, чтобы просто использовать ключ подтверждения $у$ как $\psi$."

Авторы не объясняют, почему $у$ (открытый / проверочный ключ) нельзя использовать вместо $\psi$, несмотря на то, что имеют точно такое же значение - есть ли для этого причина?

Что делает это еще более запутанным, так это то, что, когда Шнорр был добавлен в Биткойн в софт-форке Taproot, разработчики Bitcoin Core написали свою собственную реализацию для подписей Шнорра (как описано в BIP340), включая меры по смягчению последствий RKA. Однако в BIP340 они решили использовать $у$ в хэше вызова $\psi$, что противоречит предыдущей рекомендации.

Является ли эта реализация неправильной?

Рейтинг:0
флаг ng

Авторы не объясняют, почему $у$ (открытый / проверочный ключ) нельзя использовать вместо $\psi$, даже если они имеют точно такое же значение. Есть причина для этого?

Да. Идея состоит в том, что изменение закрытого ключа $х$ в связанный $х'$ изменит $\psi\leftarrow г^{х'}$ пересчитывается во время подписания во что-то отличное от $у=г^х$ первоначально рассчитано с $\psi$ ввод хэша, тем самым защищая от атаки с использованием связанного ключа.

Разработчики Bitcoin Core (..) решили использовать $у$ в хэше вызова $\psi$.

Я не так читаю спецификация. Наоборот подпись как бы пересчитывается $d'$ (который я прочитал как действующий как $х'$) тогда $P$ (который я прочитал как действующий как $\psi$) из текущего предполагаемого закрытого ключа. И варианты реализации этого, если таковые имеются, не по теме.

Это не должно быть истолковано как одобрение биткойна или любого его форка или реализации. Лично я считаю все это оскорблением человечества.

YGrade avatar
флаг it
Спасибо за это - теперь это имеет гораздо больше смысла. Ценю твою помощь.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.