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

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

ВВЕДЕНИЕ.

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

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

посторонними. Защита достигается шифрованием, т.е. преобразованием, которое

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

знания специальной ключевой информации - ключа. Под ключом понимается

легко изменяемая часть криптосистемы, хранящаяся в тайне и определяющая,

какое шифрующие преобразование из возможных выполняется в данном случае.

Криптосистема - семейство выбираемых с помощью ключа обратимых

преобразований, которые преобразуют защищаемый открытый текст в шифрограмму

и обратно.

Желательно, чтобы методы шифрования обладали минимум двумя

свойствами:

. законный получатель сможет выполнить обратное преобразование и

расшифровать сообщение;

. криптоаналитик противника, перехвативший сообщение, не сможет

восстановить по нему исходное сообщение без таких затрат времени и

средств, которые сделают эту работу работу нецелесообразной.

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

По характеру использования ключа известные криптосистемы можно

разделить на два типа: симметричные (одноключевые, с секретным ключом) и

несимметричные (с открытым ключом).

В шифраторе отправителя и дешифраторе получателя используется один и

тот же ключ. Шифратор образует шифртекст, который является функцией

открытого текста, конкретный вид функции шифрования определяется секретным

ключом. Дешифратор получателя сообщения выполняет обратное преобразование

аналогичным образом. Секретный ключ хранится в тайне и передается

отправителем сообщения получателя по каналу, исключающему перехват ключа

криптоаналитиком противника. Обычно предполагается правило Кирхгофа:

стойкость шифра определяется только секретностью ключа,т.е.

криптоаналитику известны все детали процесса шифрования и дешифрования,

кроме секретного ключа.

Открытый текст обычно имеет произвольную длину: если его размер велик

и он не может быть обработан вычислительным устройством шифратора целиком,

то он разбивается на блоки фиксированной длины, и каждый блок шифруется в

отдельности, независимо от его положения во входной последовательности.

Такие криптосистемы называются системами блочного шифрования.

На практике обычно используют два общих принципа шифрования:

рассеивание и перемешивание. Рассеивание заключается в распространении

влияния одного символа открытого текста на много символов шифртекста: это

позволяет скрыть статистические свойства открытого текста. Развитием этого

принципа является распространение влияния одного символа ключа на много

символов шифрограммы, что позволяет исключить восстановление ключа по

частям. Перемешивание состоит в использовании таких шифрующих

преобразований, которые исключают восстановление взаимосвязи

статистических свойств открытого и шифрованного текста. Распространенный

способ достижения хорошего рассеивания состоит в использовании составного

шифра, который может быть реализован в виде некоторой последовательности

простых шифров, каждый из которых вносит небольшой вклад в значительное

суммарное рассеивание и перемешивание. В качестве простых шифров чаще всего

используют простые подстановки и перестановки. Известны также методы

аналитического преобразования, гаммирования, а также метод комбинированного

шифрования.

Защита информации

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

Важнейшим требованием к системе шифрования является стойкость данной

системы. К сожалению, повышение стойкости при помощи любого метода

приводит, как правило, к трудностям и при шифровании открытого текста и при

его расшифровке. Одним из наиболее эффективных методов повышения стойкости

шифр-текста является метод комбинированного шифрования. Этот метод

заключается в использовании и комбинировании нескольких простых способов

шифрования. Так, например, можно использовать метод шифрования простой

перестановкой в сочетании с методом аналитических преобразований или текст,

зашифрованный методом гаммирования, дополнительно защитить при помощи

подстановки.

Рассмотрим пример :

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 и в то же время облаадает

всеми его преимуществами.Кроме того в него заложен метод,с помощью

которого можно зафиксировать необнаруженную случайную или умышленную

модификацию зашифрованной информации.

Однако у алгоритма есть очень существенный недостаток,который

заключается в том,что его программная реализация очень сложна и

практически лишена всякого смысла.