Опубликован: 19.01.2010 | Уровень: специалист | Доступ: свободно
Лекция 4:

Традиционные шифры с симметричным ключом

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

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

4.1. Введение

Рисунок 4.1 иллюстрирует общую идею шифра с симметричным ключом.

 Общая идея  шифрования с симметричным ключом

Рис. 4.1. Общая идея шифрования с симметричным ключом

На рисунке 4.1 объект, Алиса, может передать сообщение другому объекту, Бобу, по несекретному каналу, учитывая, что противник (назовем его Ева), не может понять содержание сообщения, просто подслушивая его по каналу.

Первоначальное сообщение от Алисы Бобу названо исходным текстом; сообщение, передаваемое через канал, названо зашифрованным текстом. Чтобы создать зашифрованный текст из исходного текста, Алиса использует алгоритм шифрования и совместный ключ засекречивания. Для того чтобы создать обычный текст из зашифрованного текста, Боб использует алгоритм дешифрования и тот же секретный ключ. Мы будем называть совместное действие алгоритмов шифрования и дешифрования шифровкой. Ключ — набор значений (чисел), которыми оперирует алгоритм шифровки.

Обратите внимание, что шифрование симметричными ключами использует единственный ключ (ключ, содержащий непосредственно набор кодируемых значений) и для кодирования и для дешифрования. Кроме того, алгоритмы шифрования и дешифрования — инверсии друг друга. Если P — обычный текст, C — зашифрованный текст, а Kключ, алгоритм кодирования Ek (x) создает зашифрованный текст из исходного текста.

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

Шифрование: C = Ek(P),                      
Расшифровка: P = Dk (C),
где , Dk(Ek(x)) = Ek(Dk(x)) = x

Мы можем доказать, что исходный текст, созданный Бобом, тот же самый, что и исходный, переданный Алисой. Мы предполагаем, что Боб создает P1 ; мы докажем, что P1 = P:

Алиса: C = Ek(P)       Боб: P1 = Dk (C)  = Dk (Ek(P)) = P

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

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

Другой элемент в шифровании симметричными ключами — число ключей. Алиса нуждается в другом ключе засекречивания, чтобы связаться с другим человеком, скажем, Дэвидом. Если есть m группа людей, в которой каждый должен иметь связь друг с другом, сколько ключей необходимо? Ответ — (m \times (m-1))/2, потому что каждому человеку надо m – 1 ключ, чтобы связаться с остальной частью группы, но ключ между A и B может использоваться в обоих направлениях. В более поздних лекциях мы увидим, как решается эта проблема.

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

 Шифрования симметричными ключами, как замыкание  и размыкание замка с тем же самым ключом

Рис. 4.2. Шифрования симметричными ключами, как замыкание и размыкание замка с тем же самым ключом

Принципы Керкгоффса

Хотя можно предположить, что шифр был бы более безопасен, если мы скрываем и алгоритм шифрования/дешифрования, и ключ засекречивания, это не рекомендуется. Согласно принципу Керкгоффса, нужно всегда предполагать, что противник — Ева — знает алгоритм кодирования/дешифрования. Противодействие шифра атаке должно базироваться только на тайне ключа. Другими словами, предполагается, что ключ должен быть настолько труден, что не надо скрывать алгоритм кодирования/дешифрования. Эти принципиальные положения станут более ясны, когда мы будем изучать современные шифры. Для современных шифров сегодня существует немного алгоритмов. Множество ключей (Ключевой домен) для каждого алгоритма, однако, настолько большое число, что мешает противнику найти ключ.

Криптоанализ

Криптография — наука и искусство создания секретных кодов, криптоанализ — наука и искусство взламывания этих кодов. В дополнение к изучению методов криптографии мы также должны изучить методы криптоанализа.

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

 Атаки криптоанализа

Рис. 4.3. Атаки криптоанализа
Атака только на зашифрованный текст

В атаке только на зашифрованный текст Ева имеет доступ только к некоторому зашифрованному тексту. Она пробует найти соответствующий ключ и исходный текст. При этом, согласно предположению, Ева знает алгоритм и может перехватить зашифрованный текст. Атака только зашифрованного текста — самая вероятная, потому что Еве для нее нужен только сам текст. Шифр должен серьезно препятствовать этому типу атаки и не позволить дешифрование сообщения противником. Рисунок 4.4 иллюстрирует процесс атаки.

 Атака только на  зашифрованный текст

Рис. 4.4. Атака только на зашифрованный текст

В атаке только на зашифрованный текст могут использоваться различные методы. Мы рассмотрим здесь только некоторые из них.

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

При методе грубой силы, или методе исчерпывающего ключевого поиска, Ева пробует использовать все возможные ключи. Мы предполагаем, что Ева знает алгоритм и знает множество ключей (список возможных ключей). При использовании этого метода перехватывается исходный текст и задействуются все возможные ключи, пока не получится исходный текст. Создание атаки грубой силы было в прошлом трудной задачей; сегодня с помощью компьютера это стало проще. Чтобы предотвратить этот тип атаки, число возможных ключей должно быть очень большим.

Статистическая атака

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

Атака по образцу

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

Атака знания исходного текста

При атаке знания исходного текста Ева имеет доступ к некоторым парам "исходный/зашифрованный текст" в дополнение к перехваченному зашифрованному тексту, который она хочет взломать, как показано на рис. 4.5.

 Атака знания исходного текста

Рис. 4.5. Атака знания исходного текста

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

Атака с выборкой исходного текста

Атака с выборкой исходного текста подобна атаке знания исходного текста, но пары "исходный/зашифрованный текст" были выбраны и изготовлены самим нападавшим. Рисунок 4.6 иллюстрирует этот процесс.

 Атака с выборкой исходного текста

Рис. 4.6. Атака с выборкой исходного текста

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

Атака с выбором зашифрованного текста

Атака с выбором зашифрованного текста подобна атаке с выборкой исходного текста, за исключением того, что выбирает некоторый зашифрованный текст и расшифровывает его, чтобы сформировать пару "зашифрованный/исходный текст" (это случается, когда Ева имеет доступ к компьютеру Боба). Рисунок 4.7 показывает этот процесс.

 Атака с выбором зашифрованного текста

Рис. 4.7. Атака с выбором зашифрованного текста

Категории традиционных шифров

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

Евгений Виноградов
Евгений Виноградов

Прошел экстерном экзамен по курсу перепордготовки "Информационная безопасность". Хочу получить диплом, но не вижу где оплатить? Ну и соответственно , как с получением бумажного документа?

Илья Сидоркин
Илья Сидоркин

Добрый день! Подскажите пожалуйста как и когда получить диплом, после сдичи и оплаты?????