Добавлен: 31.03.2023
Просмотров: 702
Скачиваний: 3
Расшифровывание требует тех же действий, что и шифрование, только в обратном порядке. Обратный порядок означает, между прочим, что первая буква биграммы шифротекста выбирается в правой таблице, а вторая – в левой.
Две таблицы со случайно расположенными в них буквами естественного алфавита можно рассматривать как два секретных ключа. В то же время их можно рассматривать как форму представления двух специальных алфавитов для записи шифротекстов. Это доказывает, что шифр “двойной квадрат” Уитстона является частным случаем много алфавитных шифров.[6]
В пункте 1.5 изучались полиалфавитные шифры. Они базируются на принципе моноалфавитных шифров, но их особенностью является применение специальных (новых) алфавитов. Были рассмотрены на примерах шифр Виженера и шифр “двойной квадрат” Уитстона. С помощью этих шифров скрывается информация, характеризующая частотность употребления букв, что значительно увеличивает сложность их раскрытия.
1.6 Применение перестановок
Все рассмотренные выше методы основывались на замещении по определенным правилам символов открытого текста на естественном языке различными символами специального алфавита (алфавитов), предназначенных для записи шифрованного текста. Принципиально иной класс преобразований строится на использовании перестановок букв открытого текста. Шифры, созданные с помощью перестановок, называют перестановочными шифрами.
1.6.1 Шифр «Лесенка»
Простейший из перестановочных шифров использует преобразование “лесенки”, заключающееся в том, что открытый текст записывается вдоль наклонных строк определенной длины («ступенек»), а затем считывается построчно по горизонтали. Например, чтобы шифровать сообщение «meet me after the toga party» /встретьте меня после вечеринки в тогах/ по методу лесенки со ступеньками длиной 2 символа, запишем это сообщение в виде[3]:
Шифрованное сообщение будет иметь следующий вид:
MEMATRHTGPRYETEFETEOAAT
Количество ступенек в «лесенке» рассматривается как ключ шифра. Такой шифр особой сложности для криптоанализа не представляет. Дешифровка может быть осуществлена на основе перебора вариантов количества ступенек в «лесенке».
При расшифровке необходимо определить количество символов в зашифрованной строке и разделить шифрованный текст на равные части в соответствии со значением ключа (количества ступенек в «лесенке»). Первая часть образует первую строку лесенки, вторая часть – вторую и т.д. Дальнейшая расшифровка не представляет труда. При делении с остатком необходимо иметь в виду, что последняя «лесенка» будет «не достроена» за счет нижних ступенек, что характерно для приведенного простого примера.[3]
1.6.2 Шифр вертикальной перестановки
Более сложная схема предполагает запись текста сообщения в горизонтальные строки одинаковой длины и последующее считывание текста столбец за столбцом, но не по порядку, а в соответствии с некоторой перестановкой столбцов. Порядок считывания столбцов при этом становится ключом алгоритма[3]. Рассмотрим пример шифрования следующей фразы: attack postponed until two am /атака отложена до двух ночи/. Первоначально фраза записывается построчно с помощью матрицы размером 4×7, затем с использованием ключа преобразуется в шифротекст[1]:
Буквы x, y, z используются в данном случае как буквы-заполнители.
Простой перестановочный шрифт очень легко распознать, так как буквы в нем встречаются с той же частотой, что и в открытом тексте.[3] Например, для только что рассмотренного способа шифрования с перестановкой столбцов анализ шифра выполнить достаточно просто – необходимо записать шифрованный текст в виде матрицы и перебрать возможные варианты перестановок для столбцов. Можно использовать также таблицы значений частоты биграмм и триграмм.
Перестановочный шифр можно сделать существенно более защищенным, выполнив шифрование с использованием перестановок несколько раз. Оказывается, что в этом случае примененную для шифрования перестановку воссоздать уже не так просто. [4]Например, если предыдущее сообщение шифровать еще раз с помощью того же самого алгоритма, то результат будет следующим:
Чтобы нагляднее представить то, что мы получим в итоге повторного применения перестановки, сопоставим каждую букву исходного открытого текста с номером соответствующей ей позиции. Наше сообщение состоит из 28 букв, и исходной последовательностью будет последовательность:
После первой перестановки получим последовательность, которая все еще сохраняет некоторую регулярность структуры.
После второй перестановки получается следующая последовательность.
Регулярность этой последовательности уже совсем не просматривается, поэтому ее криптоанализ потребует значительно больше усилий.
Если известен ключ, расшифровка весьма проста и не требует пояснений.[3]
В разделе 1.6 изучались перестановочные шифры. Их особенностью является не замещение букв, а перестановка букв открытого текста. Рассматривались шифр «Лесенка» и шифр вертикальной перестановки. Первый является наиболее простым в понимании, а шифр вертикальной перестановки – это усложненный вариант, который требует значительных усилий при расшифровке и криптоанализе.
1.7 Симметричные системы защиты информации
По мнению К.Шеннона, в практических шифрах необходимо использовать два общих принципа: рассеивание и перемешивание.
Рассеивание представляет собой распространение влияния одного знака открытого текста на много знаков шифротекста, что позволяет скрыть статистические свойства открытого текста.
Перемешивание предполагает использование таких шифрующих преобразований, которые усложняют восстановление взаимосвязи статистических свойств открытого и шифрованного текстов. Однако шифр должен не только затруднять раскрытие, но и обеспечивать легкость шифрования и расшифровывания при известном пользователю секретном ключе[4].
Распространенным способом достижения эффектов рассеивания и перемешивания является использование составного шифра, т.е. такого шифра, который может быть реализован в виде некоторой последовательности простых шифров, каждый из которых вносит свой вклад в значительное суммарное рассеивание и перемешивание.
В составных шифрах в качестве простых шифров чаще всего используются простые перестановки и подстановки. При перестановке просто перемешивают символы открытого текста, причем конкретный вид перемешивания определяется секретным ключом. При подстановке каждый символ открытого текста заменяют другим символом из того же алфавита, а конкретный вид подстановки также определяется секретным ключом. Следует заметить, что в современном блочном шифре блоки открытого текста и шифротекста представляют собой двоичные последовательности обычно длиной 64 бита. В принципе каждый блок может принимать 264 значений. Поэтому подстановки выполняются в очень большом алфавите, содержащем до 264 = 1019 «символов».
При многократном чередовании простых перестановок и подстановок, управляемых достаточно длинным секретным ключом, можно получить очень стойкий шифр с хорошим рассеиванием и перемешиванием. Рассмотренные ниже криптосистемы DES и отечественный стандарт шифрования данных ГОСТ 28147-89 построены в полном соответствии с указанной методологией.[6]
1.7.1 Американский стандарт шифрования данных DES
Стандарт шифрования данных DES (Data Encryption Standard) опубликован в 1977 г. Национальным бюро стандартов США. Стандарт DES предназначен для защиты от несанкционированного доступа к важной, но несекретной информации в государственных и коммерческих организациях США. Алгоритм, положенный в основу стандарта, распространялся достаточно быстро, и уже в 1980 г. был одобрен Национальным институтом стандартов и технологий США (НИСТ). С этого момента DES превращается в стандарт не только по названию (Data Encryption Standard), но и фактически. Появляются программное обеспечение и специализированные микро-ЭВМ, предназначенные для шифрования и расшифровывания информации в сетях передачи данных.[4] К настоящему времени DES является наиболее распространенным криптографическим алгоритмом, используемым в системах защиты коммерческой информации. Более того, реализация алгоритма DES в таких системах становится признаком хорошего тона.[4]
Основные достоинства алгоритма DES:
– используется только один ключ длиной 56 бит;
– зашифровав сообщение с помощью одного пакета программ, для расшифровки можно использовать любой другой пакет программ, соответствующий стандарту DES;
– относительная простота алгоритма обеспечивает высокую скорость обработки;
– достаточно высокая стойкость алгоритма.
Первоначально метод, лежащий в основе стандарта DES, был разработан фирмой IBM для своих целей и реализован в виде системы “Люцифер”. Система “Люцифер” основана на комбинировании методов подстановки и перестановки и состоит из чередующейся последовательности блоков перестановки и подстановки. В ней использовался ключ длиной 128 бит, управлявший состояниями блоков перестановки и подстановки. Система “Люцифер” оказалась весьма сложной для практической реализации из-за относительно малой скорости шифрования (2190 байт/с – программная реализация, 96970 байт/с – аппаратная реализация).[6]
Алгоритм DES также использует комбинацию подстановок и перестановок. DES осуществляет шифрование 64-битовых блоков данных с помощью 64-битового ключа, в котором значащими являются 56 бит (остальные 8 бит – проверочные биты для контроля на четность). Расшифровывание в DES является операцией, обратной шифрованию, и выполняется путем повторения операций шифрования в обратной последовательности. Обобщенная схема процесса шифрования в алгоритме DES показана на рис.6. Процесс шифрования заключается в начальной перестановке битов 64-битового блока, шестнадцати циклах шифрования и, наконец, в конечной перестановке битов.
Алгоритм DES вполне подходит как для шифрования, так и для аутентификации данных. Он позволяет непосредственно преобразовывать 64-битовый входной открытый текст в 64-битовый выходной шифрованный текст, однако данные редко ограничиваются 64 разрядами. Чтобы воспользоваться алгоритмом DES для решения разнообразных криптографических задач, разработаны четыре рабочих режима[6]:
• электронная кодовая книга ECB (Electronic Code Book);
• сцепление блоков шифра CBC (Cipher Block Chaining);
• обратная связь по шифротексту CFB (Cipher Feed Back);
• обратная связь по выходу OFB (Output Feed Back).
Каждому из рассмотренных режимов (ECB, СВС, CFB, OFB) свойственны свои достоинства и недостатки, что обусловливает области их применения.
Режим ЕСВ хорошо подходит для шифрования ключей; режим CFB, как правило, предназначается для шифрования отдельных символов, а режим OFB нередко применяется для шифрования в спутниковых системах связи.
Режимы СВС и CFB пригодны для аутентификации данных. Эти режимы позволяют использовать алгоритм DES[4]:
– для интерактивного шифрования при обмене данными между терминалом и главной ЭВМ;
– шифрования криптографического ключа в практике автоматизированного распространения ключей;
– шифрования файлов, почтовых отправлений, данных спутников и других практических задач.
Одним из наиболее важных применений алгоритма DES является защита сообщений электронной системы платежей (ЭСП) при операциях с широкой клиентурой и между банками.[4]
Алгоритм DES реализуется в банковских автоматах, терминалах, в торговых точках, автоматизированных рабочих местах и главных ЭВМ. Диапазон защищаемых им данных весьма широк – от оплат $50 до переводов на многие миллионы долларов. Гибкость основного алгоритма DES позволяет использовать его в самых разнообразных областях применения электронной системы платежей.
1.7.2 Отечественный стандарт шифрования данных
В нашей стране установлен единый алгоритм криптографического преобразования данных для систем обработки информации в сетях ЭВМ, отдельных вычислительных тельных комплексах и ЭВМ, который определяется ГОСТ 28147-89. Частичная модификация этого алгоритма опубликована в стандарте ГОСТ Р 34.12-2015.
Стандарт обязателен для организаций, предприятий и учреждений, применяющих криптографическую защиту данных, хранимых и передаваемых в сетях ЭВМ, в отдельных вычислительных комплексах и ЭВМ.
Этот алгоритм криптографического преобразования данных предназначен для аппаратной и программной реализации, удовлетворяет криптографическим требованиям и не накладывает ограничений на степень секретности защищаемой информации. Алгоритм шифрования данных представляет собой 64-битовый блочный алгоритм с 256-битовым ключом. Алгоритм предусматривает четыре режима работы[4]:
– шифрование данных в режиме простой замены;
– шифрование данных в режиме гаммирования;
– шифрование данных в режиме гаммирования с обратной связью;
– выработка имитовставки.
Следует иметь в виду, что режим простой замены допустимо использовать для шифрования данных только в ограниченных случаях – при выработке ключа и шифровании его с обеспечением имитозащиты для передачи по каналам связи или для хранения в памяти ЭВМ.
Режим гаммирования реализуется в данной криптосистеме как блочное шифрование, в котором сообщение обрабатывается в виде блоков определенной длины. Это основной режим рассматриваемой системы[6].