Рейтинг:1

Подтверждение знания закрытых ключей от обмена ключами DH

флаг us

Дана группа, в которой вычислительное предположение Диффи-Хеллмана (DH) выполняется, и генератор г.

Скажем, есть набор приватных случайно выбранных ключей {а, б, в, г, д,...} и соответствующий набор открытых ключей {А, Б, В, Г, Е,...} рассчитывается как А=аГ. Каждый открытый ключ публично связан с соответствующим пользователем/владельцем.

Алиса может использовать свой закрытый ключ а и открытый ключ Боба, Б, вычислять К=аВ. Этот К используется как тег для обоих пользователей, может быть общедоступным, так как не будет использоваться для шифрования сообщений, только как ссылка. Боб может проверить это, зная, что Алиса делает запрос (предположим это), вычислив К'=бА и проверка, если К=К'. Только Алиса и Боб могут знать, что это К относится к ним.

Исходя из вычислительного предположения DH, К бессмысленно для других пользователей. И К — это способ отследить эту комбинацию для соответствующих пользователей, в данном случае Алисы и Боба. Я предполагаю пока, что это К уникален для каждой комбинации закрытого ключа.

Можно ли доказать, что К содержит два разных закрытых ключа из набора закрытых ключей без раскрытия закрытых ключей?

Закрытый/открытый ключи необходимо использовать для создания другой комбинации, скажем, в случае Алисы и Чарли, АКГ. Из-за этого (M)LSAG, используемый в Морено, непригоден для использования, потому что ключи необходимо использовать повторно, и такая ссылка может показать Чарли, что Алиса уже совершила какую-то транзакцию с кем-то еще из набора открытых ключей.

Я хотел бы иметь это доказательство, чтобы каждый пользователь мог убедиться, что К действителен (т. е. рассчитан с использованием закрытых ключей из набора), чтобы избежать спама. Злой пользователь может просто сгенерировать случайный K, используя свой закрытый ключ, но это будет бессмысленно для всех остальных. Блокчейн будет использоваться для отслеживания ссылок.

LSAG означает Связываемая спонтанная анонимная группа и M для матричной версии.

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

Если я правильно понимаю, вам нужен способ доказать, учитывая список $\{А, Б, В, Г, \cdots\}$ открытых ключей, что некоторый заданный ключ $К$ является «тегом», соответствующим паре ключей из этого списка, не раскрывая, какой из них. Позвольте мне назвать это «действительным тегом».

Для простоты предположим, что $К$ это тег Алисы и Боба. Либо Алиса, либо Боб могут доказать, что $К$ является допустимым тегом, использующим стандартные методы доказательства с нулевым разглашением. Интуиция такова:

(1) Если пара $(А,Б)$ не должен был оставаться скрытым, то Боб мог просто выполнить доказательство с нулевым разглашением, что $(Г,А,Б,К)$ является кортежем Диффи-Хеллмана, используя его свидетельство $b$ (такой, что $G^b = B$ и $А^б = К$). Для этого отношения существуют стандартные доказательства с нулевым разглашением, см., например, мой ответ здесь.

(2) Чтобы пара оставалась скрытой, мы меняем утверждение: вместо доказательства "$(Г,А,Б,К)$ является кортежем Диффи-Хеллмана", Боб доказывает утверждение "$(Г,А,Б,К)$ является кортежем Диффи-Хеллмана, ИЛИ $(Г,А,С,К)$ является кортежем Диффи-Хеллмана, ИЛИ $(Г,А,Д,К)$ является кортежем Диффи-Хеллмана..." и так далее (для каждой пары различных открытых ключей). Затем, используя CDS OR-трюк, мы можем преобразовать доказательство с нулевым разглашением для отношения Диффи-Хеллмана в доказательство с нулевым разглашением для ИЛИ многих отношений Диффи-Хеллмана (в частности, полученное доказательство не покажет, какое из утверждений в ИЛИ является истинным). один).

Вышеупомянутое является самым простым и прямым решением. Конечно, это дорого: стоимость доказательства растет по мере $n\cdot(n-1)/2$ раз превышает стоимость одного доказательства Диффи-Хеллмана (или $n$ раз, если мы сможем слить личность одной из двух сторон, участвующих в теге $К$). Существуют решения для снижения стоимости, но они используют значительно более совершенные криптографические методы. Хорошим примером являются одно из многих доказательств которые допускают именно такой вид ИЛИ-доказательств, но с логарифмической связью по количеству предложений ИЛИ.

Последнее: если вы хотите, чтобы все проверили доказательство и не хотите переделывать доказательство со всеми, то вы можете сделать доказательство неинтерактивным в модели случайного оракула, используя преобразование Фиата-Шамира; таким образом, он становится публично проверяемым. Кроме того, обратите внимание, что когда сторона отправляет это доказательство, это всегда приводит к утечке информации: например. тот факт, что Боб отправляет доказательство того, что $К$ является действительным тегом, всегда показывает, что Боб мог проверить это сам, а это означает, что открытый ключ Боба является одним из задействованных ключей. Это может быть нормально в вашем сценарии, но вы должны быть ясны с этим.

флаг us
Вы все правильно поняли и ценим ваш развернутый ответ! Я изучу оба документа.Что касается дорогостоящего доказательства, то вместо того, чтобы генерировать утверждение с использованием каждой пары различных открытых ключей, я подумал, что можно также выбрать небольшое подмножество. Точно так же, как количество миксинов в Monero.
флаг us
Чтение [FS] (https://eprint.iacr.org/2016/771.pdf) и [Примечания к доказательствам с нулевым разглашением] (https://web.mat.upc.edu/jorge.villar/doc/notes/ DataProt/zk.pdf), правильно ли будет сказать, что использование трюка с CDS приведет к дизъюнктивным доказательствам Чаума-Педерсена? Поскольку генераторы не являются независимыми, я не уверен, что это правильно.
Рейтинг:0
флаг it

Я никогда не знаю практического случая использования ECDH для группа таких пар ключей. Существуют формальные способы расколоть секрет для группы людей более 2. например. https://en.wikipedia.org/wiki/Secret_sharing

Насколько я знаю, ECDH должен использоваться для создания общего секрета между точно 2 стороны.

Исходя из вычислительного предположения DH, K не имеет смысла для других пользователей. И K — это способ отследить эту комбинацию для соответствующих пользователей, в данном случае Алисы и Боба. На данный момент я предполагаю, что этот K уникален для каждой комбинации закрытого ключа.

Возможно, у вас есть некоторое непонимание общий секрет, но K также бессмысленно для Алисы и Боба отслеживать закрытый ключ друг друга. Природа скалярного умножения ECC, которое вы использовали для создания открытого ключа, является односторонним. Математически Алиса может найти закрытый ключ Боба, исчерпав все точки в большом пространстве вроде 2^256 или больше, что на самом деле жесткий делать с текущими вычислительными ресурсами на земле.

флаг us
Привет Match Man, Бобу (или Алисе) нужно только проверить _K_ по элементам набора открытых ключей и закрытому ключу Боба (или Алисы). Если совпадения нет, то Боб может игнорировать _K_.

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

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