Рейтинг:2

Преимущество Adversary перед простой функцией?

флаг ng

Злоумышленник должен выиграть следующую игру, определив, был ли вывод обновлен определенной функцией или нет?

  1. Злоумышленник запрашивает оракул для вывода.

  2. Oracle генерирует новые 4 случайных байта $а$, $b$, $с$, и $д$ и один случайный бит $х$.

  3. если $х=0$, Oracle выводит значения $а$, $b$, $с$, и $д$.

  4. если $х=1$, он сначала обновляет значения, используя следующие уравнения (применяемые последовательно), а затем выводит обновленные значения $а$, $b$, $с$, и $д$. $$\begin{выравнивание} а &= (а + dc) \bmod 256;\ б &= (б + объявление) \bmod 256;\ с &= (с + ба) \bmod 256;\ d &= (d + cb) \bmod 256;\ \end{выравнивание}$$

  5. Цель злоумышленника состоит в том, чтобы выяснить, что результат был результатом шага 3 или 4?

* Злоумышленник может делать бесконечные запросы.

Пример: если a=0, b=0, c=1, d=1 и x=1 на шаге 2, то Oracle выводит 1,1,2,3.

ShAr avatar
флаг cn
Какова цель злоумышленника? Какова прибыль/прибыль или полезность fn?
elonnoe avatar
флаг ng
@ShAr обновил вопрос.
ShAr avatar
флаг cn
Я ответил, но я думаю, что этот вопрос лучше подходит для компьютерных наук или теории игр / теории чисел для операций с модами, если они есть. В любом случае, это всего лишь мнение, ничего не голосующее
fgrieu avatar
флаг ng
Постановка задачи в 4 неясна относительно того, применяются ли уравнения последовательно или как блок, например. если на шаге 2 a=0, b=0, c=1, d=1, x=1 выводит ли оракул 1,1,2,3 или 1,0,1,1? Первое прочтение облегчает задачу: что каждое изменение влияет на распределение того, что оно изменяет? Второе чтение более интересное. Подсказка: узнайте, что происходит с младшим битом, а затем со вторым. Этого достаточно, чтобы выиграть игру, но не получить максимальное преимущество. Для размышления: $(\mathbb Z_{2^k},+,\cdot)$ является полем только тогда, когда $k=0$. Если вам нужна помощь, расскажите нам, что вы сделали, где вы застряли!
elonnoe avatar
флаг ng
@fgrieu Я обновил вопрос, чтобы ответить на ваш запрос. Я вычислил частоту каждого возможного значения для каждого выходного байта и наименее значащий бит каждого выходного байта, но не смог найти в нем никакой закономерности. Поскольку атакующий не имеет контроля над входными байтами, а Oracle генерирует новые случайные байты каждый раз при запросе, вывод шага 4 выглядит случайным!!!.
fgrieu avatar
флаг ng
Это правильно: при последовательном применении уравнений невозможно отличить 3 от 4. Это потому, что каждое из четырех изменений оставляет распределение $(a,b,c,d)$ равномерным (аргумент: в любой группе с закона $\boxplus$, достаточно, чтобы $u$ равномерно случайно и не зависело от $v$, чтобы $u\boxplus v$ было равномерно случайным). Не так для `(a,b,c,d)=((a+d*c)%256,(b+a*d)%256,(c+b*a)%256,(d+c* б)%256)` в том же смысле, что и в Python, где я предлагаю изучить, что происходит с младшими битами, а затем с двумя младшими битами.
elonnoe avatar
флаг ng
@fgrieu спасибо за помощь. я застрял, но теперь я понимаю, что основная причина.
Рейтинг:3
флаг us

Позволять $f(а,б,в,г)$ обозначьте ваше преобразование на шаге 4. Это последовательный состав этих 4 шагов:

  1. $(a,b,c,d) \mapsto (a+dc \bmod 256,b,c,d)$
  2. $(a,b,c,d) \mapsto (a,b+ad \bmod 256,c,d)$
  3. $(a,b,c,d) \mapsto (a,b,c+ba \bmod 256,d)$
  4. $(a,b,c,d) \mapsto (a,b,c,d+cb \bmod 256)$

Обратите внимание, что каждый шаг является обратимым. Например, первый шаг обратим, так как $(a',b,c,d) \mapsto (a'-dc \bmod 256,b,c,d)$. Следовательно, все превращение $f(а,б,в,г)$ обратим.

Поскольку распределение более $(а,б,в,г)$ изначально равномерна и $f$ обратимо, распределение на $f(а,б,в,г)$ тоже однообразен. Это означает: независимо от $х=0$ или же $х=1$, вывод равномерный, поэтому у распознавателя нет преимущества в угадывании $х$.

fgrieu avatar
флаг ng
Да. Случай преобразования $a'=(a+dc)\bmod256$, $b'=(b+ad)\bmod256$, $c'=(c+ba)\bmod256$, $d'=( d+cb)\bmod256$, за которыми следуют $a=a'$, $b=b'$, $c=c'$, $d=d'$, сложнее/интереснее. Теперь есть значительное преимущество для вычислений.
crypt avatar
флаг cn
так что это справедливо для любого обратимого f?
Рейтинг:0
флаг cn
  • Вероятность выигрыша с 1-й попытки =0,5 (чистое предположение, предполагающее однородные случайные значения X 0 или 1)

  • Вероятность победы во 2-й попытке, если он знает результат 1-й попытки = 1 - prob[((a=a+dc)mod256) И ((b=b+ad) mod256) И ((c=c+ba) mod256) И ((d=d+cb) mod256)]

Для начала, чтобы эти формулы были равны ¥256 (достигают одного и того же значения с помощью операции мода), по крайней мере, 3 из 4 значений должны быть ¥¥128.

На самом деле они должны содержать (а не просто быть больше или равными) достаточно степеней числа 2. (dc=nâ¢256, ad=mâ¢256, ab=kâ¢256, cb=lâ¢256)

.... и т. д., однако я думаю, что нужно еще проверить, должны ли значения храниться в одном байте; т.е. по умолчанию a,b,c,d < 256?

» » » В случае, когда шаг 2 повторяется при каждом испытании, то я предполагаю, что единственный способ, которым противник выигрывает от знания функции (изменить свою вероятность выигрыша на более чем 0,5 чистого угадывания), - это если заданные формулы r не являются однородными случайными , т. е. если вы можете доказать, что модифицированные a, b, c, d смещены в сторону большего количества единиц или большего количества девяток, возможно, вероятность выигрыша должна увеличиться за счет уменьшения степень случайности.

fgrieu avatar
флаг ng
Вероятность победы зависит от того, как мы читаем постановку задачи для шага 4, и от стратегии, используемой противником (будет определена). Если эти две вещи исправлены, поскольку испытания независимы, вероятность победы не может зависеть от номера испытания, как утверждается в текущем ответе.
ShAr avatar
флаг cn
В самом деле, если вы сделали 2 последовательных попытки и обнаружили, что результат отличается, вы можете получить 100% победу, сказав X = 1, что означает, что противник имел преимущество, по крайней мере, в этом случае, зная игру, лежащую в основе fn
fgrieu avatar
флаг ng
Шаг 2 выполняется и генерирует новые a, b, c, d, x перед шагом 3 или шагом 4 каждый раз, когда они достигаются. Таким образом, знания о том, что два выхода различны, недостаточно, чтобы сделать вывод об x как в первом, так и во втором выходе. В общем случае нет смысла сравнивать результаты разных экспериментов, поскольку они независимы. Вопрос в том, чтобы выработать стратегию, дающую преимущество, и которое будет при каждом эксперименте независимо. Как я объясняю в комментарии к вопросу, это возможно или нет, в зависимости от того, как мы читаем шаг 4, и есть два способа.
ShAr avatar
флаг cn
Ага Ок извините я думал (решил исходя из того что) шаг2 делается один раз только как сид для генератора случайных чисел
elonnoe avatar
флаг ng
@ShAr нет, шаг 2 выполняется снова для каждого нового запроса.

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

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