Рейтинг:1

Дифференциальный криптоанализ — как распространить атаку на позапрошлые раунды?

флаг cn

Предположим, что у нас есть блочный шифр, последний раунд которого зависит от половины ключа, а предпоследний раунд использует другую половину. Предположим также, что я атаковал последний раунд с помощью дифференциального криптоанализа и сократил пространство поиска с 2^8 до 2 вариантов для каждого байта этой половины ключа.

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

В качестве комментария к это вопрос, пользователь «kelalaka», кажется, намекает на то, что мы все еще можем использовать дифференциальный криптоанализ для восстановления ключа, использованного в предпоследнем раунде, поскольку «вероятности будут лучше». Пользователь "kodlu" в ответе на тот же вопрос говорит: "Тогда патроны можно отклеивать по одному как в комментах.", но потом не описывают как это сделать.

Может ли кто-нибудь объяснить мне, как распространить дифференциальную атаку на предпоследний раунд в конкретных условиях, которые я упомянул, или даже в целом? («расписание ключей», которое я дал, не особенно важно, но это просто способ сказать, что мы не можем восстановить полный ключ, используя только ключ последнего раунда)

kelalaka avatar
флаг in
Ну, это должно быть ясно. Чем больше круглых, тем ниже успех атаки. Вот почему дизайнеры рассчитывают и устанавливают свои приемы точно так же, как это делали дизайнеры AES.Как только вы атакуете до последнего раунда, расшифруйте весь зашифрованный текст для последнего раунда, теперь у вас есть пары для атаки предпоследнего раунда как минимум с большей вероятностью. Да, для AES-256 вам потребуется более одного раунда для восстановления полного ключа.
kelalaka avatar
флаг in
Как только последний раунд сломан, остальные прерываются (в случае дифференциальной и линейной атаки).
Рейтинг:1
флаг pl

Интуиция, конечно, такова, что последние патроны можно убрать один за другим. Если дифференциальный различитель позволяет нам распознавать $n$-й круглый ключ, то конечно дифференциальная неравномерность после $n-1$ раунды, которые позволили нам это сделать, будут еще хуже на раунде $n-2$, так четко тот же трюк можно использовать для восстановления круглого ключа для раунда $n-1$ и так далее... правильно?

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

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

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

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

Есть множество других случаев, когда интуиция подводит, когда метод, который позволяет нам решать $n$ раунды также позволят нам решить $n-1$ раунды; например, в дифференциальных атаках различитель используется для разрыва $n$ раунды могут зависеть от конкретной разницы в раунде $n-1$ который переходит в раунд $n-2$ детерминистически, и в этом случае мы не получаем никакой новой информации, когда спускаемся к раунду. $n-2$, или зависимости в расписании ключей могут привести к тому, что ожидаемая дифференциальная неравномерность шифра будет увеличиваться, а не уменьшаться по мере добавления раундов (хотя, по общему признанию, этот последний случай происходит только в патологических случаях).

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

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