Методы и средства защиты компьютерной информации криптографические методы для защиты информации. Учебное пособие
.pdfКонтрольные символы определяются по специальным формулам (для четырех разрядов исходной информации):
е1 = х3 + х5 + х7 mod 2; е2 = х3 + х6 + х7 mod 2; е4 = х5 + х6 + х7 mod 2,
где е1, е2, е4 – дополнительные разряды; х3 , х5 , х6 , х7 – разряды исходной информации.
Эти формулы выведены, исходя из модели математического обеспечения, использующего матричную форму представления метода Хэмминга. На рис. 2.3 показана математическая матрица для представления исходной информации размером в 4 бита (3, 5, 6, 7) и трех дополнительных (контрольных) битов (1, 2, 4). Контрольные биты обозначены символом «к», а подконтрольные биты обозначены звездочкой (*).
1 |
2 |
3 |
4 |
5 |
6 |
7 |
– разряды |
4 . |
. |
. |
к |
* |
* |
* |
|
2 . |
к |
* . |
. |
* |
* |
|
|
1 к |
. |
* . |
* |
. |
* |
|
|
Рис. 2.3. Математическая матрица
При декодировании полученного сообщения заново вычисляются контрольные биты по тому же алгоритму, что и при кодировании. Одиночная ошибка в каком-либо разряде изменит четность общего количества единиц исходного слова. Под «словом» можно понимать часть информации, определенную как блок. При этом алгоритм Хэмминга позволяет использовать изменение четности для определения одиночной ошибки. А затем вычисляется суммарный корректор
К = К4 * К2 * К1,
где К4 = е4 + х5 + х5 + х7 mod 2; К2 = е2 + х3 + х6 + х7 mod 2; К1 = е1 + х3 + х5 + х7 mod 2.
Если корректор равен 0, то ошибки никакой нет. Если корректор не равен 0, то местоположение вектор-столбца матрицы, совпадающего с вычисленным корректором, указывает место ошибки.
Для более полного понимания метода Хэмминга в разделе «Практические занятия» рассмотрен пример кодирования и декодирования информации.
21
3. Криптографические методы защиты информации
3.1. Основные понятия и этапы развития криптографии
Эффективным средством противодействия различным угрозам информационной безопасности является использование методов криптографического преобразования (kryptos – тайный). Эти преобразования защищают информацию от лиц, не имеющих соответствующих полномочий. Криптографические преобразования связаны с шифрованием и дешифрованием информации.
История криптографии берет свое начало с 2000 г. до н.э. с шифротекста, найденного при раскопках в Месопотамии, там использовалась тайнопись. В V веке до н.э. во время войны Спарты против Афин использовался следующий шифр: на цилиндрический жезл наматывалась лента из папируса виток к витку, а затем наносился открытый текст вдоль оси цилиндра. На размотанной ленте оставались буквы в непонятной последовательности. И только после повторной намотки ленты на такой же жезл можно было прочитать информацию.
В50-е годы до н.э. Юлий Цезарь в войне с галлами использует другую разновидность шифра – шифр замены. Под алфавитом открытого текста записывался тот же алфавит, циклически сдвинутый на определенное количество позиций. У Ю. Цезаря использовался сдвиг на три позиции.
В1556 г. итальянский математик Д. Кардано изобрел систему шифрования, которая в честь автора названа «Решетка Кардано». Она использовалась Великобританией во время Второй мировой войны. Суть шифрования: в куске картона с размеченной решеткой определенным образом прорезались отверстия, нумерованные в произвольном порядке. Чтобы получить шифротекст, нужно положить этот картон на бумагу и вписать в отверстия буквы открытого текста в выбранном порядке. После снятия картона в промежутке между буквами дописать буквы до псевдоосмысленных фраз. «Решетка Кардано» – пример шифра перестановки.
Среди множества российских шифров можно отметить «цифирную азбуку», которую в 1700 г. ввел Петр I. Суть «цифирной азбуки» заключалась в использовании метода замены – вместо букв использовались определенные значки, называемые «кодовеличинами». За ко-
22
довеличины принимались: отдельные буквы, слова, астрологическая символика небесных тел (солнце, луна, Марс и др.), значки, символизирующие металлы (Au – золото,Ag – серебро, Fe – железо и др.).
3.2. Классификация криптографических средств
На рис 3.1 представлена структура используемых в настоящее время криптографических средств.
М а
а а а
Ш а |
|
С а а |
|
К а |
|
Ра – |
|
С а |
|
|
|
а |
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Рис. 3.1. Структура криптографических средств
При шифровании каждый символ защищаемого сообщения подвергается обратимым математическим, логическим, комбинаторным или иным преобразованиям.
Стеганография, в отличие от других методов, позволяет скрыть не только смысл информации, но и сам факт ее хранения. В основе метода лежит маскирование информации среди открытых файлов. Можно, например, в определенных байтах открытого цифрового файла графической информации помещать биты скрытого файла, что при определенных алгоритмах почти не меняет графику.
Кодирование используется в каналах связи для защиты информации от искажений. Смысловые конструкции исходной информации заменяются алфавитно-цифровыми кодами. Для этого используются специальные таблицы и словари, которые хранятся в секрете. Такие таблицы необходимо часто менять, чтобы не было раскрытия алгоритма кодирования.
Рассечение – разнесение заключается в том, что массив защищаемых данных делится (рассекается) на такие элементы, каждый из которых в отдельности не позволяет раскрыть содержание защищаемой информации. Выделенные элементы данных разносятся, запоминаются на разных носителях или в разных зонах.
23
Сжатие информации относится к криптографии с оговорками. Целью сжатия является сокращение объема информации. В то же время сжатая информация не может быть прочитана без обратного преобразования. Данный метод нельзя рассматривать как надежное средство криптографического преобразования информации. Секретный алгоритм сжатия достаточно просто можно раскрыть статистическими методами обработки.
3.3. Основные методы шифрования
Методом шифрования (шифром) называется совокупность обратимых преобразований открытой информации в закрытую в соответствии с алгоритмом шифрования. Сменный элемент шифра называют ключом.
Примеры из истории:
––в шифре с жезлом ключом преобразования был диаметр жезла;
––в шифре у Ю. Цезаря шифром являлась величина сдвига. Безопасность защищаемой информации определяется в первую оче-
редь ключом. Криптостойкостью называется характеристика шифра, определяющая его стойкость к дешифрованию без знания ключа.
Современные методы шифрования должны отвечать следующим основным требованиям:
––стойкость шифра обеспечивается не секретностью алгоритма шифрования, а секретностью ключа;
––вскрыть шифр можно только путем решения задачи полного перебора возможных ключей;
––количество операций, необходимых для дешифрования информации путем перебора ключей исходной информации, должно выходить за пределы возможностей современных компьютеров;
––шифротекст не должен существенно превосходить по объему исходную информацию;
––не должно быть простых и легко устанавливаемых зависимостей между ключами, последовательно используемых в процессе шифрования;
––ошибки, возникающие при шифровании, не должны приводить к искажению и потере информации;
––трудоемкость шифрования не должна быть слишком большой, а ее стоимость должна быть согласована с ценностью закрываемой информации.
24
Теоретически возможность существования и единственности абсолютно стойкого шифра доказана К. Шенноном. При его использовании всех абонентов необходимо обеспечить достаточным запасом случайных ключей и исключить возможность их повторного применения. На практике это сделать очень трудно и дорого. Поэтому абсолютно стойкие шифры применяются только в каналах связи с небольшим объемом информации обычно при передаче к получателю особо важной государственной информации.
Существующие методы шифрования могут быть классифицированы по различным признакам. На рис. 3.2 представлена структура методов шифрования.
М а
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
П а а |
|
|
|
|
П |
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
М а |
|
|
|
С |
|
|
С а |
||||||
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
М |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
а |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
А а |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
А |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
К а |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Рис. 3.2. Структура методов шифрования
Методы могут быть подразделены на методы с симметричным и асимметричным ключами. При шифровании с симметричным клю-
25
чом используется один секретный ключ для шифрования и расшифровки при обратимости шифропреобразования. Ключ передается отдельно от отправителя к получателю. Скорость обмена большая, но надежность не очень высока. Асимметричное шифрование более надежное, но более сложное. В этом случае используются разные ключи для шифрования и расшифровки. При этом нет необходимости передавать ключ получателю. Процедура дешифрования занимает больше времени. Рассмотрим каждый метод отдельно.
Метод замены (подстановки) заключается в замене по произвольному правилу символов исходной информации, записанных в одном алфавите символами из другого алфавита.
В методе перестановки символы шифруемого текста переставляются по определенному алгоритму внутри шифруемого блока символов.
Аналитические методы шифрования основаны на использовании аналитических преобразований матричной алгебры.
В аддитивных методах шифрования осуществляется последовательное суммирование цифровых кодов, соответствующих символам исходной информации с некоторой специальной последовательностью кодов, которая называется гаммой. Поэтому эти методы называ-
ются гаммированием.
Комбинированное использование нескольких различных методов является наиболее эффективным средством защиты информации. На практике наибольшее распространение получили следующие комбинации:
1)перестановка + гаммирование;
2)подстановка + гаммирование;
3)гаммирование + гаммирование;
4)подстановка + перестановка.
3.3.1. Шифрование методом замены
Метод замены (простая замена) заключается в замене символов шифруемого сообщения другими символами того же самого или некоторого другого алфавита. Ключом такого преобразования является соответствующая таблица замены, устанавливающая однозначное соответствие между символами исходного и шифрующего алфавита. Если алфавит один и тот же, тогда создается таблица простой замены
(табл. 3.1).
Обычно замена текста осуществляется заменой числовым кодом в соответствии с таблицей.
26
Таблица 3.1
Таблица простой замены
Порядковый номер |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
|
символа в алфавите |
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
||
Исходные символы |
А |
Б |
В |
Г |
Д |
Е |
Ж |
З |
И |
К |
Л |
|
Символы замены |
Э |
М |
А |
Ы |
С |
П |
Г |
Ъ |
У |
Р |
Я |
|
Порядковый номер |
29 |
12 |
1 |
27 |
17 |
15 |
4 |
26 |
19 |
16 |
31 |
|
символа в алфавите |
Основным недостатком методик прямой одноалфавитной замены является наличие одних и тех же статистических характеристик появления букв как в исходном, так и в закрытом тексте. Зная, на каком языке написан текст и частотную характеристику использования символов этого языка, криптоаналитик путем статистической обработки перехваченных сообщений может установить соответствие между символами обоих алфавитов.
Вметоде замены часто используется понятие «лозунговый шифр».
Вэтом шифре начальные позиции строк символов замены заполняются буквами легко запоминаемого слова – лозунга, в котором не
должно быть повторяющихся букв (например, футбол, учебник и др.). В оставшиеся позиции строк замены вписываются в алфавитном порядке буквы используемого алфавита, не вошедшие в слово (лозунг).
Более стойкими являются методы полиалфавитной замены, использующие несколько алфавитов для замены символов исходного текста.
При N – алфавитной замене символ S01 из исходного алфавита A0 заменяется символом S11 из алфавита A1, S02 заменяется символом S22 из алфавита A2 и т.д.
Метод полиалфавитной замены может использовать таблицу (матрицу) Вижинера, которая представляет собой квадратную матрицу размерностью [R × R], где R – количество символов в используемом алфавите. В первой строке располагаются символы в алфавитном порядке. Начиная со второй строки, символы записываются со сдвигом влево на одну позицию. Выталкиваемые символы заполняют освобождающиеся позиции справа (циклический сдвиг). Если используется русский алфавит, то с добавлением пробела «_» матрица Вижинера будет иметь размер [32 × 32].
Шифрование можно проводить и с помощью ключа, состоящего из М неповторяющихся символов. В этом случае из полной матрицы Вижинера выделяется матрица размерностью [(M + 1) × R]. Она включает первую строку и строки, первые элементы которых совпадают
27
с символами ключа. Например, при шифровании с ключом ЗОНД матрица букв представляется в следующем виде:
А Б В Г Л Е Ж З И К …….. З И К Л М Н О П Р С ……. О П Р С Т У Ф Х Ц Ч…….. Н О П Р С Т У Ф Х Ц…….
Д Е Ж З И К Л М Н О …….
Шифрование происходит так: в матрице Вижинера ищется столбец, соответствующий букве исходного текста, затем строка, соответствующая букве ключа, и на их пересечении находится соответствующая буква зашифрованного текста.
Замена с использованием матрицы Вижинера эквивалентна простой замене с циклическим изменением алфавита. При этом в каждом цикле существует полиалфавитная подстановка с количеством используемых алфавитов, соответствующих количеству букв в принятом алфавите.
Рассмотрим пример шифрования слова «КРИПТОГРАФИЯ» с помощью матрицы Вижинера и ключа ЗОНД:
Исходное слово |
К |
Р |
И |
П |
Т |
О |
Г |
Р |
А |
Ф |
И |
Я |
|
|
|
|
|
|
|
|
|
|
|
|
|
Ключ |
З |
О |
Н |
Д |
З |
О |
Н |
Д |
З |
О |
Н |
Д |
Шифрованное слово |
С |
Э |
Х |
У |
Щ |
Ы |
Р |
Ф |
З |
А |
Х |
В |
Криптостойкость методов полиалфавитной замены значительно выше методов простой замены, так как одни и те же символы исходной последовательности могут заменяться разными символами. Однако стойкость шифра к статистическим методам криптоанализа зависит от длины ключа. В целях повышения криптостойкости можно использовать усовершенствованные матрицы шифрования Вижинера:
––во всех, кроме первой, строках матрицы буквы располагаются в произвольном порядке;
––в качестве ключа используются случайные последовательности чисел.
3.3.2. Шифрование методом перестановки
Шифрование методом перестановки заключается в том, что символы шифруемого текста переставляются по определенным правилам внутри шифруемого блока символов.
Широкое распространение получили шифры перестановки, использующие разные пути при записи исходной информации и считывании ее для
28
шифрования. Такое шифрование называют маршрутной перестановкой. В простейшем случае можно, например, прочитать исходный текст задом наперед, а также записать исходное сообщение в прямоугольную матрицу, выбрав такой маршрут: по горизонтали, начиная с левого верхнего угла поочередно слева направо и справа налево. Для шифрования сообщение будем считывать по другому маршруту: по вертикали, начиная с правого верхнего угла и двигаясь поочередно сверху вниз и снизу вверх.
Рассмотрим пример шифрования фразы «ПРИМЕР МАРШРУТНОЙ ПЕРЕСТАНОВКИ» с использованием прямоугольника разме-
ром 4 × 7:
|
1 |
2 |
3 |
4 |
5 |
6 |
7 |
1 |
П |
Р |
И |
М |
Е |
Р |
М |
2 |
Н |
Т |
У |
Р |
Ш |
Р |
А |
3 |
О |
Й |
П |
Е |
Р |
Е |
С |
4 |
И |
К |
В |
О |
Н |
А |
Т |
Зашифрованная фраза выглядит так:
МАСТАЕРРЕШРНОЕРМИУПВКЙТРПНОИ.
Широко распространена также разновидность шифра маршрутной перестановки, называемая шифром вертикальной перестановки. В таком шифре реализуется перестановка считываемых столбцов матрицы в соответствии с ключом. Пусть, например, этот ключ будет таким: 5, 4, 1, 7, 2, 6, 3. Теперь при выборке столбцов в порядке, заданном ключом, считывая столбцы сверху вниз, получаем следующую криптограмму:
ЕШРНМРЕОПНОИМАСТРТЙКРРЕАИУПВ.
Частным случаем шифра маршрутной перестановки является также шифр Поворотная решетка, в которой используется трафарет из прямоугольного листа клетчатой бумаги размером 2m × 2k клеток.
Пример шифрования с ключом – решеткой размером для шифро-
вания текста «РЕШЕТКА» – ЧАСТНЫЙ СЛУЧАЙ ШИФРА».
Вписываем на лист бумаги первые 15 (по числу вырезов) букв сообщения. Сняв решетку, увидим на бумаге текст:
|
Е |
|
А |
|
|
|
Н |
|
|
Р |
|
Т |
|
|
|
|
|
|
Ы |
|
Ш |
|
|
|
|
|
|
|
|
|
|
К |
|
Ч |
|
Т |
|
|
Й |
|
Е |
|
= |
|
С |
|
|
|
|
|
|
|
|
А |
|
|
|
|
|
29
Поворачивая решетку на 180° и в незаполненные клетки вписывая следующие 15 букв, получаем следующую запись:
|
|
А |
|
Р |
|
|
Ч |
= |
|
= |
У |
Й |
И |
А |
С |
|
|
Ф |
= |
|
Л |
|
Ш |
= |
В результате получается окончательный текст информации с добавлением символов, которые могут помочь составить понятные фразы. В таблице для большего понимания первый текст выделен жирным шрифтом, а дополнительные символы – окрашены (см. две строки):
Р |
Е |
К |
А |
Р |
А |
К |
Н |
Р |
|
Р |
У |
Т |
И |
Ч |
Н |
А |
|
Р |
Ы |
= |
Ш |
К |
У |
Ч |
Й |
Т |
И |
А |
Й |
|
|
|
|
|
|
||||
С |
Е |
|
= |
А |
С |
|
Ф |
|
= |
|
|
Л |
|
|
Ш |
|
= |
|
К методу перестановки можно отнести и запись текста на узкой папирусной ленте, обмотанной на жезле.
3.3.3. Аналитические методы
Для шифрования информации могут использоваться аналитические преобразования, основанные на преобразованиях матричной алгебры. Шифрование k-го блока исходной информации, представленного в виде вектора Вk = ║ вj ║, осуществляется путем перемножения этого вектора на матрицу А = ║ аij ║, используемую в качестве ключа. В результате получается блок информации в виде вектора Сk = ║ сi ║, где элементы вектора С определяются по формуле Сj = ∑ аij х вj.
Пример, где в качестве ключа квадратная матрица третьего порядка:
1 4 8 A = 3 7 2 6 9 5
Шифруем слово – «ЗАБАВА», учитывая, что Т0 – нулевой этап, с использованием следующих шагов:
1. Определяем числовой эквивалент Т, заменив символы на их порядковые номера в алфавите Т = < 8, 1, 2, 1, 3, 1 >.
30
