страница 1 |
|||||||||||||||||||||||||||||||||||||||||||
Похожие работы
|
Шифр aes, атака "квадрат" - страница №1/1
![]() Мухамедзянов Э.Н. Челябинский Государственный Университет кафедра компьютерной безопасности и прикладной алгебры Аннотация В работе описан шифр AES (Rijndael) и специфичная для шифра атака «квадрат». Представлено математическое обоснование базовой атаки на 4 раунда, продолжение атаки на 5 раундов и показано как продолжить данную атаку на 6 раундов. Атака на 5 раундов реализована программно. Шифр AESАтака "Квадрат" является специфической для шифра AES (Rijndael). AES представляет собой блочный шифр. Длина ключа и длина блока 128 бит. Четыре преобразования работают с промежуточным результатом, называемым Состоянием (State). Состояние можно представить в виде прямоугольного массива из 16 байт В шифре определено поле Галуа GF(28), элементами которого являются байты. Байты рассматриваются как многочлены над Z2:
Операция сложения “ Операция умножения. При умножении байт соответствующие им многочлены перемножаются над Z2 и результирующий многочлен берется по модулю простого многочлена В процессе работы алгоритма ключ
![]() Операция
Финальный раунд не содержит операции MC. Составим 2 формулы, связывающие состояния Ar-1 и Ar: ![]() ![]() Атака "Квадрат"Атака "Квадрат" основана на возможности свободного подбора атакующим некоторого набора открытых текстов для последующего их зашифрования. Эта атака для 6-раундового шифра AES (стандарт AES включает в себя 10 раундов) эффективнее, чем полный перебор по всему ключевому пространству. Введем определения. Λ-набор – набор из 256 входных блоков (массивов State), каждый из которых имеет байты (назовем их активными), значения которых различны для всех 256 блоков. Остальные байты (пассивные) остаются одинаковыми для всех 256 блоков из Λ-набора. Т.е. Λk – Λ-набор c k активными байтами. Pr – множество состояний в конце раунда r. Возьмем Λ-набор и проследим его изменение в течении нескольких раундов. После элементарных преобразований BS и KA блоки Λ-набора дадут в результате другой Λ-набор с активными байтами в тех же позициях, что и у исходного. Преобразование SR сместит эти байты соответственно заданным в ней смещениям. После преобразования MC Λ-набор в общем случае необязательно останется Λ-набором (т. е. результат операции может перестать удовлетворять определению Λ-набора). Но поскольку каждый байт Рассмотрим шифрование Λ1-набора, во всех блоках которого активен только один байт. Т.е. значение этого байта различно во всех 256 блоках, а остальные байты одинаковы. Проследим эволюцию этого байта на протяжении трех раундов. В первом раунде преобразование MC преобразует один активный байт в столбец из 4 активных байт, т.е. P1 является Λ4. Во втором раунде эти 4 байта разойдутся по 4 различным столбцам в результате преобразования SR, P2 является Λ16. Преобразование MC следующего, третьего раунда преобразует эти байты в 4 столбца, содержащие активные байты. Этот набор все еще остается Λ-набором до того момента, когда он поступает на вход MC третьего раунда. Основное свойство Λ-набора – поразрядная сумма по модулю 2 ( Рассмотрим теперь результат преобразования MC в третьем раунде байтов входного массива данных A в байты выходного массива данных B. Покажем, что и в этом случае поразрядная сумма всех блоков выходного набора будет равна нулю, то есть:
Таким образом, P3 является Λ16, т.е. все данные на входе четвертого раунда сбалансированы (их полная сумма равна нулю). ![]() ![]() Зная Lr можно вычислить Kr, и обратно. Для проведения атаки потребуется множество Q4 состоящее из 256 состояний: Схема базовой атаки “Квадрат” на 4-раундовый AES.
В этой схеме мы инвертируем 4-ый раунд шаг за шагом, чтобы получить сбалансированные байты P3. При Если предполагаемое значение байта ключа было верно, то оно будет включено в возможные варианты на место Атака "Квадрат-5"Данная атака является продолжением базовой атаки с добавлением 5-го раунда. Зафиксируем выходные данные после 5 раунда шифрования 5 Λ-наборов P5 и построим множество Q5, применяя преобразований SR-1 и MC-1 к каждому состоянию. Любой байт P3 на позиции ![]() ![]() ![]() ![]() ![]() ![]() Подобно базовой атаки предполагаем значение 5 байт L-представления ключа, и вычисляем байт состояния Введем операцию вычисления байта Схема атаки для 5 раундов является продолжением базовой атаки на 5 раунд. Для вычисления одного столбца Атака "Квадрат-6"Атака "Квадрат-6" является продолжением атаки "Квадрат-5" на 5 раундовый AES с добавлением раунда в начало. Добавим 0 раунд в начало. Основная идея заключается в том, чтобы подобрать такой набор блоков открытого текста P-1, который на выходе нулевого раунда (P0) давал бы Λ1-набор. Это требует предположения о значении четырех байт ключа ![]() Для того чтобы на входе первого раунда был только один активный байт достаточно, чтобы в нулевом раунде один активный байт оставался на выходе преобразования MC. Это означает, что на входе MC первого раунда должен быть такой столбец ![]() для одного i давали 256 различных значений, в то время как для каждого из остальных трех значений i результат этого преобразования должен оставаться постоянным. Перед MC выполняется 3 преобразования: KA, BS и SR. Покажем, как для предполагаемых 4 байт ключа Т.к. до операции MC выполняется SR, то байты столбца Таким образом, получаем следующий алгоритм атаки. Имеем всего 232 различных значений Таким образом атака "Квадрат" может быть применена к 6 раундам шифра AES, являясь при этом более эффективной, чем полный перебор по всему ключевому пространству. Литература:
http://csrc.nist.gov/encryption/aes/rijndael/Rijndael.pdf
http://www.a-sit.at/technologieb/evaluation/aes_report_e.pdf
|
ещё >> |