Рейтинг:2

Понимание «перемотки аргумента»

флаг cm
AXX

Я прочитал связанные вопросы по этому SE, но я все еще не понимаю, почему мы можем использовать аргумент перемотки.В частности, перемотка назад кажется мне действительно сильной сверхспособностью, и я не понимаю, почему такое сильное предположение не подрывает силу вывода. Конечно, враждебный верификатор ничего не узнает от симулятора, который может манипулировать временем, но если какая-то сущность настолько сильна, что может манипулировать временем, меня не удивляет, что она защищена от любого противника, и я не убежден, что другие сущности, не обладающие этой способностью, остается безопасным.

Я подумал, что, возможно, эта возможность перемотки как-то связана с доступом оракула симулятора к верификатору, так что симулятор может фактически выполнять «просмотр вперед», чтобы узнать, какой вопрос собирается задать верификатор, а затем подготавливает ответы соответственно. Если это так, то я убежден, что никакой сверхспособности на самом деле нет, поскольку это то, что может сделать сам верификатор, и отсюда следует свойство нулевого разглашения.

Рейтинг:4
флаг gd

Насколько я знаю, вы поняли суть. «Перемотка назад» - это всего лишь стратегия «упреждения», ставшая возможной благодаря доступу оракула симулятора к верификатору.

Его обычно называют «сверхспособностью», потому что это способность, которой доказывающий не имеет во время обычного выполнения протокола, в противном случае надежность может быть скомпрометирована (поскольку симулятор может создать убедительную расшифровку взаимодействия, ничего не зная, он может выдать себя за мошенника). доказывающий, делающий вид, что доказывает ложное утверждение)

Что касается того факта, что симуляция — это как раз то, что верификатор может сделать в одиночку, это правда: симулянт ничего не должен знать, чтобы доказать ZKness, и кто может быть лучшим кандидатом, чем верификатор, на роль того, кто не знает?!


РЕДАКТИРОВАТЬ, ЧТОБЫ ОТВЕТИТЬ ПОСЛЕДУЮЩИЙ КОММЕНТАРИЙ:

В главе 6 Учебных пособий по основам криптографии (Springer) Иегуда Линделл пишет:

Во-первых, может возникнуть вопрос, как можно «технически» перемотать верификатор. На самом деле, если рассматривать нулевое знание черного ящика, это тривиально. В частности, имитатору предоставляется доступ оракула к функции следующего сообщения V*(x, z, r, ·) верификатора. Это означает, что он предоставляет расшифровку m' = (m1, m2, . . .) входящих сообщений и получает обратно следующее сообщение, отправленное, когда V * имеет вход x, вспомогательный вход z, случайную ленту r и входящие сообщения m'.

так что это просто следующее сообщение, а не весь результирующий расшифровщик в конце взаимодействия (если это было вашим сомнением).

Учитывая приведенное выше определение функции следующего сообщения (где вызов доказывающего относится к сообщениям, ранее полученным верификатором), ваш «очевидный способ» кажется мне неверным для универсального (также известного как потенциально мошеннический) верификатор V *.

Если верификатор честен (поэтому вызов действительно «случайный» — даже если он не обязательно равномерно распределен), вы можете просто изменить порядок, в котором симулятор получает сообщения (то есть сначала результат, затем вызов, затем обязательство): Кстати, это стратегия, чтобы доказать, что протокол идентификации Шнорра является HVZKP (опуская - для простоты - что мы имеем дело с распределениями, а не только с фактическими значениями).

Но если нам приходится иметь дело с потенциально мошенническим верификатором V* (и это предполагаемый случай раздела 8.7 вашей лекции), возможно, проблемы являются функцией обязательств, поэтому они не являются независимыми друг от друга, поэтому ваша лучшая стратегия — попробовать все результаты. пока вы не найдете правильный (или, приняв точку зрения вашей лекции, получив результат, вы начнете пробовать все обязательства, пока функция не выдаст «правильный» вызов) ... в любом случае вам нужно проверить количество случаев, растущих экспоненциально, если у вас есть только одна степень свободы, поэтому PPT Simulator не может справиться с этим, он же ZK, не доказано:

Это означает, что после перемотки симулятора весь протокол как бы начинается заново с нуля. Это означает, что ожидаемое количество перемоток является экспоненциальным, и что мы не можем построить симулятор PPT, а это означает, что мы не можем доказать свойство нулевого разглашения.

Так что имхо нет никакого противоречия между приведенным выше определением перемотки и заключением первого абзаца в разделе 8.7 вашей лекции.

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

  • "мы считаем неразрешимыми те задачи, которые не может выполнить машина ППТ(Голдрайх, Фонд криптографии, том I, стр. 19)
  • для любого фактического использования мы всегда вынуждены использовать эффективные объекты (включая пруверы, даже если теоретически нет проблем считать их неограниченными)
  • наличие симулятора является достаточным, но не необходимым условием для ZK, поэтому использование этой парадигмы уже означает отсутствие каких-либо наиболее полных предположений: в этом сценарии кажется приемлемым использование чрезмерно предусмотрительного определения.
AXX avatar
флаг cm
AXX
Теперь у меня есть еще один дополнительный вопрос... Если мы действительно понимаем перемотку назад как просмотр вперед, то мы можем доказать свойство нулевого знания протокола с 3 раундами (упоминается в [этой заметке] (https://courses.grainger.illinois). .edu/cs598dk/fa2019/Files/lecture08.pdf) в 8.7) очевидным образом: мы выполняем предварительный просмотр, чтобы найти все сообщения $n$, которые собирается запросить верификатор, а затем мы готовим наши обязательства в соответственно первый этап.Итак, мое понимание оракула неверно? Действительно ли он извлекает следующее сообщение или просто конечный результат при взаимодействии с верификатором?
baro77 avatar
флаг gd
ответ в отредактированном ответе :)
AXX avatar
флаг cm
AXX
Спасибо за редактирование, я думаю, что теперь я, наконец, хорошо разбираюсь в тонкостях перемотки аргументов. Действительно, я никогда не осознавал, что вызовы, которые отправляет верификатор, могут быть «адаптивными» к обязательствам на первом этапе.
Рейтинг:2
флаг ng

Перемотка программа распространен в вычислительной технике. Один из способов назвать это снимок, а затем повторно запустить его, если позволяют виртуальные среды выполнения. Одно приложение завершает классическую аркадную игру без перезапуска с нуля после ошибки. Все, что нужно, это решить, в какой момент мы хотим перемотать назад; создание копии всего состояния машины (ОЗУ и регистры) в этот момент; а потом вернуть все на место.

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

Я рассматриваю это не как «сверхспособность», а как конструкцию, использующую чуть более мощную вычислительную среду, очень похожую на хост-компьютер для виртуальной машины.

Примечание. Я не уверен, работает ли эта аналогия для перемотки назад, как в симуляторе ZK.

baro77 avatar
флаг gd
imho, инфраструктура виртуальных машин - это просто АКТУАЛЬНЫЙ пример того, как доступ оракула черного ящика к подпрограмме _next_message_ верификатора может быть достигнут в современном сценарии «реального мира». Однако, когда мы имеем дело с ZK Simulator, нас интересует условие его существования, а не то, как его реализовать. Таким образом, «сверхмощь» здесь относится не к конкретной компьютерной среде, а к возможностям, разрешенным за пределами интерактивных ограничений доказательства (также известных как правила протокола, грубо говоря). Говорящий)
AXX avatar
флаг cm
AXX
Спасибо за ответ! Это дает мне представление о том, как можно перемотать программу в физическом мире. Похоже, что для этого требуется, чтобы злоумышленник работал в виртуальной среде, контролируемой защитником, что, я полагаю, не допускается сценарием ZK (иначе злонамеренный доказывающий может легко победить, как отметил @baro77).

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

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