Программирование и комп-ры

Криптографические методы защиты информации. Метод комбинированного шифрования



                                  ВВЕДЕНИЕ.

                    Криптографическая защита информации.

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


                      Наиболее известные криптосистемы.

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



                              Защита информации
                    методом комбинированного шифрования.

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

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

|З |А |Ч |Е |Т |                                     |А |Е |З |Т |Ч |
|я |ь |п |и |ш |                                     |ь |и |я |ш |п |
|у |ь |к |у |р |                                     |ь |у |у |р |к |
|с |о |в |у |ю |                                     |о |у |с |ю |в |

Выписываем буквы открытого текста под буквами ключа. Затем буквы ключа
расставляем в алфавитном порядке. Выписываем буквы по столбцам и получаем
шифртекст: ььоиууяусшрюпкв.
Полученное сообщение зашифруем с помощью метода подстановки :
Пусть каждому символу русского алфавита соответствует число от 0 до 32, то
есть букве А будет соответствовать 0, букве Б - 1 и т. д. Возьмем также
некое число, например 2, которое будет ключем шифра. Прибавляя к числу,
соответствующему определенному символу, 2, мы получим новый символ,
например если А соответствует 0, то  при прибавлении 2 получаем В и так
далее. Пользуясь этим, получаем новый шифртекст : ююркххбхуьтасмд
Итак имея открытый текст : Я пишу курсовую , после преобразований получаем
шифртекст: ююркххбхуьтасмд, используя методы перестановки и замены.
Раскрыть текст расшифровщик сможет, зная, что ключами являются число 2 и
слово "зачет" и соответственно последовательность их применения.



                                 Дополнения


DES-стандарт США на шифрование данных.

      Одним из наилучших примеров криптоалгоритма,  разработанного в
соответствии с принципами рассеивания  и  перемешивания,  может служить
принятый  в  1977  году  Национальным бюро стандартов США стандарт
шифрования данных DES (Data Enscription Standard). Несмотря на интенсивные
и  тщательные исследования  алгоритма  специалистами,  пока  не найдено
уязвимых мест алгоритма,  на основе которых можно было бы предложить метод
криптоанализа,  существенно лучший, чем полный перебор ключей. Общее мнение
таково:  DES - исключительно хороший шифр.
      Криптография известна с древнейших времен (достаточно вспомнить коды
Цезаря) и до недавнего времени  оставалась привилегией исключительно
государственных и военных учреждений. Ситуация резко изменилась после
публикации в 1949 году книги К.Шеннона "Работы по теории информации и
кибернетике". Криптография стала объектом пристального внимания многих
ученых.
      Принятие стандарта шифрования DES явилось мощным толчком к широкому
применению шифрования в коммерческих системах. Введение этого стандарта -
отличный пример унификации и стандартизации средств защиты.  Примером
системного подхода к созданию единой крупномасштабной системы защиты
информации является  директива Министерства финансов США 1984 года,
согласно которой все общественные и частные организации,  ведущие дела с
правительством США,  обязаны внедрить процедуру шифрования DES;  крупнейшие
банки - Citibank, Chase Manhattan Bank, Manufaktures Hannover Trust, Bank
of America, Security Pacific Bank - также внедрили эту систему.
Министерство энергетики  США  располагает более чем 30 действующими сетями,
 в которых используется алгоритм DES. Министерство юстиции  устанавливает
20000  радиоустройств,  располагающих средствами защиты на базе DES.
      Стандартизация в последнее  время приобретает международный характер,
подтверждение тому - международный стандарт 1987 года ISO 8372,
разработанный на основе криптоалгоритма DES.
      В качестве стандартной аппаратуры шифрования  можно  назвать
устройство Cidex-НХ, базирующееся на алгоритме DES; скорость шифрования -
от 56 Кбит/с до 7 Мбит/с.  Серийно выпускается автономный шифровальный блок
DES 2000, в нем также используется процедура шифрования DES;  скорость
шифрования - от 38,4 Кбит/с  до  110Кбит/с. В  различных секторах
коммерческой деятельности используется процессор шифрования/дешифрования
данных FACOM 2151А на  основе алгоритма  DES;  скорость - от 2,4 Кбит/с до
19,2 Кбит/с.  С распространением персональных компьютеров  наиболее
эффективными для них стали программные средства защиты.  Так, разработан
пакет программ  для  шифрования/дешифрования  информации  СТА (Computer
Intelligence Access),  реализующий алгоритм DES. Этот же алгоритм
использован в пакете SecretDisk (C F Systems) для исключения
несанкционированного доступа к дискам.
      Таким образом,  алгоритм DES представляет собой основной механизм,
применявшийся  частными  и  государственными учреждениями США для защиты
информации.  В то же время  Агенство  национальной безопасности,
выступающее  как эксперт по криптографическим алгоритмам, разрабатывает
новые алгоритмы шифрования данных для  массового использования.  В  1987
году Национальное бюро стандартов после обсуждения подтвердило действие
DES;  его пересмотр намечалось провести не позднее января 1992 года,  и на
сегодняшний день действие DES ограничивается исключительно коммерческими
системами. DES может  быть реализован аппаратно и программно, но базовый
алгоритм всё же рассчитан на  реализацию  в  электронных устройствах
специального назначения. Самым существенным недостатком DES считается малый
размер ключа.Стандарт в  настоящее время не считается неуязвимым, хотя и
очень труден для раскрытия (до сих пор не были зарегистрированы случаи
несанкционированной дешифрации. Ещё один недостаток DES заключается в том,
что одинаковые  данные  будут  одинаково выглядеть в зашифрованном тексте.

ГОСТ 28147-89 - отечественный стандарт шифрования данных.

     В России установлен единый алгоритм криптографического преобразования
данных для систем  обработки  информации  в  сетях ЭВМ, отделительных
комплексах  и ЭВМ,  который определяется ГОСТ 28147-89.
     Алгоритм криптографического преобразования данных предназначен для
аппаратной  или  программной  реализации,  удовлетворяет криптографическим
требованиям  и  не  накладывает ограничений  на степень секретности
защищаемой информации.
     Чтобы получить подробные спецификации алгоритма криптографического
преобразования,  следует обратиться к ГОСТ 28147-89.  Безусловно,
приведенный  ниже материал не должен ни при каких условиях использоваться
для программной или аппаратной реализации алгоритма криптографического
преобразования.
     При описании алгоритма используются следующие обозначения:
     Если L и R - это последовательности бит, то LR будет обозначать
конкатенацию последовательностей L и  R.  Под  конкатенацией
последовательностей L и R понимается последовательность бит, размерность
которой равна сумме размерностей L и R.  В этой последовательности биты
последовательности R следуют за битами последовательности L. Конкатенация
битовых строк является ассоциативной, т.е. запись ABCDE обозначает,  что за
битами последовательности А следуют биты последовательности В, затем С и
т.д.
     Символом (+) будет обозначаться операция побитового сложения по модулю
2, символом [+] - операция сложения по модулю ( 2 в 32 степени) двух 32-
разрядных чисел. Числа суммируются по следующему правилу:

          A [+] B = A + B , если A + B <> (2 в 32 степени),
          A [+]  B  = A + B - ( 2 в 32 степени), если A + B = 2 в 32

 Символом {+} обозначается операция сложения по модулю ((2 в а532а0) -1)
двух 32 разрядных чисел. Правила суммирования чисел следующие:

         A {+} B = A + B, если A + B <> ((2 в 32) - 1)
         A {+} B = A + B - ((2 в 32) - 1), если A + B = (2 в 32) - 1

     Алгоритм криптографического  преобразования  предусматривает несколько
режимов работы. Но в любом случае для шифрования данных используется ключ,
который имеет размерность 256 бит и представляется в виде восьми 32-
разрядных чисел  Х(i).  Если  обозначить ключ через W, то
                  W =X(7)X(6)X(5)X(4)X(3)X(2)X(1)X(0)
     Расшифрование выполняется по тому же ключу, что и зашифрование, но
этот процесс  является  инверсией  процесса  зашифрования данных.
     Первый и самый простой режим - замена. Открытые данные, подлежащие
зашифрованию,  разбивают на блоки по 64 бит в каждом, которые можно
обозначить Т(j).
     Очередная последовательность  бит  Т(j)  разделяется  на две
последовательности В(О) (левые или старшие биты) и  А(О)  (правые или
младшие биты),  каждая из которых содержит 32 бита. Затем выполняется
итеративный  процесс  шифрования,  который  описывается следующими
формулами:
  1.   A(i)=f(A(i-1) [+] X(j) (+) B(i-1)),
    и  B(i)=A(i-1),
    если i=1,2,...,24,j=(i-1) mod 8;

  2.   A(i)=f(A(i-1) [+] X(j) (+) B(i-1)),
    и  B(i)=A(i-1),
    если i=25,26,...,31,j=32-i;

  3.   A(32)=A(31),
    и  B(32)=f(A(31) [+] X(0)) (+) B(31),
    если i=32.

     Здесь i обозначается номер итерации (i=1,2,...,32).  Функция f
называется функцией шифрования. Ее аргументом является сумма по модулю 2 в
а532а0 числа А(i), полученного на предыдущем шаге итерации, и числа Х(j)
ключа (размерность каждого из этих чисел равна 32 знакам).
     Функция шифрования  включает  две  операции  над  полученной 32-
разрядной суммой.  Первая  операция называется подстановкой К. Блок
подстановки К состоит из восьми узлов замены К(1) ... К(8) с памятью 64 бит
каждый. Поступающий на блок подстановки 32-разрядный вектор разбивается на
восемь последовательно идущих 4-разрядный вектор  соответствующим  узлом
замены,  представляющим собой
таблицу из шестнадцати целых чисел в диапазоне 0....15.
     Входной вектор  определяет адрес строки в таблице,  число из которой
является выходным вектором.  Затем  4-разрядные  выходные векторы
последовательно объединяются в 32-разрядный вектор.  Таблицы блока
подстановки К содержит ключевые  элементы,  общие  для сети ЭВМ и редко
изменяемые.
     Вторая операция - циклический сдвиг влево 32-разрядного вектора,
полученного  в результате подстановки К.  64-разрядный блок зашифрованных
данных Тш представляется в виде

                  Тш = А(32) В(32)

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

     Следующий режим  шифрования называется режимом гаммирования. Открытые
данные,   разбитые   на     64-разрядные    блоки    Т(i) (i=1,2,...,m},
(где  m определяется объемом шифруемых данных),  зашифровываются в режиме
гаммирования путем  поразрядного  сложения по модулю  2  с  гаммой шифра
Гш,  которая вырабатывается блоками по 64 бит, т.е.

                  Гш = ( Г(1),Г(2), ...,Г(i), ...,Г(m) ).

     Число двоичных разрядов в блоке Т(m) может быть  меньше  64, при этом
неиспользованная  для  шифрования  часть гаммы шифра из блока Г(m)
отбрасывается.
     Уравнение зашифрования  данных  в  режиме гаммирования может быть
представлено в следующем виде:

      Ш(i)=A(Y(i-1) [+] C2),
      Z(i-1) {+ }C1 (+) T(i)=Г(i) (+) T(i).

     В этом уравнении Ш(i) обозначает 64-разрядный блок  зашифрованного
текста,  А  -  функцию шифрования в режиме простой замены (аргументами этой
функции являются два 32-разрядного числа), С1 и С2 -  константы,  заданные
в ГОСТ 28147-89.  Величины Y(i) и Z(i) определяются итерационно по мере
формирования  гаммы, следующим образом:

      (Y(0),Z(0))=A(S),

где S - 64-разрядная двоичная последовательность (синхропосылка);

      (Y(i),Z(i))=(Y(i-1) [+] C2,Z(i-1) {+} C1),
для i=1,2,..,m
     Расшифрование данных  возможно  только при наличии синхропосылки,
которая не является секретным элементом шифра и может храниться в  памяти
ЭВМ  или передаваться по каналам связи вместе с зашифрованными данными.
     Режим гаммирования  с  обратной  связью очень похож на режим
гаммирования. Как и в режиме гаммирования,  открытые данные, разбитые на 64-
разрядные блоки Т(i) (i=1,2,....,m), где m определяется объемом шифруемых
данных), зашифровывается путем поразрядного сложения по  модулю  2 с гаммой
шифра Гш,  которая вырабатывается блоками по 64 бит:

    Гш=(Г(1),Г(2),...,Г(i),...,Г(m)).

     Число двоичных  разрядов  в блоке Т(m) может быть меньше 64, при этом
неиспользованная для шифрования  часть  гаммы  шифра  из блока Г(m)
отбрасывается.
     Уравнение зашифрования данных в режиме гаммирования с обратной связью
может быть представлено в следующем виде:

     Ш(1) = A(S) (+) T(1) = Г(1) (+) T(1),
     Ш(i) = A(Ш(i-1)) (+) T(i) = Г(i) (+) T(i),
  для i=2,3,...,m

     Здесь Ш(i) обозначает 64-разрядный блок зашифрованного текста, А  -
функцию шифрования в режиме простой замены.  Аргументом функции на первом
шаге итеративного алгоритма является 64-разрядный синхропосылка, а на всех
последующих - предыдущий блок зашифрованых данных Ш(i-1).
     В ГОСТ 28147-89 определяется процесс выработки имитовставки, который
единообразен для любого  из  режимов  шифрования  данных. Имитовставка -
это блок из p бит ( имитовставка Иp),  который вырабатывается любо перед
шифрованием всего сообщения,  либо параллельно с шифрованием по блокам.
Первые блоки открытых данных, которые участвуют в выработке имитовставки,
могут содержать служебную информацию (например, адресную часть, время,
синхропосылку) и не зашифровываться. Значение параметра p (число двоичных
разрядов в имитовставке) определяется  криптографическими  требованиями с
учетом того, что вероятность навязывания ложных помех равна 1/2а5р
     Для получения  имитовставки открытые данные представляются в виде 64-
разрядных блоков Т(i) (i=1,2,...,  m где  m  определяется объемом шифруемых
данных).  Первый блок открытых данных Т(1) подвергается преобразованию,
соответствующему первым 16 циклам алгоритма зашифрования  в  режиме
простой замены. Причем в качестве ключа для выработки имитовставки
используется ключ,  по  которому
шифруются данные.
     Полученное после 16 циклов работы 64-пазрядное число суммируется по
модулю 2 со вторым блоком открытых данных Т(2). Результат суммирования
снова подвергается преобразованию, соответствующему первым 16 циклам
алгоритма зашифрования в режиме простой замены.
     Полученное 64-разрядное  число  суммируется  по  модулю  2 с третьим
блоком открытых данных Т(3) и т.д.  Последний блок  Т(m), при необходимости
 дополненный до полного 64-разрядного блока нулями, суммируется по модулю 2
с результатом работы на  шаге  m-1, после чего  зашифровывается  в режиме
простой замены по первым 16 циклам работы алгоритма. Из полученного 64-
разрядного числа выби
рается отрезок Ир длиной р бит.
     Имитовставка Ир передается по каналу связи или в память  ЭВМ после
зашифрованных данных. Поступившие зашифрованные данные расшифровываются и
из полученных блоков открытых данных Т(i) вырабатывается имитовставка  Ир,
которая затем сравнивается с имитовставкой Ир, полученной из канала связи
или из памяти ЭВМ. В случае несовпадения имитовставок  все  расшифрованные
данные считаются ложными. Алгоритм криптографического
преобразования,являющийся отечественным стандартом и определяемый ГОСТ
28147-89,свободен от недостатков стандарта DES и в то же время облаадает
всеми его преимуществами.Кроме  того  в него заложен метод,с помощью
которого можно  зафиксировать  необнаруженную  случайную   или умышленную
модификацию зашифрованной информации.
     Однако у алгоритма есть очень существенный недостаток,который
заключается в том,что его программная  реализация  очень сложна и
практически лишена всякого смысла.


смотреть на рефераты похожие на "Криптографические методы защиты информации. Метод комбинированного шифрования"