Рейтинг:0

Могут ли две стороны, имеющие общий секрет, совместно выдать обязательство?

флаг sy

Допустим, стороны А и Б имеют общий секрет. $к$. Существует ли протокол, в котором обе стороны совместно выпускают обязательства по $к$ чтобы впоследствии ни А, ни Б не могли отрицать, в чем заключалась общая тайна?

Редактировать: В частности, меня интересует сценарий, в котором одна из сторон может быть злонамеренной, и нам нужно доказать третьей стороне C, что обязательство $\Фи$ на самом деле это общая тайна $к$.

Если A и B разделяют два обязательства по отдельности, то злоумышленник может разделить обязательство на совершенно другой $к'$. C знал бы способ узнать, какой из них является обязательством перед $к$.

poncho avatar
флаг my
Очевидно, что если у них обоих есть секрет, они могут по отдельности дать ему обязательства. Почему этого недостаточно? Что еще вам нужно? Например, доказательство того, что они совершали одно и то же?
Ordinary avatar
флаг sy
Одна из сторон (скажем, А) является злонамеренной. Если B честно соглашается на $k$, а A соглашается на другой $k'$ (неизвестный B), третья сторона C не может решить, кто говорит правду, т. е. разделяет обязательство на $k$. - общий секрет. Есть ли способ убедиться, что C может быть убежден в том, что обязательство является общим секретом $k$?
Рейтинг:1
флаг my

Другое, возможно, более простое решение:

  • $А$ и $В$ собраться вместе и совместно выбрать большое случайное значение фиксированного размера $г$и опубликовать $\text{Хэш}(к || г)$

  • Они оба подписывают (используя свои закрытые ключи подписи) строку $\text{Хэш}(к || г)$; обе подписи также опубликованы.

Любой из них может открыть обязательство, опубликовав $к$ и $г$; любой может проверить, что они хэшируют обязательство. И любой с $А$ и $В$открытые ключи могут проверять подписи.

Очевидно, поскольку есть только одно обязательство, которое можно открыть одним способом (при условии, что $\text{Хэш}$ устойчив к столкновениям и $г$ имеет известную длину; напримерэто всегда 256 бит), ни одна из сторон не может солгать. Единственное, что я могу придумать для злоумышленника, это заявить: «Эй, кто-то украл мой закрытый ключ; я не подписывал это обязательство».

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

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

Вот один из подходов к этому: оба $А$ и $В$ генерировать и публиковать обязательства Педерсена; Например, $А$ выбирает случайное значение $г$ и публикует $C_A = г^к ч^г$, пока $В$ выбирает случайное значение $s$ и публикует $C_B = г^к ч^с$ (где это делается в группе, где дискретные логи даются тяжело, и никто не знает дискретного лога $ч$ в отношении $г$).

Доказательство с нулевым разглашением того, что они фиксируют одно и то же значение, является доказательством знания значения. $v$ такой, что $C_A C_B^{-1} = ч^v$ (что для честных обязательств $v = r-s$); если одна сторона примет другое значение, никто не узнает такое значение $v$, а значит, никто (даже $А, Б$ совместно) сможет опубликовать такое доказательство. Обратите внимание, что $C_A C_B^{-1}$ может быть вычислено любым, у кого есть доступ к двум обязательствам.

Казалось бы, для двух сторон довольно просто работать вместе, чтобы сгенерировать такое доказательство Шнорра:

  • $А$ выбирает случайное значение $а$ и отправляет $h^a$ к $В$; $В$ выбирает случайное значение $b$ и отправляет $ч^б$ к $А$.

  • Оба они вычисляют общее значение $c = \text{Хэш}(ч^а ч^б)$

  • $А$ вычисляет $х = а + с г$и публикует $х, ч^а$. $В$ вычисляет $y = b - cs$и публикует $у, ч^б$.

Пара $h^ah^b, х+у$ было бы действительным доказательством Шнорра; верификатор проверит, если $h^{x+y} = (h^ah^b) (C_A C_B^{-1})^{\text{Hash}(h^ah^b)}$

В настоящее время:

  • Я считаю, что доступ к «полудоказательствам» $х, ч^а$ и $у, ч^б$ не дает никакого представления ни об одном из обязательств.

  • Этот протокол защищен от одного злоумышленника; если (сказать) $А$ был честным, то, если доказательство с нулевым разглашением подтвердится, $В$ должно быть зафиксировано одно и то же значение. На самом деле, даже если обе стороны злонамеренны, они все равно не могут по отдельности фиксировать разные значения.

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

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