28553

Примеры современных шифров проблема последнего блока DES

Доклад

Информатика, кибернетика и программирование

Альтернативой DES можно считать тройной DES IDEA а также алгоритм Rijndael принятый в качестве нового стандарта на алгоритмы симметричного шифрования. Также без ответа пока остается вопрос возможен ли криптоанализ с использованием существующих характеристик алгоритма DES. Алгоритм тройной DES В настоящее время основным недостатком DES считается маленькая длина ключа поэтому уже давно начали разрабатываться различные альтернативы этому алгоритму шифрования.

Русский

2013-08-20

26.44 KB

7 чел.

21 Примеры современных шифров проблема последнего блока DES

Проблемы DES

Так как длина ключа равна 56 битам, существует 256 возможных ключей. На сегодня такая длина ключа недостаточна, поскольку допускает успешное применение лобовых атак. Альтернативой DES можно считать тройной DES, IDEA, а также алгоритм Rijndael, принятый в качестве нового стандарта на алгоритмы симметричного шифрования.

Также без ответа пока остается вопрос, возможен ли криптоанализ с использованием существующих характеристик алгоритма DES. Основой алгоритма являются восемь таблиц подстановки, или S-boxes, которые применяются в каждой итерации. Существует опасность, что эти S-boxes конструировались таким образом, что криптоанализ возможен для взломщика, который знает слабые места S-boxes. В течение многих лет обсуждалось как стандартное, так и неожиданное поведение S-boxes, но все-таки никому не удалось обнаружить их фатально слабые места.

Алгоритм тройной DES

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

Недостатки двойного DES

Простейший способ увеличить длину ключа состоит в повторном применении DES с двумя разными ключами. Используя незашифрованное сообщение P и два ключа K1 и K2, зашифрованное сообщение С можно получить следующим образом:

C = Ek2 [Ek1 [P]]

Для дешифрования требуется, чтобы два ключа применялись в обратном порядке:

P = Dk1 [Dk2 [C]]

В этом случае длина ключа равна 56 * 2 = 112 бит.

Атака "встреча посередине"

Для приведенного выше алгоритма двойного DES существует так называемая атака "встреча посередине". Она основана на следующем свойстве алгоритма. Мы имеем

С = Ek2 [Ek1 [P]]

Тогда

X = Ek1 [P] = Dk2 [C].

Атака состоит в следующем. Требуется, чтобы атакующий знал хотя бы одну пару незашифрованный текст и соответствующий ему зашифрованный текст: (Р, С). В этом случае, во-первых, шифруется Р для всех возможных 256 значений K1. Этот результат запоминается в таблице, и затем таблица упорядочивается по значению Х. Следующий шаг состоит в дешифровании С, с применением всех возможных 256 значений K2. Для каждого выполненного дешифрования ищется равное ему значение в первой таблице. Если соответствующее значение найдено, то считается, что эти ключи могут быть правильными, и они проверяются для следующей известной пары незашифрованный текст, зашифрованный текст.

Если известна только одна пара значений незашифрованный текст, зашифрованный текст, то может быть получено достаточно большое число неверных значений ключей. Но если противник имеет возможность перехватить хотя бы две пары значений (незашифрованный текст - зашифрованный текст), то сложность взлома двойного DES фактически становится равной сложности взлома обычного DES, т.е. 256.

Тройной DES с двумя ключами

Очевидное противодействие атаке "встреча посередине" состоит в использовании третьей стадии шифрования с тремя различными ключами. Это поднимает стоимость атаки с известным незашифрованным текстом до 2168, которая на сегодняшний день считается выше практических возможностей. Но при этом длина ключа равна 56 * 3 = 168 бит, что иногда бывает громоздко.

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

C = EK1 [DK2 [EK1 [P]]]


Рис. 6. Шифрование тройным DES


Рис. 7. Дешифрование тройным DES

Не имеет большого значения, что используется на второй стадии: шифрование или дешифрование. В случае использования дешифрования существует только то преимущество, что можно тройной DES свести к обычному одиночному DES, используя K1 = K2:

C = EK1 [DK1 [EK1 [P]]] = EK1 [P]

Тройной DES является достаточно популярной альтернативой DES и используется при управлении ключами в стандартах ANSI X9.17 и ISO 8732 и в PEM (Privacy Enhanced Mail).

Известных криптографических атак на тройной DES не существует. Цена подбора ключа в тройном DES равна 2112.

Дифференциальный криптоанализ рассматривает отличия, которые происходят в каждой половине при шифровании. (Для алгоритма DES "отличия" определяются с помощью операции XOR, для других алгоритмов возможен иной способ). Выбирается пара незашифрованных текстов с фиксированным отличием. Затем анализируются отличия, получившиеся после шифрования одним раундом алгоритма, и определяются вероятности различных ключей. Если для многих пар входных значений, имеющих одно и то же отличие Х, при использовании одного и того же подключа одинаковыми (Y) оказываются и отличия соответствующих выходных значений, то можно говорить, что Х влечет Y с определенной вероятностью. Если эта вероятность близка к единице, то можно считать, что подключ раунда найден с данной вероятностью. Так как раунды алгоритма независимы, вероятности определения подключа каждого раунда следует перемножать. Как мы помним, считается, что результат шифрования данной пары известен. Результаты дифференциального криптоанализа используются как при разрабоке конкретных S-box, так и при определении оптимального числа раундов.

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

P[1], … , P[n] - незашифрованный блок сообщения.
C[1], … , C[n] - зашифрованный блок сообщения.
K[1], … , K[m] - ключ.
A [i, j, …, k] = A[i]
A[j] A[k]

Целью линейного криптоанализа является поиск линейного уравнения вида
P [α
1, α2, …, αa] C [β1, β2, …, βb] = K [γ1, …, γc]

Выполняющееся с вероятностью р ≠ 0.5. αi, βi и γi - фиксированные позиции в блоках сообщения и ключе. Чем больше р отклоняется от 0.5, тем более подходящим считается уравнение.

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

Уравнения составляются следующим образом. Вычисляются значения левой части для большого числа пар соответствующих фрагментов незашифрованного и зашифрованного блоков. Если результат оказывается равен нулю более чем в половине случаев, то полагают, что K [γ1, …, γс] = 0. Если в большинстве случаев получается 1, полагают, что K [γ1, …, γс] = 1. Таким образом получают систему уравнений, решением которой является ключ.

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


 

А также другие работы, которые могут Вас заинтересовать

9985. Нелинейное программирование. Постановка задачи 103.5 KB
  Нелинейное программирование. Постановка задачи. При проектировании радиоэлектронных средств перед работником встает вопрос об оптимальности полученных технических решений. Формально оптимальность как и при линейном программировании оценивается значениями целевой...
9986. Комплексные автоматизированные системы. CALS - технология 127.5 KB
  Комплексные автоматизированные системы. CALS технология Вопросы Концепция CALSтехнологии. Стратегия CALS CALSтехнология в России Концепция CALS - технологии Основой концепции CALS является повышение эффективности процессов жизненного цикла изделия за ...
9987. Основные концепции графического программирования 207.5 KB
  Основные концепции графического программирования Вопросы Графические библиотеки Системы координат Окно и видовой экран Примитивы Ввод графики Дисплейный файл Матрица преобразования Удаление невидимых линий и поверхностей Визуал
9988. MathCAD. Ввод формул. Форматирование результата 267 KB
  MathCAD является математическим редактором позволяющим проводить разнообразные научные и инженерные расчеты начиная от элементарной арифметики и заканчивая сложными реализациями численных методов. Является универсальной системой для работы с формулами числами...
9989. Создание графиков в MathCAD 277.5 KB
  Создание графиков в MathCAD В Mathcad встроено несколько различных типов графиков которые можно разбить на две большие группы. Двумерные графики: декартовый и полярный графики. Трехмерные графики: график трехмерной поверхности график линий уровня и т.д. Деление...
9990. Символьные вычисления в MathCAD 211 KB
  Символьные вычисления в MathCAD Кроме вычисления выражения численно программа использует символьную математику результатом вычисления выражения является другое выражение. Первоначальное выражение можно разложить на множители проинтегрировать его решить уравнение...
9991. Решение уравнений, построение графиков и анимация в MathCad на примере исследования термодинамической системы. Задача о чашке кофе 42 KB
  Решение уравнений построение графиков и анимация в MathCad на примере исследования термодинамической системы. Задача о чашке кофе Рассматривается пример исследования термодинамической системы в Mathcad. Постановка задачи и порядок выполнения работы описывается в соо