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

Криптография - наука о защите
информации от прочтения ее посторонними. Защита достигается шифрованием, т. е.
преобразованием, которое делает защищенные входные данные труднораскрываемыми по
выходным данным без знания специальной ключевой информации - ключа. Под ключом
понимается легко изменяемая часть криптосистемы, хранящаяся в тайне и
определяющая, какое шифрующие преобразование из возможных выполняется в данном
случае. Криптосистема - семейство выбираемых с помощью ключа обратимых
преобразований, которые преобразуют защищаемый открытый текст в шифрограмму и
обратно. Желательно, чтобы методы шифрования обладали минимум двумя
свойствами: законный получатель сможет выполнить обратное преобразование и
расшифровать сообщение; криптоаналитик противника, перехвативший сообщение, не
сможет восстановить по нему исходное сообщение без таких затрат времени и
средств, которые сделают эту работу работу нецелесообразной. По характеру использования ключа известные
криптосистемы можно разделить на два типа: симметричные (одноключевые, с
секретным ключом) и несимметричные (с открытым ключом). В шифраторе
отправителя и дешифраторе получателя используется один и тот же ключ. Шифратор
образует шифртекст, который является функцией открытого текста, конкретный вид
функции шифрования определяется секретным ключом. Дешифратор получателя
сообщения выполняет обратное преобразование аналогичным образом. Секретный ключ
хранится в тайне и передается отправителем сообщения получателя по каналу,
исключающему перехват ключа криптоаналитиком противника. Обычно предполагается
правило Кирхгофа: стойкость шифра определяется только секретностью ключа, т. е.
криптоаналитику известны все детали процесса шифрования и дешифрования, кроме
секретного ключа. Открытый текст обычно имеет произвольную длину: если его
размер велик и он не может быть обработан вычислительным устройством шифратора
целиком, то он разбивается на блоки фиксированной длины, и каждый блок шифруется
в отдельности, независимо от его положения во входной последовательности. Такие
криптосистемы называются системами блочного шифрования. На практике обычно
используют два общих принципа шифрования: рассеивание и перемешивание.
Рассеивание заключается в распространении влияния одного символа открытого
текста на много символов шифртекста: это позволяет скрыть статистические
свойства открытого текста. Развитием этого принципа является распространение
влияния одного символа ключа на много символов шифрограммы, что позволяет
исключить восстановление ключа по частям. Перемешивание состоит в использовании
таких шифрующих преобразований, которые исключают восстановление взаимосвязи
статистических свойств открытого и шифрованного текста. Распространенный способ
достижения хорошего рассеивания состоит в использовании составного шифра,
который может быть реализован в виде некоторой последовательности простых
шифров, каждый из которых вносит небольшой вклад в значительное суммарное
рассеивание и перемешивание. В качестве простых шифров чаще всего используют
простые подстановки и перестановки. Известны также методы аналитического
преобразования, гаммирования, а также метод комбинированного шифрования.
Важнейшим
требованием к системе шифрования является стойкость данной системы. К сожалению,
повышение стойкости при помощи любого метода приводит, как правило, к трудностям
и при шифровании открытого текста и при его расшифровке. Одним из наиболее
эффективных методов повышения стойкости шифр-текста является метод
комбинированного шифрования. Этот метод заключается в использовании и
комбинировании нескольких простых способов шифрования. Так, например, можно
использовать метод шифрования простой перестановкой в сочетании с методом
аналитических преобразований или текст, зашифрованный методом гаммирования,
дополнительно защитить при помощи подстановки. Защитим этот
текст методом простой перестановки, используя в качестве ключа слово
" Выписываем буквы открытого
текста под буквами ключа. Затем буквы ключа расставляем в алфавитном порядке.
Выписываем буквы по столбцам и получаем шифртекст: Пусть каждому
символу русского алфавита соответствует число от 0 до 32, то есть букве А будет
соответствовать 0, букве Б - 1 и т. д. Возьмем также некое число, например 2,
которое будет ключем шифра. Прибавляя к числу, соответствующему определенному
символу, 2, мы получим новый символ, например если А соответствует 0, то при
прибавлении 2 получаем В и так далее. Пользуясь этим, получаем новый шифртекст :
ююркххбхуьтасмд , используя методы
перестановки и замены. Раскрыть текст расшифровщик сможет, зная, что ключами
являются число 2 и слово "зачет" и соответственно последовательность их
применения. Одним из наилучших примеров криптоалгоритма, разработанного в соответствии с
принципами рассеивания и перемешивания, может служить принятый в 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. Безусловно, приведенный ниже материал не
должен ни при каких условиях использоваться для программной или аппаратной
реализации алгоритма криптографического преобразования. Если L и R - это
последовательности бит, то LR будет обозначать конкатенацию последовательностей
L и R. Под конкатенацией последовательностей L и R понимается последовательность
бит, размерность которой равна сумме размерностей L и R. В этой
последовательности биты последовательности R следуют за битами
последовательности L. Конкатенация битовых строк является ассоциативной, т. е.
запись ABCDE обозначает, что за битами последовательности А следуют биты
последовательности В, затем С и т. д. Символом (+) будет обозначаться
операция побитового сложения по модулю 2, символом [+] - операция сложения по
модулю ( 2 в 32 степени) двух 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, то
Расшифрование выполняется по тому же ключу, что и зашифрование, но этот процесс
является инверсией процесса зашифрования данных. Первый и самый простой
режим - замена. Открытые данные, подлежащие зашифрованию, разбивают на блоки по
64 бит в каждом, которые можно обозначить Т(j). Очередная последовательность
бит Т(j) разделяется на две последовательности В(О) (левые или старшие биты) и
А(О) (правые или младшие биты), каждая из которых содержит 32 бита. Затем
выполняется итеративный процесс шифрования, который описывается следующими
формулами: 2. A(i)=f(A(i-1) [+] X(j) (+) B(i-1)),
и B(32)=f(A(31) [+] X(0)) (+) B(31), Здесь i
обозначается номер итерации (i=1, 2, . . . , 32). Функция f называется функцией
шифрования. Ее аргументом является сумма по модулю 2 в а532а0 числа А(i),
полученного на предыдущем шаге итерации, и числа Х(j) ключа (размерность каждого
из этих чисел равна 32 знакам). Функция шифрования включает две операции над
полученной 32-разрядной суммой. Первая операция называется подстановкой К. Блок
подстановки К состоит из восьми узлов замены К(1) . . . К(8) с памятью 64 бит
каждый. Поступающий на блок подстановки 32-разрядный вектор разбивается на
восемь последовательно идущих 4-разрядный вектор соответствующим узлом замены,
представляющим собой таблицу из шестнадцати целых чисел в диапазоне 0. . . . 15.
Входной вектор определяет адрес строки в таблице, число из которой является
выходным вектором. Затем 4-разрядные выходные векторы последовательно
объединяются в 32-разрядный вектор. Таблицы блока подстановки К содержит
ключевые элементы, общие для сети ЭВМ и редко изменяемые. Вторая операция -
циклический сдвиг влево 32-разрядного вектора, полученного в результате
подстановки К. 64-разрядный блок зашифрованных данных Тш представляется в
виде Следует иметь в виду, что режим
простой замены допустимо использовать для шифрования данных только в
ограниченных случаях. К этим случаям относится выработка ключа и шифрование его
с обеспечением имитозащиты для передачи по каналам связи или хранения в памяти
ЭВМ. Следующий режим шифрования называется режимом гаммирования. Открытые
данные, разбитые на 64-разрядные блоки Т(i) (i=1, 2, . . . , m}, (где m
определяется объемом шифруемых данных), зашифровываются в режиме гаммирования
путем поразрядного сложения по модулю 2 с гаммой шифра Гш, которая
вырабатывается блоками по 64 бит, т. е. Гш = ( Г(1), Г(2), . . . , Г(i), . . .
, Г(m) ). Число двоичных разрядов в блоке Т(m) может быть меньше 64, при
этом неиспользованная для шифрования часть гаммы шифра из блока Г(m)
отбрасывается. Ш(i)=A(Y(i-1) [+] C2), В этом уравнении Ш(i) обозначает 64-разрядный
блок зашифрованного текста, А - функцию шифрования в режиме простой замены
(аргументами этой функции являются два 32-разрядного числа), С1 и С2 -
константы, заданные в ГОСТ 28147-89. Величины Y(i) и Z(i) определяются
итерационно по мере формирования гаммы, следующим образом: (Y(0), Z(0))=A(S),
где S - 64-разрядная двоичная последовательность (синхропосылка); Расшифрование
данных возможно только при наличии синхропосылки, которая не является секретным
элементом шифра и может храниться в памяти ЭВМ или передаваться по каналам связи
вместе с зашифрованными данными. Режим гаммирования с обратной связью очень
похож на режим гаммирования. Как и в режиме гаммирования, открытые данные,
разбитые на 64-разрядные блоки Т(i) (i=1, 2, . . . . , m), где m определяется
объемом шифруемых данных), зашифровывается путем поразрядного сложения по модулю
2 с гаммой шифра Гш, которая вырабатывается блоками по 64 бит: Гш=(Г(1), Г(2), .
. . , Г(i), . . . , Г(m)). Число двоичных разрядов в блоке Т(m) может
быть меньше 64, при этом неиспользованная для шифрования часть гаммы шифра из
блока Г(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 и в то же
время облаадает всеми его преимуществами. Кроме того в него заложен метод, с
помощью которого можно зафиксировать необнаруженную случайную или умышленную
модификацию зашифрованной информации. Однако у алгоритма есть очень существенный
недостаток, который заключается в том, что его программная реализация очень
сложна и практически лишена всякого смысла.