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

Методы и средства защиты компьютерной информации: Учебное пособие

Голосов: 1

Учебное пособие разработано в соответствии с требованиями государственных образовательных стандартов высшего профессионального образования по направлению подготовки дипломированного специалиста 230100 (специальность 230101 - вычислительные машины, комплексы, системы и сети) и направлению подготовки бакалавра 552800. Учебное пособие также может быть использовано аспирантами и представителями смежных специальностей. В пособии изложены вопросы, связанные с алгоритмами криптографических преобразований данных, алгоритмы аутентификации пользователей, требования к системам защиты информации, а также приведены практические примеры, способствующие успешному освоению теоретического материала.

Приведенный ниже текст получен путем автоматического извлечения из оригинального PDF-документа и предназначен для предварительного просмотра.
Изображения (картинки, формулы, графики) отсутствуют.
                      Рис. 1.3. Таблица Виженера


  Под буквами шифртекста последовательно записываются буквы
ключа; в строке таблицы, соответствующей очередной букве
ключа, производят поиск соответствующей буквы шифртекста.
Находящаяся над ней в первой строке таблицы буква является со-
ответствующей буквой исходного текста, то есть первая буква
                                   по строке    по столбцу
текста определяется по схеме (Х →              М→            Ш).

                      1.2.3. Шифр Вернама

  Шифр Вернама [25] является частным случаем системы
шифрования Виженера при значении модуля равным 2.
  Сообщение m обычно записывается в виде последовательности
нулей и единиц. Длина ключа k равна длине сообщения.



                              23


Шифрование состоит в применении к m и k операции сложения по
модулю 2 (XOR),            Ek(m) = m ⊕ k.
  Шифр Вернама считается практически не раскрываемым, так как
данное сообщение с помощью подбора слишком большого ключа
можно преобразовать в любое другое. Основная проблема состоит в
хранении и передаче ключа.
  К. Шеннон [25] доказал, что если ключ является истинно
случайной двоичной последовательностью с равномерным законом
распределения, при этом длина ключа равна длине исходного
сообщения и используется этот ключ только один раз, то такой
шифр является абсолютно стойким.

                     1.2.4. Поточные шифры

  Поточные шифры [14, 22], в отличие от блочных, осуществляют
поэлементное шифрование потока данных без задержки в
криптосистеме, их важнейшим достоинством является высокая скорость
преобразования, соизмеримая со скоростью поступления входной
информации. Таким образом, обеспечивается шифрование практически
в реальном масштабе времени вне зависимости от объема и разрядности
потока преобразуемых данных.
  В синхронных поточных шифрах гамма формируется независимо
от входной последовательности, каждый элемент (бит, символ, байт
и т. п.) которой таким образом шифруется независимо от других
элементов. В синхронных поточных шифрах отсутствует эффект
размножения ошибок, то есть число искаженных элементов в
расшифрованной последовательности равно числу искаженных
элементов зашифрованной последовательности, пришедшей из
канала связи.
  Вставка      или    выпадение    элемента     зашифрованной
последовательности недопустимы, так как из-за нарушения
синхронизации это приведет к неправильному расшифрованию

                                24


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

           1.2.5. Шифрование методом гаммирования

  Для зашифрования входной последовательности по этому методу
отправитель производит побитовое сложение по модулю 2 ключа k
(известный получателю и отправителю) и m-разрядной двоичной
последовательности, соответствующей пересылаемому сообщению:
                         ci = mi ⊕ ki , i = 1,m,
где mi, ki, ci- очередной i-й бит соответственно исходного сооб-
щения m, ключа k и зашифрованного сообщения с. Процесс
расшифрования сводится к повторной генерации ключевой
последовательности и наложению ее на зашифрованные данные.
Уравнение расшифрования имеет вид:
                        mi = ci ⊕ ki , i=1,m
  Как известно [1, 22], если ключ является фрагментом истинно
случайной двоичной последовательности с равномерным законом
распределения, причем его длина равна длине исходного
сообщения и используется этот ключ только один раз, после чего
уничтожается, такой шифр является абсолютно стойким, его
невозможно раскрыть, даже если криптоаналитик располагает
неограниченным запасом времени и неограниченным набором
вычислительных ресурсов. Действительно, противнику известно

                               25


только зашифрованное сообщение с, при этом все различные
ключевые последовательности k возможны и равновероятны, а
значит, возможны и любые сообщения m, то есть криптоалгоритм
не дает никакой информации об открытом тексте.
  Необходимые и достаточные условия абсолютной стойкости
шифра:
  - полная случайность ключа;
  - равенство длин ключа и открытого текста;
  - однократное использование ключа.
  Основным недостатком данной схемы является равенство объема
ключевой информации и объема передаваемых сообщений, поэтому
гаммирование используется в каналах связи для шифрования только
исключительно важных сообщений.
  Если период гаммы превышает длину всего зашифрованного
сообщения и неизвестна никакая часть исходного текста, то
шифр можно раскрыть только прямым перебором (подбором
ключа). В этом случае криптостойкость определяется только
размером ключа.
  Таким образом, процессом гаммирования называется процедура
наложения на входную информационную последовательность
гаммы шифра, то есть последовательности с выходов генератора
псевдослучайной последовательности (ПСЧ). Последовательность
называется псевдослучайной, если по своим статистическим
свойствам     она     отличима    от     истинно    случайной
последовательности, но в отличие от последней является
детерминированной, то есть значение алгоритма её формирования
дает возможность повторения гаммы необходимое число раз.
  Чтобы получить линейные последовательности элементов
гаммы, длина которых превышает размер шифруемых
сообщений, используются генераторы ПСЧ.
  Надёжность шифрования методом гаммирования определяется
качеством генератора гаммы. Различают гаммирование с конечной
                              26


и бесконечной гаммами. В качестве конечной гаммы может
использоваться фраза (пример 1), в качестве бесконечной -
последовательность, вырабатываемая генератором псевдослу-
чайных чисел (пример 2).
  В том случае, если множеством используемых для шифрования
знаков сообщения является текст, отличный от двоичного кода, то
его символы и символы гаммы заменяются цифровыми
эквивалентами, которые затем суммируются по модулю N.
Процесс зашифрования в этом случае определяется соотношением
                    ci = (mi + ri) mod N, i = 1, m,          (1. 1)
где mi, ri , ci – очередной i-й знак исходного сообщения, гаммы и
шифртекста соответственно;
   N– число символов в алфавите сообщения; m – число знаков
открытого текста.
  Пример 1. Открытый текст: «Г А М Б И Т» («04 01 13 02
09 19») Гамма: «М О Д Е Л Ь» («13 15 05 06 12 29»).
Открытый текст и гамма оцифрованы в соответствии с табл.
1.1). Для зашифрования используем соотношение (1.1) и
операцию сложения пo mod 33.
                         c1 = 4 + 13(mod 33) =17;
                         c2 = 1+15(mod 33) = 16;
                        c 3 = 13 +5 (mod 33) =18;
                         c 4 = 2+ 6(mod 33) = 8;
                         c 5 = 9+ 12(mod 33) = 21;
                         c 6 = 19 + 29(mod 33) = 15.
  Шифртекст: «Р П С З Ф О» («17 16 18 08 21 15»).
  Пример 2. Открытый текст: «ГАМБИТ» «04 01 13 02 09
19»
  Гамма « 0 7 0 6 0 9 0 4 0 5 0 8 07 09 . . . ».
   Для зашифрования используем сложение пo mod 2.



                                27


      00100   00001    01101     00010      01001     10011
  ⊕
      00111   00110    01001     00100       00101    01000
      00011   00111    00100     00110       01100    11011

  Шифртекст: «В Ж Г Е Л Ъ ».

                 1.2.6. Блочные составные шифры

  Пусть блочный составной шифр [1,21] определяется семейством
преобразований E следующим образом: Е = (P,C,K,f), где Р -
множество входных значений; С - множество выходных значений;
К- пространство ключей; f- функция зашифрования f: Р ⋅ К→С.
  На основе этого семейства с помощью операции композиции
можно реализовать блочные составные шифры.
  Преобразование fi называется i-м раундом шифрования, i = 1, r,
ключ ki - раундовым ключом. Если ключевые пространства Ki и
преобразования fi для всех раундов совпадают, то такой составной
шифр называется итерационным, представляющим собой
композицию одной и той же криптографической функции, ис-
пользуемой с разными ключами. Таким образом, идея, лежащая в
основе композиционных шифров, состоит в построении
криптостойкой системы путем многократного применения
относительно простых криптографических преобразований, в
качестве которых К. Шеннон [23]         предложил использовать
преобразования подстановки (substitution) и перестановки
(permutation). Схемы, реализующие эти преобразования, называ-
ются SP-сетями.
  Многократное использование этих преобразований позволяет
обеспечить два свойства, которые должны быть присущи стойким
шифрам: рассеивание (diffusion) и перемешивание (confusion) [2,7].
Рассеивание предполагает распространение влияния одного знака
                                28


открытого текста, а также одного знака ключа на значительное
количество знаков шифртекста. Наличие у шифра этого свойства:
  - позволяет скрыть статистическую зависимость между знаками
открытого текста, иначе говоря, перераспределить избыточность
исходного языка посредством распространения ее на весь текст;
  - не позволяет восстанавливать неизвестный ключ по частям.
  Например, обычная перестановка символов позволяет скрыть
частоты появления биграмм, триграмм и т. д.
  Цель перемешивания - сделать как можно более сложной
зависимость между ключом и шифртекстом. Криптоаналитик на
основе статистического анализа перемешанного текста не должен
получить сколь-нибудь значительного количества информации об
использованном ключе. Обычно перемешивание осуществляется
при помощи подстановок. Как будет видно ниже, применение к
каждому элементу открытого текста своей собственной
подстановки приводит к появлению абсолютно стойкого шифра.
Применение рассеивания и перемешивания порознь не
обеспечивает    необходимую     стойкость    (за   исключением
вышеупомянутого предельного случая), стойкая криптосистема
получается только в результате их совместного использования. В
современных блочных криптосистемах раундовые шифры строятся
в основном с использованием операций замены двоичных кодов
небольшой разрядности (схемы, реализующие эту нелинейную
операцию, называются S-блоками; как правило, именно от их
свойств в первую очередь зависит стойкость всей системы),
перестановки элементов двоичных кодов, арифметических и
логических операций над двоичными кодами. Важным
достоинством    многих    составных     шифров    является    их
симметричность относительно операций зашифрования и
расшифрования, которые по этой причине могут быть реализованы
на одном устройстве. Переход от одного режима к другому

                               29


обеспечивается заменой последовательности раундовых ключей на
обратную.
  Если представить шифруемый блок данных (открытого pi или
закрытого сi, текста) длиной п в виде пары полублоков
                     pi = сi = (L, R) =|L| = |R| = n/2,
то раундовая функция зашифрования над n/2-битовыми блоками
данных имеет следующий вид :
                      fi(рi)= fi (L, R) = (R,L ⊕ fi(R)),
для которого легко построить обратную функцию расшифрования
 -1               -1     -1
f i (c):          f (c) = fi (L, R) = (R, L ⊕ fi(R)),
  Шифр, использующий раундовые функции такого вида,
называется шифром Фейстеля ( рис. 1.4).
   В подавляющем большинстве шифров рассматриваемой
структуры используется разрядность блока, равная 64 битам, а в
качестве операции ⊕ - поразрядное сложение по модулю 2.
  Практической реализацией итерационного блочного шифра были
разработанные X. Фейстелем и другими сотрудниками фирмы IBM
криптоалгоритмы Lucifer и DES (Data Encryption Standard).
Алгоритм работы DES подробно рассмотрен в главе 2.




                              30


     Рис.1.4. Схема петли Фейстеля:
а- зашифрование; б - расшифрование




                31


       ГЛАВА 2. СИММЕТРИЧНЫЕ КРИПТОСИСТЕМЫ

                2.1. Алгоритм шифрования данных DES

  Алгоритм DES (Data Encryption Standard) [1,22] является
типичным      представителем   семейства   блочных    шифров,
допускающим эффективную аппаратную и программную
реализацию при достижении скоростей шифрования до нескольких
мегабайт в секунду. Алгоритм DES предназначен для шифрования
данных 64-битовыми блоками. Обобщенная схема шифрования в
алгоритме DES показана на рис. 2.1. Алгоритм DES представляет
собой комбинацию двух основных методов шифрования
подстановки и перестановки. Основным комбинационным блоком
DES является применение к тексту единичной комбинации этих
двух методов. Такой блок называется раундом. DES включает 16
раундов, то есть одна и та же комбинация методов применяется к
открытому тексту 16 раз.
                        Исходный текст



                     Начальная перестановка

                                                 Ключ
       16 раз
                            Шифрование



                      Конечная перестановка



                           Шифртекст


            Рис.2.1. Обобщенная схема шифрования в алгоритме DES

                                  32



    
Яндекс цитирования Яндекс.Метрика