Рейтинг:1

Доказательство на основе моделирования для протокола умножения Бивера

флаг us

Настраивать

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

Протокол умножения

Предположим, что две стороны не вступают в сговор, и предположим, что входные данные $х,у$ принадлежат сторонам $P_1,P_2$, соответственно. Затем, $P_1$ вычисляет доли $x_1\стрелка влево\mathbb{Z}_q$, $x_2 = x-x_1\,\mathrm{mod}\,q$, куда $\leftarrow \mathbb{Z}_q$ обозначает равномерно случайную выборку из $\mathbb{Z}_q$, и отправляет $x_2$ к $P_2$. То же самое происходит аналогично с $у_1,у_2$ в $P_2$ такой, что $P_1$ имеет доступ к $x_1,y_1$ и $P_2$ имеет доступ к $x_2,y_2$ после этого шага. Чтобы вычислить $xy$, стороны используют тройки Бивера следующим образом. Перед выполнением протокола мы отбираем $(\альфа,\бета)\стрелка влево\mathbb{Z}_q^2$, вычислить $\альфа\бета\,\mathrm{mod}\,q = \gamma$ а также акции $\alpha_i,\beta_i,\gamma_i$ с $я\в\{1,2\}$, и раздайте их соответствующей стороне. Затем $я$-я сторона вычисляет \начать{выравнивать*} \delta_i=x_i-\alpha_i\,\mathrm{mod}\,q \quad \text{and} \quad \epsilon_i=y_i-\beta_i\,\mathrm{mod}\,q \конец{выравнивание*} и отправляет $\delta_i$ а также $\epsilon_i$ к другой стороне. В результате обе стороны могут вычислить $$ \delta=\delta_1+\delta_2\,\mathrm{mod}\,q=x-\alpha\,\mathrm{mod}\,q \quad \text{and} \quad \epsilon=\epsilon_1+\epsilon_2\, \mathrm{mod}\,q=y-\beta\,\mathrm{mod}\,q. $$ Имея их под рукой, можно, наконец, получить доли $z:=z_1+z_2\,\mathrm{mod}\,q$ посредством \начать{выравнивать*} z_1=\gamma_1+\delta \beta_1 +\epsilon \alpha_1+\delta\epsilon\,\mathrm{mod}\,q \quad \text{and} \quad z_2=\gamma_2+\delta\beta_2+\epsilon\alpha_2\,\mathrm{mod}\,q. \конец{выравнивание*} Мы не раскрываем $z_1$ или же $z_2$ (даже если протокол кажется бесполезным таким образом).

Обратите внимание, что $x_2,y_1,\delta_1,\delta_2,\epsilon_1,\epsilon_2$ были обменены, и все эти величины являются равномерно случайными числами в $\mathbb{Z}_q$. Все остальные вычисления являются локальными. Из этого я делаю вывод, что протокол должен быть абсолютно безопасным.

Доказательство на основе моделирования (попытка)

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

Давайте попробуем доказать вышеупомянутую интуицию (что протокол абсолютно безопасен) более формально, применив то, что можно найти в Как смоделировать это и Безопасный MPC и совместное использование секретов. Во-первых, мы видим, что протокол (почти) симметричен.Следовательно, должно быть достаточно, если мы рассмотрим только $P_1$ быть получестным. Далее, функциональность $f(x,y):=z$ протокола $\пи$ является детерминированным и удовлетворяет корректности (оценить $z_1+z_2\,\mathrm{mod}\,q$ для подтверждения). Кроме того, первая составляющая $ф(х,у)$ является $f_1(x,y):=z_1$ и мы вводим представление о $P_1$ к \начать{выравнивать*} \mathrm{view}_1^{\pi}(x,y):=\left(x,r_1,m_1,m_2,\dots,m_t\right)\in\mathbb{Z}_q^{1\times p }, \конец{выравнивание*} куда $r_1$ является содержанием $P_1$внутренняя случайная лента , и $m_1,m_2,\точки,m_t$ обозначать полученные сообщения. Затем доказательство полной безопасности, основанное на моделировании, требует существования симулятора вероятностно-полиномиального времени. $S_1$ такой, что \начать{выравнивать*} \{S_1\left(x,f_1(x,y)\right)\}_{x,y\in\{0,1\}^*} \stackrel{\mathrm{perf}}{\equiv} \ {\ mathrm {представление} _1 ^ {\ pi} \ влево (х, у \ вправо) \} _ {х, у \ в \ {0,1 \} ^ *}. \конец{выравнивание*} Полная неразличимость между этими вероятностными ансамблями должна быть достигнута, если для всех возможных $х,у\в\{0,1\}^*$ статистическое расстояние \begin{уравнение} \метка{экв:расст} \Delta(\mathrm{view}_1^\pi(x,y),S_1(x,f_1(x,y)):=\frac{1}{2} \sum_{\boldsymbol{w}\in\ mathbb{Z}_q^{1\times p}} |\mathrm{Pr}(\mathrm{view}_1^{\pi}(x,y)=\boldsymbol{w})-\mathrm{Pr}( S_1(x,f_1(x,y)=\boldsymbol{w})| \end{уравнение} исчезает. Мы начинаем с запуска $\пи$ и, согласно предыдущему определению, найти $$ \mathrm{view}_1^{\pi}\left(x,y\right)=\left(x,x_1,y_1,\alpha_1,\beta_1,\gamma_1,\delta_2,\epsilon_2\right), $$ куда $x_1$ проистекает из $P_1$внутренний источник случайности (случайная лента), $\альфа_1,\бета_1,\гамма_1$ исходят из вспомогательного автономного источника случайности (но могут также рассматриваться как сообщения?), и $y_1,\delta_2,\epsilon_2$ сообщения, полученные от $P_2$. Обратите внимание, что помимо $х$ все эти величины равномерно случайны в $\mathbb{Z}_q$. Более того, из $\mathrm{представление}_1^{\pi}(x,y)$ все остальные величины, которые $P_1$ имеет доступ, может быть вычислено. Следовательно, $\mathrm{представление}_1^{\pi}(x,y)$ содержит все $P_1$информация. Осталось найти подходящий $S_1$. С этой целью мы выбираем $$ S_1(x,f_1(x,y))=\left(x,\tilde{x}_1,\tilde{y_1},\tilde{\alpha}_1,\tilde{\beta}_1,\tilde{\ гамма} _1, \ тильда {\ дельта} _2, \ тильда {\ эпсилон} _2 \ справа) $$ таким образом, что каждый компонент в $(\tilde{x}_1,\tilde{y_1},\tilde{\alpha}_1,\tilde{\beta}_1,\tilde{\gamma}_1,\tilde{\delta}_2,\tilde{ \эпсилон}_2)$ является равномерно случайным в $\mathbb{Z}_q$ (похоже, что нам не нужен вывод $f_1(х,у)$). Наконец, поскольку $S_1$ может точно имитировать распределение каждого компонента в $\mathrm{представление}_1^\pi$, легко видеть, что $\Delta(\mathrm{view}_1^\pi(x,y),S_1(x,f_1(x,y))=0$ для всех $х,у$. Другими словами, все, кроме $х$ (который предоставляется $P_1$) неотличим от случайного мусора. Таким образом, мы делаем вывод, что протокол абсолютно безопасен.

Некоторые наблюдения/вопросы

  1. В контексте безопасных двусторонних вычислений кажется, что всякий раз, когда $\mathrm{представление}_1^\pi$ содержит только случайные величины (кроме $х$), мы можем построить симулятор, просто выбрав переменные с теми же распределениями, что и случайные величины. Это делает конструкцию симулятора тривиальной.
  2. В случае, если одна переменная в $\mathrm{представление}_1^\pi$ действует неслучайно, мы должны построить его из $х,f_1(х,у)$ чтобы получить действующий симулятор. С этой целью предположим $у_1=у$ так как $P_2$ сделал ошибку. Ясно, что это небезопасно, поскольку $P_1$ теперь имеет доступ к $х,у$. Однако только от $х,f_1(х,у)$ мы не можем построить $у$ так как $х$ не имеет ничего общего с $у$ и $f_1(х,у)$ является равномерно случайным в $\mathbb{Z}_q$ по конструкции. Таким образом, этот протокол небезопасен из-за $\Delta(\mathrm{view}_1^\pi(x,y),S_1(x,f_1(x,y))\neq 0$.
  3. Для чего нужен тренажер $f_1(х,у)$?
Рейтинг:2
флаг us
  1. В контексте безопасных двусторонних вычислений кажется, что всякий раз, когда $\mathrm{представление}_1^\pi$ содержит только случайные величины (кроме $х$), мы можем построить симулятор, просто выбирая переменные с теми же распределениями, что и случайные величины. Это делает конструкцию симулятора тривиальной.

Что, если распределение этих случайных величин зависит от $у$, чего ты не знаешь? Другими словами, для различных вариантов выбора $у$, случайные величины будут распределены по-разному.

  1. В случае, если одна переменная в $\mathrm{представление}_1^\pi$ действует неслучайно, мы должны построить его из $х,f_1(х,у)$ чтобы получить действующий симулятор. К этому концу, предполагать $у_1=у$ так как $P_2$ сделал ошибку. Понятно, что это не безопасно поскольку $P_1$ теперь имеет доступ к $х,у$. Однако только от $х,f_1(х,у)$ мы не можем построить $у$ так как $х$ не имеет ничего общего с $у$ и $f_1(х,у)$ является равномерно случайным в $\mathbb{Z}_q$ по конструкции. Таким образом, этот протокол небезопасен из-за $\Delta(\mathrm{view}_1^\pi(x,y),S_1(x,f_1(x,y))\neq 0$.

Если вы создаете симулятор для $P_1$ то вы рассматриваете случай, когда $P_1$ коррумпирован и $P_2$ честно. Честный $P_2$ не собирается делать ошибку, о которой вы говорите. Вместо этого они будут пробовать $y_1$ равномерно от $\mathbb{Z}_q$.

Вы правы, что это было бы небезопасно для $P_2$ последовательно выбирать $у_1 = у$. Поэтому протокол не предписывает делать это честным сторонам.

  1. Для чего нужен тренажер $f_1(х,у)$?

Если $P_1$ поврежден и честно запускает протокол на входе $х$, и протокол правильный, то $P_1$ может правильно вывести $f_1(х,у)$ в конце протокола. Если коррумпированный $P_1$ может выводить $f_1(х,у)$ в реальном взаимодействии, то симулятор должен уметь выводить $f_1(х,у)$ в идеальном взаимодействии тоже.

Я не знаю, что вы предлагаете в качестве альтернативы получению симулятора $f_1(х,у)$. Но если вы предлагаете, чтобы симулятор получил нет информация о $у$, то симуляция будет невозможна по причине, которую я только что изложил (если только $f_1(x,\cdot)$ полностью игнорирует $у$ тоже).

opag avatar
флаг us
Спасибо за ценные комментарии. 1) Хорошее замечание. Я был слишком быстр в этом. 2) Я пытался найти случай, который дает лучшее ощущение случая, когда безопасность не работает.Тогда вместо того, чтобы нарушать определение честной стороны, можно подумать о небезопасном протоколе, в котором P2 ведет себя так, как описано выше. Впрочем, если мои рассуждения имеют смысл, то меня это уже устраивает. 3) Я не предлагаю альтернативу, но мне интересно, почему она не понадобилась в моей попытке доказательства. Возможно, потому что сторона 1 ничего не выводит. Кстати говоря, правильно ли мое доказательство, основанное на симуляции?

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

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