Бикликская атака
Бикличная атака — это вариант «встреча посередине» (MITM) метода криптоанализа . Он использует бикличную структуру для увеличения количества возможных атакованных раундов с помощью атаки MITM. Поскольку бикликовый криптоанализ основан на атаках MITM, он применим как к блочным шифрам , так и к (итеративным) хеш-функциям . Атаки Biclique известны тем, что ослабили как полноценные AES , так и [1] и полная ИДЕЯ , [2] хотя и лишь с небольшим преимуществом перед грубой силой. Он также был применен к шифру KASUMI и устойчивости к прообразу хэш-функций Skein-512 и SHA-2 . [3]
Атака биклика все еще (по состоянию на апрель 2019 г.) [update]) самая известная общеизвестная атака на AES с использованием одного ключа . Вычислительная сложность атаки составляет , и для AES128, AES192 и AES256 соответственно. Это единственная общеизвестная атака на AES с использованием одного ключа, которая атакует полное количество раундов. [1] Предыдущие атаки атаковали варианты с уменьшенным количеством раундов (обычно варианты сокращены до 7 или 8 раундов).
Поскольку вычислительная сложность атаки , это теоретическая атака, что означает, что безопасность AES не была нарушена, и использование AES остается относительно безопасным. Тем не менее, бикличная атака является интересной атакой, которая предполагает новый подход к проведению криптоанализа блочных шифров. Атака также предоставила больше информации об AES, поскольку поставила под сомнение запас прочности в количестве используемых в ней раундов.
История [ править ]
Оригинальная атака MITM была впервые предложена Диффи и Хеллманом в 1977 году, когда они обсуждали криптоаналитические свойства DES. [4] Они утверждали, что размер ключа слишком мал и что многократное применение DES с разными ключами может решить проблему размера ключа; однако они посоветовали не использовать двойной DES и предложили как минимум тройной DES из-за атак MITM (атаки MITM можно легко применить к двойному DES, чтобы снизить безопасность с просто , поскольку можно независимо перебрать первое и второе DES-шифрование, если у них есть открытый и зашифрованный текст).
С тех пор как Диффи и Хеллман предложили атаки MITM, появилось множество вариантов, полезных в ситуациях, когда базовая атака MITM неприменима. Вариант бикличной атаки впервые был предложен Дмитрием Ховратовичем , Рехбергером и Савельевой для использования с криптоанализом хэш-функций. [5] Однако именно Богданов, Ховратович и Рехбергер показали, как применять концепцию биклик к настройке секретного ключа, включая криптоанализ с блочным шифром, когда они опубликовали свою атаку на AES. До этого атакам MITM на AES и многие другие блочные шифры уделялось мало внимания, в основном из-за необходимости в независимых ключевых битах между двумя «субшифрами MITM», чтобы облегчить атаку MITM — чего трудно достичь с помощью многих современные ключевые расписания, такие как AES.
Биклика [ править ]
Общее объяснение того, что такое бикличная структура, см. в статье о бикликах .
При MITM-атаке ключевые биты и , принадлежащие первому и второму субшифру, должны быть независимыми; то есть они должны быть независимыми друг от друга, иначе совпадающие промежуточные значения для открытого и зашифрованного текста не могут быть вычислены независимо при атаке MITM (существуют варианты атак MITM, где блоки могут иметь общие ключевые биты. См. ) MITM-атака с тремя подмножествами . Это свойство часто трудно использовать в течение большего количества раундов из-за диффузии атакуемого шифра.
Проще говоря: чем больше раундов вы атакуете, тем больше у вас будет субшифров. Чем больше у вас субшифров, тем меньше независимых ключевых битов между субшифрами вам придется перебирать самостоятельно. Конечно, фактическое количество независимых ключевых битов в каждом субшифре зависит от диффузионных свойств ключевого расписания.
Способ, которым биклика помогает справиться с вышеизложенным, заключается в том, что она позволяет, например, атаковать 7 раундов AES с использованием атак MITM, а затем, используя структуру биклики длиной 3 (т.е. она покрывает 3 раунда шифра), вы можете сопоставить промежуточное состояние в начале 7-го раунда с концом последнего раунда, например 10 (если это AES128), таким образом атакуя полное количество раундов шифра, даже если было невозможно атаковать это количество раундов с базовой атакой MITM.
Таким образом, смысл биклики заключается в эффективном построении структуры, которая может сопоставить промежуточное значение в конце атаки MITM с зашифрованным текстом в конце. В какой зашифрованный текст в конце отображается промежуточное состояние, конечно, зависит от ключа, используемого для шифрования. Ключ, используемый для сопоставления состояния с зашифрованным текстом в биклике, основан на битах ключей, перебором которых осуществляется в первом и втором субшифрах атаки MITM.
Таким образом, суть бикличных атак заключается, помимо атаки MITM, в том, чтобы иметь возможность эффективно построить бикличную структуру, зависящую от ключевых битов. и может сопоставить определенное промежуточное состояние с соответствующим зашифрованным текстом.
Как построить биклику [ править ]
Грубая сила [ править ]
Получать промежуточные состояния и зашифрованные тексты, а затем вычислить ключи, которые сопоставляются между ними. Это требует восстановление ключей, поскольку каждое промежуточное состояние должно быть связано со всеми зашифрованными текстами.
связанных дифференциалы Независимые
(Этот метод был предложен Богдановым, Ховратовичем и Рехбергером в их статье «Бикликовый криптоанализ полного AES». [1] )
Предварительный:
Помните, что функция биклики — отображать промежуточные значения, , к значениям зашифрованного текста, , на основе ключа такой, что:
Процедура:
Шаг первый: Промежуточное состояние( ), зашифрованный текст( ) и ключ( ) выбирается так, что: , где — это функция, которая отображает промежуточное состояние в зашифрованный текст с использованием заданного ключа. Это называется базовым вычислением.
Шаг второй: два набора связанных ключей размера выбран. Ключи выбираются так, чтобы:
- Первый набор ключей — это ключи, которые удовлетворяют следующим дифференциальным требованиям. относительно базового расчета:
- Второй набор ключей — это ключи, которые удовлетворяют следующим дифференциальным требованиям. относительно базового расчета:
- Ключи выбраны так, чтобы следы - и -дифференциалы независимы – т.е. они не имеют общих активных нелинейных компонентов.
Другими словами:
Входная разница, равная 0, должна соответствовать выходной разнице, равной под ключевым отличием . Все различия касаются базового расчета.
Входная разница должно соответствовать выходной разнице 0 при ключевой разнице . Все различия касаются базового расчета.
Шаг третий: поскольку трассы не имеют общих нелинейных компонентов (таких как S-блоки), трассы можно объединить, чтобы получить:
,
что соответствует определениям обоих дифференциалов из шага 2.
Легко увидеть, что кортеж из базового вычисления, также по определению соответствует обоим дифференциалам, как и дифференциалы по отношению к базовому вычислению. Замена в любое из двух определений, даст с и .
Это означает, что кортеж базового вычисления также может быть подвергнут операции XOR к объединенным трассам:
Шаг четвертый: Легко увидеть, что:
Если это подставить в приведенные выше комбинированные дифференциальные следы, результат будет:
Это то же самое определение, которое ранее было дано выше для биклики:
Таким образом, можно создать биклику размером ( поскольку все клавиши первого набора ключей, можно комбинировать с ключи из второго комплекта ключей). Это означает биклику размера можно создать только с помощью вычисления дифференциалов и над . Если для тогда все ключи в биклике тоже будет по-другому.
Именно таким образом строится биклика в ведущей бикличной атаке на AES. Существуют некоторые практические ограничения при построении биклик с помощью этого метода. Чем длиннее биклика, тем больше кругов должны пройти дифференциальные трассы. Таким образом, диффузионные свойства шифра играют решающую роль в эффективности построения биклики.
Другие способы построения биклики [ править ]
Богданов, Ховратович и Рехбергер также описывают другой способ построения биклики, называемый «чередованием дифференциальных следов связанных ключей» в статье: «Бикликовый криптоанализ полного AES». [1] ".
Процедура криптоанализа Biclique [ править ]
Шаг первый: злоумышленник группирует все возможные ключи в подмножества ключей определенного размера. для некоторых , где ключ в группе индексируется как в матрице размера . Злоумышленник разбивает шифр на два подшифра. и (такой, что ), как при обычной атаке MITM. Набор ключей для каждого из субшифров имеет мощность , и называется и . Комбинированный ключ субшифров выражается вышеупомянутой матрицей .
Шаг второй: Злоумышленник строит биклику для каждой группы ключи. Биклика имеет размерность d, поскольку она отображает внутренние состояния, , к зашифрованные тексты, , с использованием ключи. В разделе «Как построить биклику» предлагается, как построить биклику с использованием «Независимых дифференциалов связанных ключей». В этом случае биклика строится с использованием дифференциалов набора ключей, и , принадлежащий субшифрам.
Шаг третий: Злоумышленник берет на себя возможные шифртексты, и просит оракула дешифрования предоставить соответствующие открытые тексты, .
Шаг четвертый: Злоумышленник выбирает внутреннее состояние, и соответствующий открытый текст, и выполняет обычную MITM-атаку и атакуя из внутреннего состояния и открытого текста.
Шаг пятый: Всякий раз, когда найден ключевой кандидат, соответствующий с , этот ключ проверяется на другой паре простой/зашифрованный текст. если ключ проверяется на другой паре, весьма вероятно, что это правильный ключ.
Пример атаки [ править ]
Следующий пример основан на бикличной атаке на AES из статьи «Бикликовый криптоанализ полного AES». [1] ".
В описаниях в примере используется та же терминология, которую использовали авторы атаки (т.е. имена переменных и т. д.).
Для простоты ниже описана атака на вариант AES128.
Атака состоит из 7-раундовой атаки MITM, причем биклика охватывает последние 3 раунда.
Разделение ключей [ править ]
Ключевое пространство разделено на группы ключей, где каждая группа состоит из ключи.
Для каждого из группы, уникальный базовый ключ для базового расчета выбран.
Базовый ключ имеет два конкретных байта, равных нулю, как показано в таблице ниже (которая представляет ключ так же, как AES в матрице 4x4 для AES128):
Затем перечисляются оставшиеся 14 байтов (112 бит) ключа. Это дает уникальные базы-ключи; по одному на каждую группу клавиш.
Обычный ключи в каждой группе затем выбираются относительно их базового ключа. Они выбраны так, что практически идентичны базовому ключу. Они различаются только на 2 байта (либо или 's) из показанных ниже 4 байтов:
Это дает и , что в совокупности дает разные ключи, . эти ключи представляют собой ключи в группе для соответствующего базового ключа.
Конструкция биклика [ править ]
биклика строится с использованием метода «независимых дифференциалов связанных ключей», как описано в разделе «Как построить биклику».
Требованием для использования этого метода было то, чтобы трассы прямого и обратного дифференциала, которые необходимо объединить, не имели общих активных нелинейных элементов. Откуда известно, что это так?
Из-за того, как ключи на шаге 1 выбираются по отношению к базовому ключу, дифференциал отстает используя клавиши никогда не используйте совместно какие-либо активные S-блоки (это единственный нелинейный компонент в AES) с дифференциальными трассами используя ключ . Таким образом, можно выполнить операцию XOR для дифференциальных трасс и создать биклику.
MITM-атака [ править ]
Когда биклики будут созданы, MITM-атака почти может начаться. Прежде чем приступить к атаке MITM, промежуточные значения из открытого текста:
,
тот промежуточные значения из зашифрованного текста:
,
и соответствующие промежуточные состояния и дополнительные клавиши или , однако предварительно вычисляются и сохраняются.
Теперь MITM-атака может быть осуществлена. Чтобы проверить ключ , необходимо лишь пересчитать части шифра, которые, как известно, будут различаться между и . Для обратного вычисления из к , это 4 S-box, которые нужно пересчитывать. Для прямого вычисления из к , это всего лишь 3 (подробное объяснение объема необходимого пересчета можно найти в «Бикликовом криптоанализе полного AES»). [1] "бумага, откуда взят этот пример).
Когда промежуточные значения совпадают, ключевой кандидат между и найден. Затем ключ-кандидат проверяется на другой паре простой/зашифрованный текст.
Результаты [ править ]
Эта атака снижает вычислительную сложность AES128 до , что в 3–5 раз быстрее, чем метод грубой силы. Сложность данных атаки и сложность памяти .
Ссылки [ править ]
- ^ Jump up to: Перейти обратно: а б с д и ж Богданов Андрей; Ховратович Дмитрий; Рехбергер, Кристиан. «Бикликовый криптоанализ полного AES» (PDF) . Архивировано из оригинала (PDF) 14 июня 2012 г.
- ^ Ховратович Дмитрий; Леран, Гаэтан; Рехбергер, Кристиан (2012). «Узкие биклики: Криптоанализ полной ИДЕИ» . Еврокрипт 2012 . стр. 392–410. CiteSeerX 10.1.1.352.9346 .
- ^ Биклики для прообразов: атаки на Skein-512 и семейство SHA-2.
- ^ Диффи, Уитфилд; Хеллман, Мартин Э. «Исчерпывающий криптоанализ стандарта шифрования данных NBS» (PDF) . Архивировано из оригинала (PDF) 3 марта 2016 г. Проверено 11 июня 2014 г.
- ^ Ховратович Дмитрий; Рехбергер, Кристиан; Савельева, Александра. «Биклик для прообразов: атаки на Skein-512 и семейство SHA-2» (PDF) .