Рейтинг:1

Создайте доказательство ИЛИ для заданного списка элементов с общедоступным вводом

флаг es

Позволять $г\в G$ и $ч\в ч$ быть двумя генераторами группы. Дан список L из m элементов группы, где $L=(L_1,...,L_m)$, доказывающий хочет убедить публичного верификатора (а именно, верификатора, у которого есть только общедоступные входные данные), что один элемент $L_i$ в списке $L$ (без раскрытия i) может быть получен из открытого элемента $ u = u_i $ (где я не должен раскрываться) и какой-то секрет $s_i$, например, докажите, что существует некоторое $я$ такой, для которого $ L_i = г ^ {u_i} ч ^ {s_i} $ для публики $u_i$ и секрет $s_i$. Можно ли создать такое доказательство с помощью обязательств Педерсена или Грота-Сахаи?

Рейтинг:1
флаг es

Обратите внимание, что $s_i$ и $u_i$ должны быть скалярами (целые положительные числа меньше порядка группы $\ell$ генератора), а не элементы поля.

В аддитивной записи:

У вас есть набор обязательств Педерсена в форме $L_i = s_iG+u_iH$ куда $s_i$ является случайным ослепляющим фактором и $u_i$ является ценностью, которой привержены.

Чтобы доказать, что обязательство Педерсена $L_i$ фиксирует значение $u$, просто поставьте подпись для $L_i - uH$ на генераторе $G$. Это доказывает значения (на генераторе $Ч$) точно компенсируют друг друга, потому что, если бы они не компенсировали друг друга, подпись была бы невозможна (потому что $G$ и $Ч$ выбираются так, что $ч$ непознаваемо такое, что $H=hG$). Закрытый ключ, известный только вам, будет $s_i$.

Чтобы доказать, что одно из обязательств Педерсена является обязательством $u$ значение, вместо этого просто укажите кольцевую подпись. Это докажет, что по крайней мере в одном из случаев вы приняли это значение. Список открытых ключей в кольцевой подписи будет $\{L_i - uH\}$, и только где $u\overset{?}{=} u_i$ будет ли известен соответствующий закрытый ключ $s_i$.

baro77 avatar
флаг gd
Пример из реальной жизни: это именно то, что делает конструкция Monero RingCT с входными суммами.
флаг es
Я думаю, что я не объяснил себя должным образом. Доказывающая сторона выводит доказательство $\pi$ и публичный $u_i$ (не приверженность $u_i$), так что любой проверяющий, получивший список $L$, $u_i$ и $\pi$, примет, если и только если существует элемент в списке (который, например, является обязательством Педерсена), который был сгенерирован из $u_i$.
knaccc avatar
флаг es
@ Дорон, а, понятно. Я обновил ответ, он почти такой же, как и раньше.
флаг es
Спасибо @knaccc! Кажется, это действительно работает! Кстати, можно ли еще добавить ограничение, что есть еще один секрет $v_i$ s.t. $v_i\in [1..n]$ (т. е. каждое обязательство имеет вид $L_i = g^{u_i} h^{s_i}f^{v_i}$ такой, что $v_i\in [1..n ]$?
knaccc avatar
флаг es
@Doron — это значение $v$, также публично объявленное как часть доказательства, как и значение $u$?
флаг es
@knaccc, значение v не должно храниться в секрете, только оно должно находиться в диапазоне [1..n]
knaccc avatar
флаг es
@Дорон, какова цель? $s$ существует только для того, чтобы скрыть обязательство (чтобы предотвратить его грубую форсировку для обнаружения значения, к которому оно привязано). Как это поможет ослепить его дважды?
флаг es
Давайте [продолжим это обсуждение в чате](https://chat.stackexchange.com/rooms/135473/discussion-between-doron-and-knaccc).

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

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