Лекции по "Информационной безопасности"

Автор работы: Пользователь скрыл имя, 11 Мая 2013 в 20:43, курс лекций

Краткое описание

Информационная безопасность. Тема 10. Лекция 16.
Информационная безопасность. Лекция 6. Административный уровень обеспечения ИБ
Информационная безопасность. Тема 5-1. Лекция 7. Введение в криптографию
Информационная безопасность. Тема 5-2. Лекция 8. Симметричные алгоритмы шифрования. Алгоритм DES

Вложенные файлы: 12 файлов

ИБ-08.doc

— 310.00 Кб (Скачать файл)

Информационная безопасность. Тема 5-2. Лекция 8.

  • Симметричные алгоритмы шифрования

  • Алгоритм DES

  • Алгоритм DES (Data Encryption Standard) - федеральный стандарт США, на котором основан международный стандарт ISO 8372-87. DES был поддержан Американским национальным институтом стандартов (ANSI) и рекомендован для применения Американской ассоциацией банков (ABA). DES предусматривает 4 режима работы:

    • ECB (Electronic Codebook) электронная кодовая книга;
    • CBC (Cipher Block Chaining) цепочка блоков;
    • CFB (Cipher Feedback) обратная связь по шифртексту;
    • OFB (Output Feedback) обратная связь по выходу.

    ECB - Electronic Codebook (электронная кодовая книга) - каждый блок из 64 битов незашифрованного текста шифруется независимо от остальных блоков, с применением одного и того же ключа шифрования. Типичные приложения - безопасная передача одиночных значений (например, криптографического ключа). Данный режим является самым простым режимом, при котором незашифрованный текст обрабатывается последовательно, блок за блоком. Каждый блок шифруется, используя один и тот же ключ. Если сообщение длиннее, чем длина блока соответствующего алгоритма, то оно разбивается на блоки соответствующей длины, причем последний блок дополняется в случае необходимости фиксированными значениями. При использовании данного режима одинаковые незашифрованные блоки будут преобразованы в одинаковые зашифрованные блоки.

    ECB-режим идеален для небольшого количества данных, например, для шифрования ключа сессии.

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

    CBC - Cipher Block Chaining (цепочка блоков) - вход криптографического алгоритма является результатом применения операции XOR к следующему блоку незашифрованного текста и предыдущему блоку зашифрованного текста. Типичные приложения - общая блокоориентированная передача, аутентификация.

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

     

    Рис. 1.  Схема режима CBC.

    CFB - Cipher Feedback (обратная связь по шифртексту). Как и в режиме CBC, используется операция XOR для предыдущего блока зашифрованного текста и следующего блока незашифрованного текста. Таким образом, любой блок зашифрованного текста является функцией от всего предыдущего незашифрованного текста. Входом функции шифрования является регистр сдвига, который первоначально устанавливается в инициализационный вектор Co. Для выхода алгоритма выполняется операция XOR с незашифрованным текстом M1 для получения первого блока зашифрованного текста С1.

    Рис. 2.  Схема режима CFB.

    OFB - Output Feedback (обратная связь по выходу) - аналогичен CFB, за исключением того, что на вход алгоритма при шифровании следующего блока подается результат шифрования предыдущего блока; только после этого выполняется операция XOR с незашифрованным текстом. Типичные приложения - потокоориентированная передача по зашумленному каналу (например, спутниковая связь).

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

    Рис. 3.  Схема режима OFB.

    Недостаток OFB в том, что он более уязвим к атакам модификации потока сообщений, чем CFB.

    DES является классической сетью Фейстеля с двумя ветвями. Данные шифруются 64-битными блоками, используя 56-битный ключ. Алгоритм преобразует за несколько раундов 64-битный вход в 64-битный выход. Процесс шифрования состоит из четырех этапов. На первом из них выполняется начальная перестановка (IP) 64-битного исходного текста (забеливание), во время которой биты переупорядочиваются в соответствии со

     

    Рис. 4.  Общая схема DES

    стандартной таблицей. Следующий этап состоит из 16 раундов одной и той же функции, которая использует операции сдвига и подстановки. На третьем этапе левая и правая половины выхода последней (16-й) итерации меняются местами. Наконец, на четвертом этапе выполняется перестановка IP-1 результата, полученного на третьем этапе. Перестановка IP-1 инверсна начальной перестановке.

    Рис.5.  Схема раунда алгоритма DES.

    В алгоритме DES существует 8, так называемых, S-боксов. На вход каждого блока Si поступает 6 бит, а на выходе получается 4 бита. 6 бит на входе получается за счет расширения тетрад путем добавления к ним добавочных - начального и конечного битов от соседних  соответствующих тетрад. Затем то значение складывается по модулю два со значением Ki, полученным на основании ключа. Этот 48-битовый результат подается на S-боксы. Первый и шестой бит на входе Si отвечают за выбор соответствующей строки в  соответствующей таблице Si, а средние четыре бита – за выбор колонки. На их пересечении находится выходное значение соответствующего Si. Например, если Siвх = 0 1010 1, тогда значение строки будет 01(1), значение столбца – 1010(10), Siвых =1100(12) в соответствии с приведенной ниже таблицей.

     

    0

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    0

    14

    4

    13

    1

    2

    15

    11

    8

    3

    10

    6

    12

    5

    9

    0

    7

    1

    0

    15

    7

    4

    14

    2

    13

    1

    10

    6

    12

    11

    9

    5

    3

    8

    2

    4

    1

    14

    8

    13

    6

    2

    11

    15

    12

    9

    7

    3

    10

    5

    0

    3

    15

    12

    8

    2

    4

    9

    1

    7

    5

    11

    3

    14

    10

    0

    6

    13


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

    C = Ek2 [Ek1 [P]]

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

    P = Dk1 [Dk2 [C]]

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

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

  • В этом случае выполняется  последовательность зашифрование-расшифрование-зашифрование (EDE):

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

     
    Рис. 6.  Шифрование тройным 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.

  • Алгоритм Blowfish

  • Blowfish является сетью Фейстеля, у которой количество итераций равно 16. Каждая итерация состоит из перестановки, зависящей от ключа, и подстановки, зависящей от ключа и данных. Операциями являются XOR и сложение 32-битных слов. Длина блока равна 64 битам, ключ может иметь любую длину в пределах 448 бит. Хотя перед началом любого шифрования выполняется сложная фаза инициализации, само шифрование данных выполняется достаточно быстро.

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

    Алгоритм состоит  из двух частей: расширение ключа и  шифрование данных. Расширение ключа  преобразует ключ длиной 448 бит в  несколько массивов подключей общей длиной 4168 байт.

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

  • Алгоритм IDEA

  • IDEA (International Data Encryption Algorithm) является блочным симметричным алгоритмом шифрования, разработанным Сюдзя Лай (Xuejia Lai) и Джеймсом Массей (James Massey) из швейцарского федерального института технологий. Первоначальная версия была опубликована в 1990 году. Пересмотренная версия алгоритма, усиленная средствами защиты от дифференциальных криптографических атак, была представлена в 1991 году и подробно описана в 1992 году.

    IDEA является одним из нескольких симметричных криптографических алгоритмов, которыми первоначально предполагалось заменить DES. IDEA является блочным алгоритмом, который использует 128-битовый ключ для шифрования данных блоками по 64 бита. Целью разработки IDEA было создание относительно стойкого криптографического алгоритма с достаточно простой реализацией.

  • Алгоритм ГОСТ 28147

  • В нашей стране в качестве стандарта используется технология, описанная в ГОСТе 28147-89 "Системы обработки информации. Защита криптографическая. Алгоритм криптографического преобразования". Этот ГОСТ был принят в 1989 году и с тех пор не изменялся. Алгоритм шифрования был разработан в КГБ в конце 70-х годов, однако, он создавался с достаточно большим "запасом прочности". По этому параметру он на порядок превосходил американский DES, который сначала заменили на тройной, а потом на AES. Таким образом, и на сегодняшний день криптостойкость российского стандарта вполне удовлетворяет всем современным требованиям. Вторая причина большого распространения ГОСТа 28147-89 – законодательство. Государственные организации и многие коммерческие структуры обязаны использовать для защиты данных сертифицированные средства защиты. Однако получение сертификата возможно только в том случае, если "в указанных криптосредствах реализованы криптографические алгоритмы, объявленные государственными или отраслевыми стандартами Российской Федерации".

    Алгоритм, описанный в ГОСТе 28147-89, является типичным представителем класса симметричных. В его основе лежит сеть Фейстеля. Длина ключа и длина блока равны и составляют 256 бит. На основе сети Фейстеля построен целый ряд различных алгоритмов. Однако, несмотря на внешнее сходство, их криптостойкость и скорость работы очень сильно различаются. Все зависит от действий, которые выполняются над подблоками. Именно поэтому они и называются "основным криптографическим преобразованием". В ГОСТе 28147-89 используются относительно простые для реализации, быстрые для исполнения и устойчивые к взлому операции.

     
    Рис. 7. I-ый раунд ГОСТ 28147

    Алгоритм может работать в трех различных режимах.

    Информация о работе Лекции по "Информационной безопасности"