Криптографическая защита информации.
Криптография - наука о защите информации от прочтения ее
посторонними. Защита достигается шифрованием, т. е.
преобразованием, которое делает защищенные входные данные
труднораскрываемыми по выходным данным без знания специальной
ключевой информации - ключа. Под ключом понимается легко изменяемая
часть криптосистемы, хранящаяся в тайне и определяющая, какое
шифрующие преобразование из возможных выполняется в данном случае.
Криптосистема - семейство выбираемых с помощью ключа обратимых
преобразований, которые преобразуют защищаемый открытый текст в
шифрограмму и обратно.
Желательно, чтобы методы шифрования обладали минимум двумя
свойствами: законный получатель сможет выполнить обратное
преобразование и расшифровать сообщение; криптоаналитик противника,
перехвативший сообщение, не сможет восстановить по нему исходное
сообщение без таких затрат времени и средств, которые сделают эту
работу работу нецелесообразной.
Наиболее известные криптосистемы.
По характеру использования ключа известные криптосистемы можно
разделить на два типа: симметричные (одноключевые, с секретным
ключом) и несимметричные (с открытым ключом).
В шифраторе отправителя и дешифраторе получателя используется один
и тот же ключ. Шифратор образует шифртекст, который является
функцией открытого текста, конкретный вид функции шифрования
определяется секретным ключом. Дешифратор получателя сообщения
выполняет обратное преобразование аналогичным образом. Секретный
ключ хранится в тайне и передается отправителем сообщения
получателя по каналу, исключающему перехват ключа криптоаналитиком
противника. Обычно предполагается правило Кирхгофа: стойкость шифра
определяется только секретностью ключа, т. е. криптоаналитику
известны все детали процесса шифрования и дешифрования, кроме
секретного ключа.
Открытый текст обычно имеет произвольную длину: если его размер
велик и он не может быть обработан вычислительным устройством
шифратора целиком, то он разбивается на блоки фиксированной длины,
и каждый блок шифруется в отдельности, независимо от его положения
во входной последовательности. Такие криптосистемы называются
системами блочного шифрования.
На практике обычно используют два общих принципа шифрования:
рассеивание и перемешивание. Рассеивание заключается в
распространении влияния одного символа открытого текста на много
символов шифртекста: это позволяет скрыть статистические свойства
открытого текста. Развитием этого принципа является распространение
влияния одного символа ключа на много символов шифрограммы, что
позволяет исключить восстановление ключа по частям. Перемешивание
состоит в использовании таких шифрующих преобразований, которые
исключают восстановление взаимосвязи статистических свойств
открытого и шифрованного текста. Распространенный способ достижения
хорошего рассеивания состоит в использовании составного шифра,
который может быть реализован в виде некоторой последовательности
простых шифров, каждый из которых вносит небольшой вклад в
значительное суммарное рассеивание и перемешивание. В качестве
простых шифров чаще всего используют простые подстановки и
перестановки. Известны также методы аналитического преобразования,
гаммирования, а также метод комбинированного шифрования.
Защита информации методом комбинированного шифрования.
Важнейшим требованием к системе шифрования является стойкость
данной системы. К сожалению, повышение стойкости при помощи любого
метода приводит, как правило, к трудностям и при шифровании
открытого текста и при его расшифровке. Одним из наиболее
эффективных методов повышения стойкости шифр-текста является метод
комбинированного шифрования. Этот метод заключается в использовании
и комбинировании нескольких простых способов шифрования. Так,
например, можно использовать метод шифрования простой перестановкой
в сочетании с методом аналитических преобразований или текст,
зашифрованный методом гаммирования, дополнительно защитить при
помощи подстановки.
Рассмотрим пример :
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 и в то же
время облаадает всеми его преимуществами. Кроме того в него заложен
метод, с помощью которого можно зафиксировать необнаруженную
случайную или умышленную модификацию зашифрованной информации.
Однако у алгоритма есть очень существенный недостаток, который
заключается в том, что его программная реализация очень сложна и
практически лишена всякого смысла.
Криптографическая защита информации
29
0
10 минут
Темы:
Понравилась работу? Лайкни ее и оставь свой комментарий!
Для автора это очень важно, это стимулирует его на новое творчество!