Опубликован: 19.01.2010 | Доступ: свободный | Студентов: 3503 / 600 | Оценка: 4.28 / 4.00 | Длительность: 26:16:00
ISBN: 978-5-9963-0242-0
Специальности: Математик
Лекция 8:

Стандарт шифрования данных (DES)

< Лекция 7 || Лекция 8: 123456 || Лекция 9 >

8.4. Многократное применение DES

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

Как мы узнали в "Введение в основы современных шифров с симметричным ключом" , подстановка, которая размещает все возможные входы во все возможные выходы, является группой с отображениями элементов множества и набором операций. В этом случае использование двух последовательных отображений бесполезно, потому что мы можем всегда найти третье отображение, которое эквивалентно композиции этих двух (свойство замкнутости). Это означает, что если DESгруппа, то однократный DES с ключом k3 делает то же самое (рисунок 8.13).

 Композиция отображений

Рис. 8.13. Композиция отображений

К счастью DES — не группа. Она базируется на следующих двух параметрах:

а. Номер возможных входов или выходов в DESN = 264. Это означает, что N!= (264)! = 10347 380 000 000 000 000 000 отображений. Один из способов способ сделать DES группой — это поддержать все эти отображения с размером ключа log2 (264!) — 270 битов. Но мы знаем, что длина ключа в DES56 бит (только маленькая часть этого требуемого огромного ключа).

б. Другой способ сделать DES группой – сделать, чтобы множество отображений было подмножеством множества в смысле зависимости от первого параметра; но было доказано, что группы, созданные из группы с помощью первого параметра, имеют ключевой размер 56 битов.

Если DES не является группой, то очень маловероятно, что мы можем найти ключ k3, такой, что

Ek2(Ek1(P)) = Ek3(P)

Это означает, что мы можем использовать двукратные или трехкратные DES, чтобы увеличить размер ключа.

Двукратный DES

Первый подход состоит в том, чтобы использовать двукратный DES (2DES). При этом подходе мы применяем два типа шифров DES для шифрования и два типа обратных шифров для дешифрования. Каждый тип использует различный ключ, что означает, что размер ключа теперь удвоился ( 112 битов). Однако двукратный DES уязвим к атаке знания открытого текста, как это обсуждается в следующем разделе.

На первый взгляд двукратные DES увеличивают число испытаний при поиске ключа от 256 (в однократном DES) к 2112 (в двукратном DES). Однако при использовании атаки знания исходного текста, называемой атакой сведения к середине, можно доказать, что двукратный DES улучшает эту устойчивость (до 257 по испытаниям), но не чрезвычайно (к 2112 ). Рисунок 8.14 показывает диаграмму для двукратного DES. Алиса использует два ключа, k1 и k2, чтобы зашифровывать исходный текст P в зашифрованный текст C ; Боб использует зашифрованный текст C и два ключа, k2 и k1, для восстановления P.

 Атака сведения к середине в двукратном DES

Рис. 8.14. Атака сведения к середине в двукратном DES

В средней точке М — текст, созданный первым шифрованием или первым дешифрованием. Для обеспечения правильной работы он должен быть одинаковым для шифрования и дешифрования. Другими словами, мы имеем два отношения:

M = EK1(P) и M = EK2(C)

Предположим, что Ева перехватила предыдущую пару P и C (атака знания исходного текста). Базируясь на первом отношении из упомянутых выше, Ева зашифровывает P, используя все возможные значения (256) k1, и записывает все значения, полученные для М. Базируясь на вторых отношениях, упомянутых выше, Ева расшифровывает C, используя все возможные значения ( 256 ) k2. Она записывает все значения, полученные для М. Далее Ева создает две таблицы, отсортированные согласно значениям M. Она сравнивает значения для М, пока не находит те пары k1 и k2, для которых значение М является одним и тем же в обеих таблицах (как показано на рис. 8.15). Обратите внимание, что должна быть по крайней мере одна пара, потому что она делает исчерпывающий поиск комбинации двух ключей.

1. Если есть только одно соответствие. Ева нашла два ключа ( k1 и k2 ). Если есть больше чем один кандидат, Ева перемещается в следующий шаг.

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

 Таблицы для атаки "сведения к середине"

Рис. 8.15. Таблицы для атаки "сведения к середине"

Было доказано, что после применения второго шага к нескольким перехваченным парам "зашифрованный текст — исходный текст" ключи были найдены. Это означает, что вместо того чтобы использовать поиск ключей с помощью 2112 испытаний, Ева использует 256 испытаний поиска ключа и проверяет два раза (несколько больше испытаний требуется, если найден на первом шаге единственный кандидат). Другими словами, двигаясь от однократного DES до двукратного DES, мы увеличили объем испытаний от 256 до 257 (а не до 2112, как это кажется при поверхностном подходе).

Трехкратный DES

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

Трехкратный DES с двумя ключами

В трехкратном DES с двумя ключами есть только два ключа: k1 и k2. Первый и третий каскады используют k1 ; второй каскад использует k2. Чтобы сделать трехкратный DES совместимым с DES, средний каскад применяет дешифрование (обратный шифр) на стороне шифрования и шифрование (шифр) на стороне дешифрования. Таким способом сообщение, зашифрованное DES-ключом k, может быть расшифровано трехкратным DES, если k1 = k2 = k. Хотя трехкратный DES с двумя ключами также уязвим при атаке "знания исходного текста", он гораздо устойчивее, чем двукратный DES. Он был принят для банков. Рисунок 8.16 показывает трехкратный DES с двумя ключами.

Трехкратный DES с тремя ключами

Возможность атак "знания исходного текста" при трехкратном DES с двумя ключами "соблазнила" некоторые приложения использовать трехкратный DES с тремя ключами. Алгоритм может применять три каскада шифра DES на стороне шифрования и три каскада обратных шифров на стороне дешифрования. Для совместимости с однократным DES сторона шифрования использует EDE, а сторона дешифрования — DED. E (encryption) — каскад шифрования, D (decryption) — каскад дешифрования. Совместимость с однократным DES обеспечивается при k1 = k и установкой k2 и k3 к одному и тому же произвольному ключу, выбранному приемником. Трехкратный DES с тремя ключами используется многими приложениями, такими как PGP (Pretty Good Privacy), поскольку гарантирует очень хорошую конфиденциальность.

 Трехкратный DES с двумя ключами

Рис. 8.16. Трехкратный DES с двумя ключами

8.5. Безопасность DES

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

Атака грубой силы

Мы уже обсуждали слабость шифра с коротким ключом. Слабость ключа совместно с другими рассмотренными недостатками, делает очевидным, что DES может быть взломан с числом испытаний 255. Однако сегодня большинство приложений использует либо 3DES с двумя ключами (размер ключа 2112 ), либо 3DES с тремя ключами (размер ключа 2168 ). Эти две многократных версии DES позволяют ему показывать существенную стойкость к атакам грубой силы.

Дифференциальный криптоанализ

Мы в "Введение в основы современных шифров с симметричным ключом" уже обсуждали методику дифференциального криптоанализа для современных блочных шифров. DES не является устойчивым к такому виду атаки. Однако многое указывает, что разработчики DES уже знали об этом типе атаки и проектировали S -блоки и специально выбрали число раундов, чтобы сделать DES стойким к этому типу атаки. Сегодня показано, что DES может быть взломан, используя дифференциальный криптоанализ, если мы имеем 247 выборок исходного текста или 255 известных исходных текстов. Хотя это выглядит более эффективно, чем в атаке грубой силы, предположить, что кто-то знает 247 выборок исходного текста или 255 выборок исходного текста, практически невозможно. Поэтому мы можем сказать, что DES является стойким к дифференциальному криптоанализу. Также показано, что увеличение числа раундов до 20 увеличивает число требуемых выборок исходного текста для атаки более чем до 264. Такое увеличение невозможно, потому что число блоков исходного текста в DES только 264.

Линейный криптоанализ

Мы обсуждали методику линейного криптоанализа для современных блочных шифров в "Введение в основы современных шифров с симметричным ключом" . Линейный криптоанализ — более новая методика, чем дифференциальный криптоанализ. DES более уязвим к применению линейного криптоанализа, чем к дифференциальному криптоанализу — вероятно потому, что этот тип атак не был известен проектировщикам DES и S -блоки не являются очень стойкими к линейному криптоанализу. Показано, что DES может быть взломан с использованием 243 пары известных исходных текстов. Однако с практической точки зрения перехват такого количества пар очень маловероятен.

< Лекция 7 || Лекция 8: 123456 || Лекция 9 >
Наталья Шульга
Наталья Шульга

Курс "информационная безопасность" .

Можно ли на него записаться на ПЕРЕПОДГОТОВКУ по данному курсу? Выдается ли диплом в бумажном варианте и высылается ли он по почте?

Дмитрий Плешаков
Дмитрий Плешаков

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

Заранее благодарен.