Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы на гос. экзамен.docx
Скачиваний:
2
Добавлен:
01.05.2025
Размер:
6.29 Mб
Скачать

4.1 Обзор основых универсальных методов криптоанализа

Универсальные методы криптоанализа – это такие методы, которые с определенными вариациями могут быть применимы ко многим шифрам. Однако, не все универсальные методы всегда применимы. Так как некоторые из них значительно снижают стойкость шифра, то создатели стараются делать так, чтобы универсальные методы были к их шифрам неприменимы. Вместе с тем, все множества Х, Y и К конечны. Поэтому потенциально можно перебрать все их элементы и найти все решения уравнения Т(х,к) = y. Следовательно, множество методов, применимых к данной шифр-системе, непусто.

Метод полного перебора

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

Анализ на основе использования словарей

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

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

Парадокс Дней Рождений

Это очень важный вероятностный парадокс с не перечислимым количеством применений в современной криптографии: от алгоритмов блочного шифрования до систем с открытым ключом.

Рассмотрим предпосылки возникновения парадокса Дней Рождений. Ответьте на вопрос: как много учеников должно собраться в одном классе, чтобы как минимум двое из них имели день рождения в один и тот же день? С помощью простых вычислений можно выяснить, что если в классе будет находиться 23 ученика, то вероятность того, что у двух из них день рождения в один день, будет больше, чем ½.

Теперь рассмотрим несколько практических применений парадокса Дней Рождений на практике. Предположим, что для атаки на алгоритм шифрования, оперирующий 64-битными блоками данных, противник должен получить две пары открытый – закрытый текст, которые отличаются только младшим значащим битом. Согласно Парадоксу Дней Рождений, только массив, состоящий примерно из 232 открытых текстов, будет содержать требуемые пары с высокой вероятностью. Для другого примера рассмотрим пример одного раунда 64-битного шифра Фейстеля. Предположим, что в шифре используется произвольная функция F. Злоумышленник может захотеть узнать, как много открытых текстов ему нужно получить для того, чтобы на выходе встретилось два одинаковых шифр-текста F-функции. Согласно Парадоксу Дней Рождений, можно определить, что в этом случае требуется только O(216) текстов.

Общие сведения о линейном криптоанализе

Линейный анализ базируется на знании криптоаналитиком открытого и зашифрованного текста при использовании блочных схем шифрования, таких как DES. Одним из первых, кто вплотную занялся данным видом криптоанализа, был М. Матсуи. В связи с тем, что алгоритм шифрования DES является открытым, то есть заранее известны все его таблицы перестановок и замен, то Матсуи и взял его для криптоанализа. Как видно из таблицы 5.1 линейный криптоанализ Матсуи алгоритма DES требует значительного числа открытых текстов.

Таблица 5.1

Количество циклов алгоритма DES

Количество необходимых известных открытых текстов для нахождения ключа

8

221

12

233

16

247

Линейный криптоанализ основывается на том, что существует возможность заменить нелинейную функцию ее линейным аналогом. Так как все зашифровываемые тексты представлены в двоичном виде, то будем рассматривать случайную величину S – {0,1}, для которой Р(S=1) = р, соответственно Р(S=0) = 1-р, а ( S) = |1-2р|.

Рассмотрим схему произвольного блочного шифра в i-м цикле:

Y (i) = Е(X(i),K(i)). (5.1)

Здесь Е – функция шифрования, Х(i) – блок открытого текста в i-м цикле, Y(i) – блок шифртекста, K(i) – подключ, используемый в i-м цикле. Y(i), X(i)Vn, K(i)Vm, где V – двоичный вектор, n – размер блока, m – размер подключа.

Обозначим через (Х,) = Х11 … Хnn = Хi1 … Хik = X[i1,…,ik] – скалярное произведение двух двоичных векторов Х и , где (i1,…, ik) единичные координаты вектора , а по сути дела сложение по модулю 2 битов вектора Х, соответствующих ненулевым битам вектора .

Линейным статистическим аналогом нелинейной функции (5.1) называется случайная величина

S(i) = (Y(i), (i))(X(i), (i))(K(i), (i)), (5.2)

если вероятность P(S(i) = 1) = р  ½ для случайно выбранного открытого текста Х(i).

Отклонение (S(i)) = |1-2р| определяет эффективность линейного статистического аналога (5.2).

Для применения линейного криптоанализа необходимо решить следующие задачи:

  1. Нахождение эффективного статистического линейного аналога и вычисление его вероятности;

  2. Определение ключа (или некоторых битов ключа) с использованием эффективного линейного статистического аналога.