Скачиваний:
88
Добавлен:
02.05.2014
Размер:
38.91 Кб
Скачать

5.htm 5. СИСТЕМЫ ЗАЩИТЫ ИНФОРМАЦИИ 5.1. Составные шифры

5.2. Двухключевые криптографические системы

5.3. Надежность использования криптосистем

В настоящее время особенно быстрыми темпами, но все еще отставая от мирового уровня, осуществляется компьютеризация всей нашей страны в целом и, в том числе, многочисленных государственных и коммерческих организаций, учреждений и банков, эффективная деятельность которых немыслима без использования вычислительной техники. Однако, кроме очевидных выгод, компьютеризация принесла с собой целый ряд проблем. Одна из таких проблем, причем наиболее сложная, состоит в обеспечении безопасности конфиденциальной информации в системах обработки и передачи данных. Для решения этой проблемы широко применяются криптографические методы защиты информации, к которым относятся — специальное шифрование, кодирование или иное преобразование данных, в результате которого их содержимое становится недоступным для получения информации без предъявления некоторого специального ключа и обратного преобразования. Криптографическое преобразование защищаемых данных является наиболее эффективным и универсальным, а при передаче по протяженным линиям связи — единственно реальным средством предотвращения несанкционированного доступа к ней. Классическая схема обмена информацией структурно представлена на рис. 5.1. Сообщение от одного абонента к другому посылается по незасекреченному каналу связи, в котором оно может быть перехвачено злоумышленником с помощью подслушивания, изъятия корреспонденции и т. п.. Практически невозможно обеспечить безопасность такого канала связи, и, следовательно возможен перехват всех передаваемых сообщений. Картина будет одинаковой, пересылаем ли мы сообщение с курьером, почтальоном или по электронной почте. Первоочередные цели злоумышленника при этом — нарушить секретность связи и извлечь выгоду из тайной информации. При этом он преследует далеко идущие цели, которые могут быть выполнены следующим образом. • Изменение сообщения, запутав при этом получателя недостоверным текстом • Обман получателя, назвав имя ложного отправителя

Рис.5.1. Классическая схема обмена информацией

Рис. 5.2. Криптографические системы с использованием ключей. • Обман отправителя, идентифицировав себя в качестве получателя, захватив все сообщение, например, и не переслав его законному получателю. Во всех этих случаях большим преимуществом пользователей было бы то обстоятельство, если бы противоборствующая сторона не понимала смысла перехваченных сообщений. Для этих целей может быть использован некоторый метод шифрования. Сообщение в его оригинальной форме может быть представлено им как исходный текст. Затем отправитель зашифровывает данный текст. Результатом этого будет криптотекст, который теперь может быть послан через ненадежный (обычный) канал связи. Наконец, получатель расшифровывает поступивший к нему криптотекст, после чего он получает исходное сообщение. Таким образом, действия отправителя: зашифрование исходного текста и получение криптотекта, а действия получателя обратные: расшифрование криптотекста и получение исходного текста. Построение современных криптографических систем защиты информации основано на использовании различных методов шифрования информационных сообщений. Эти методы, в свою очередь, подразделяются по характеру применения ключей шифрования. При этом под ключом понимается секретное состояние (значение) некоторых параметров алгоритма криптопреобразования конфиденциальных сообщений. По характеру использования ключа криптографические системы подразделяются (рис. 5.2) на одноключевые (симметричные, с секретным ключом), двухключевые (несимметричные, с открытым или несекретным ключом) и составные (комбинация симметричных и несимметричных). Поскольку представленные на рис. 5.2 криптографические системы существенным образом отличаются друг от друга принципами функционирования, остановимся на них более подробно. Одноключевые криптографические системы Одноключевые криптографические системы являются классическими системами защиты информации. Для шифрования и расшифрования текста информационных сообщений в них используется один и тот же секретный ключ Zc , сохранение которого в тайне обеспечивает надежность защиты информации. Структурная схема одноключевой криптографической системы представлена на рис. 5.3. Процесс шифрования и расшифрования в данной системе можно представить следующим образом: Y=Ezc(X), X=Dzc(Y)=Dzc(EzcX)) где Х — открытый текст (до шифрования и после расшифрования);

Рис. 5.3. Структурная схема одноключевой криптографической системы

Рис. 5.4. Методы шифрования в одноключевых криптографических системах Y — зашифрованный текст; Zc — секретный ключ, известный отправителю и получателю сообщения; Ezc—функция шифрования; Dzc — функция расшифрования. При этом для взаимной однозначности шифрования и расшифрования необходимо выполнение равенства: Ezc Dzc =е, где е — единичное преобразование. Все известные одноключевые криптографические системы подразделяются по методам шифрования на блочные (блоковые), поточные (потоковые) и комбинированные (рис. 5.4). Блочные шифры В связи с тем, что открытый текст сообщения обычно имеет произвольную длину, иногда достаточно большую, то он разбивается на более мелкие блоки фиксированной длины. Тексты этих блоков шифруются отдельно и независимо друг от друга. Одноключевые блочные шифры подразделяются на 3 группы: • Шифры перестановки • Шифры замены (подстановки) • Составные шифры. При использовании шифров перестановки, которые предназначены для устранения смысла сообщения путем изменения порядка чередования его символов, знаки открытого текста переставляются по некоторому правилу (ключу) в пределах заданного блока. В результате этого нарушается нормальный порядок их следования и сам смысл информационного сообщения. При этом различают шифры простой и сложной перестановки. Шифры простой перестановки Шифр простой перестановки переупорядочивает группу букв текста регулярным образом в соответствии с выбранным ключом (правилом) перестановки. Из истории известно множество примеров использования таких шифров для ручного шифрования. При этом часто использовались специальные таблицы, которые давали простые шифрующие процедуры (ключи), согласно которым производились перестановки букв в сообщении. Ключом у таких таблиц служили размеры таблицы, фраза, задающая перестановку или другие специальные особенности таблицы. Пример простейшего шифра перестановки представлен на рис. 5.5. Как видно из рис. 5.5, для того чтобы зашифровать сообщение «ЮСТАС АЛЕКСУ ВСТРЕЧАЙТЕ СВЯЗНОГО», последнее необходимо записать в

виде таблицы, состоящей, например, из 5 строк и 6 столбцов. Текст сообщения записывается по столбцам, исключая пробелы. Если последний столбец оказывается неполным, он заполняется произвольно любыми буквами. Для получения зашифрованного сообщения исходный текст считывается построчно (слева направо) и записывается группами, например, по 5 цифр. Последняя процедура не относится к процессу шифрования и делается только для того, чтобы было удобнее записывать текст, лишенный всякого смысла. Для расшифрования такого текста необходимо знать ключ, а именно количество строк и столбцов в таблице или иными словами, ее размер. Более практический метод шифрования, очень похожий на предыдущий, описывается ниже. Он отличается лишь тем, что колонки таблицы переставляются по ключевому слову, фразе или набору чисел длиной в строку таблицы. При шифровании простой перестановкой шифруемый текст последовательными строками записывается под символами ключевого слова, которые не должны повторяться Для упрощения запоминания ключа используют ключевое слово, буквы которого, пронумерованные в порядке их расположения в алфавите, задают правило перестановки. Зашифрованный текст выписывается колонками в той последовательности, в которой располагаются в алфавите буквы ключа или в порядке следования цифр в натуральном ряду, если ключ цифровой. Наглядно процесс шифрования с использованием шифра простой перестановки представлен на рис. 5.6. Предположим, что необходимо зашифровать информационное сообщение «ЗАСЕДАНИЕ СОСТОИТСЯ ЗАВТРА ЮСТАС». Для шифрования этого открытого текста запишем его без пробелов (участие последних в процедуре шифрования, из-за их высокой частоты повторения, значительно ослабляет криптостойкость шифра) и выберем ключ шифрования, например, 245 136. Согласно этому ключу, состоящему из 6 цифр, поделим все информационное сообщение на блоки, каждый из которых будет содержать по 6 букв текста. После деления на блоки у нас получилось 4 блока, содержащих по 6 букв в каждом, и 1 блок — по 5 букв. В таких случаях последняя группа букв исходного сообщения произвольно дополняется различными символами до получения полного блока. В нашем случае не достает только одной буквы, поэтому выбираем любую букву, например Ъ, и добавляем ее в конце пятого блока.

Рис. 5.6. Шифр простой перестановки Далее, используя ключ 245 136, производится перестановка букв исходного открытого текста. Например, первая цифра ключа — 2, указывает на то, что в новом блоке первой буквой зашифрованного текста будет вторая буква блока открытого текста, вторая цифра ключа — 4, показывает, что вторая буква шифротекста — это четвертая буква в блоке открытого текста и т. д. В конечном итоге, после проведения перестановок во всех блоках, получаем зашифрованный текст. Прочитав его, мы видим, что он полностью лишен какого-либо смыслового содержания. Для упрощения запоминания ключа обычно используется ключевое слово. В данном случае — это слово «КОРЕНЬ». В нем цифре 1 ключа соответствует буква Е, так как она первой из всех букв этого слова встречается в нашем алфавите, цифре 2 — буква К (по той же причине) и т. д. То же сообщение можно зашифровать с использованием таблицы, состоящей, например, из 5 строк и 6 столбцов (по длине ключевого слова). Исходный текст записывается по столбцам и образует таблицу (рис. 5.7). Ключевое слово задает правило перестановки столбцов. Если в ключевом слове встречаются одинаковые буквы, то они нумеруются по порядку слева направо. Полученный второй шифротекст, как это видно из рис. 5.7, совершенно не похож на первый.

Рис. 5.7. Шифрование с помощью таблицы Основным недостатком данного шифра является его невысокая крипто-стойкость. Разложив зашифрованный текст на множители (не так уж много получается вариантов), можно легко определить вероятную длину кодового слова, которое использовалось при шифровании. Для повышения криптостойкости полученного выше шифрованного текста можно попробовать зашифровать его еще раз. Этот способ шифрования известен под названием двойная перестановка. Суть этого способа заключается в следующем. Полученный после первого шифрования текст шифруется вторично с использованием таблицы с другой размерностью (длины строк и столбцов подбираются другими). Кроме того, в одной таблице можно переставлять строки, а в другой столбцы. Заполнять таблицу исходным текстом можно разными способами: зигзагом, змейкой, по спирали и т. п. Шифр простой перестановки с использованием свойств таблиц, называемых магическими квадратами (рис. 5.8), использовался еще в средние века. Магическими квадратами называются равносторонние таблицы, все клетки которых заполнены натуральными числами, начиная от 1. Причем эти числа в сумме дают по каждому столбцу, по каждой строке и по диагоналям магического квадрата одно и тоже число (в нашем случае — это число 34). Исходный текст — ЖДУ ВСТРЕЧИ ЮСТАС, при заполнении магического квадрата, вписывается по порядку следования натуральных чисел, например, число 1 заменялось 1 буквой исходного текста (Ж), число 12 — 12 буквой сообщения (С) и т.п. После записи открытого текста содержимое таблицы считывается по строкам в результате чего и получался шифротекст с перестановкой букв.

Рис. 5.8. Магический квадрат Шифры сложной перестановки Кроме шифров простой перестановки существуют шифры с двойной перестановкой столбцов и строк таблицы с исходным сообщением. Выполнение шифрования может быть произведено различными способами (вариантами). В случае использования шифра сложной перестановки группы символов открытого текста подвергаются перестановкам не только по строкам (как в шифре простой перестановки), но и по столбцам. Это удобнее делать, используя вышеприведенную таблицу (рис. 5.7). В таблицу записывается открытое исходное сообщение, причем, как уже говорилось выше, это можно сделать различными вариантами. В данном случае запишем текст сообщения построчно слева направо. Относительно двух сторон таблицы запишем ключевое слово и его числовой эквивалент, согласно которым произведем перестановку столбцов, расположив их в порядке возрастания цифр. После этого, по тому же закону, произведем перестановку строк таблицы. Зашифрованное сообщение получится при считывании текста таблицы по строкам. Полученный шиф-ротекст, как видим, лишен смыслового содержания. Число вариантов двойной перестановки достаточно велико и зависит от размерности используемой шифровальной таблицы (рис. 5.9). Но даже использование таблиц большой размерности не делает этот шифр достаточно криптостойким.

Зашифрованный текст ТЗРАВ АЕЗДА СААЮС СТЬСН ОИЕСТ ТСОИЯ

Размерность таблицы Число перестановок Число строк Число столбцов По строкам По столбцам Общее 3 3 6 6 36 4 4 24 24 576 5 5 120 120 14400 5 6 120 720 86400 6 6 720 720 518400 Рис. 5.9. Шифр сложной перестановки с использованием таблицы Произведем шифрование вышеприведенного сообщения, используя несколько иной метод шифрования и тот же самый ключ (рис. 5.10). Шиф-ротекст образуется при этом путем считывания переупорядоченных, в соответствии с выбранным ключом, строк открытого текста. При этом порядок считывания строк определяется ключевым словом, размещаемым по вертикали рядом со строками шифротекста. При шифровании открытого текста большого объема ключевое слово может повторяться по вертикали необходимое число раз. Сначала производится шифрование открытого текста методом простой перестановки. Полученное зашифрованное сообщение записывается блоками построчно соответственно номерам (строка 1 — блок 1 и т. д.). Слева от этих строк по вертикали (в столбик) записывается ключевое слово или ключ, согласно которым выбирается порядок следования строк (блоков). Последние записываются друг за другом и образуют окончательный зашифрованный текст. Шифр сложной перестановки, кроме вышеописанного способа, может формироваться путем считывания шифротекста по диагонали с изменением порядка считывания на обратный для соседних диагоналей. Наглядно этот способ представлен на рис. 5.11. В качестве исходного используется зашифрованный текст, блоки которого расположены по строкам (см. рис. 5.10).

Рис. 5.10. Шифр сложной перестановки

Рис. 5.11. Шифр сложной перестановки со считыванием по диагонали Порядок считывания букв показан цифрами, а изменение направления считывания соседних диагоналей — стрелками. Еще один метод шифрования заключается в использовании специальных решеток, трафаретов или палеток (рис. 5.12). Он основан на применении для шифрования квадратных таблиц, у которых четверть ячеек (квадратиков) вырезана так, чтобы после 4 поворотов они покрывали весь квадрат. Поворачивать квадрат можно как по часовой, так и против часовой стрелки. Зашифруем исходное сообщение ЗАСЕДАНИЕ СОСТОИТСЯ ЗАВТРА ЮСТАС с помощью трафарета (квадратная таблица размерностью 4х4),

Рис. 5.12. Шифрование с использованием трафарета имеющего по одному вырезанному окну в каждой строке. Наложим трафарет на чистый лист бумаги, очертим его и начнем вписывать в вырезанные квадратики (окошки) буквы исходного текста. После записи первых 4 букв произведем поворот трафарета по часовой стрелке на 90° (для удобства пользования на трафарете имеется ключ-метка). Снова запишем 4 буквы и произведем поворот трафарета, и так до тех пор пока последний не вернется в свое первоначальное положение или не закончится шифруемый текст. В последнем случае трафарет можно заполнить любыми буквами. Убираем трафарет и записываем текст таблицы построчно, в результате получается необходимый шифротекст. Шифры замены (подстановки) Шифры замены (подстановки) образуются с помощью замены знаков открытого текста другими знаками или символами в соответствии с определенным правилом (ключом). С одним из таких шифров многие из нас впервые познакомились еще в детском возрасте, когда зачитывались захватывающими расследованиями знаменитого сыщика Шерлока Холмса. В рассказе А. Конан-Дойля «Пляшущие человечки», например, описывается как шифруются и расшифровываются тексты с помощью шифра замены. В этом шифре каждой букве алфавита соответствует изображение пляшущего человечка. Используя этот шифр можно произвести шифрование открытого текста, приведенного выше. В результате мы получим целый ансамбль пляшущих человечков, который изображен на рис. 5.13. Такой шифр имеет невысокую криптостойкость и, как видно из текста книги мастера детективов, может быть быстро расшифрован даже без использования какой-либо вычислительной техники. В отличии от этого простейшего шифра, большинство современных шифров практически невозможно расшифровать, то есть не существует вычислительных средств, способных в приемлемые сроки осуществить перебор возможных вариантов или эффективных алгоритмов, позволяющих значительно сократить указанные переборные алгоритмы.

Шифрование на основе замены использует принцип шифроалфавита — перечня эквивалентов, применяемых для преобразования открытого текста в зашифрованный. В том случае, когда для шифрования используется всего один шифроалфавит, шифр

Рис. 5.14. Шифрование с использованием двоичного кода называется одноалфавитным (моноалфавитным). Когда же используются два и более шифроалфавитов, шифр называется многоалфавитным (полиалфавитным). Для увеличения скорости шифрования и использовании при этом вычислительной техники удобно использовать цифровое представление текстовой информации, при котором символы текста заменяются некоторыми цифровыми эквивалентами или представляются в виде двоичного кода. В этом случае, при шифровании, символы шифруемого текста последовательно складываются с символами некоторой специальной последовательности (ключом), называемой гаммой. Процедуру наложения ключа (гаммы) на исходный текст можно осуществить двумя способами. При первом способе символы исходного текста, замененные цифровыми эквивалентами, (например, А — 32, Б — 27, В — 22 и т. д.), складываются по модулю К, где К — число символов в алфавите, с ключом (гаммой). При втором способе символы исходного открытого текста и ключа (гаммы) представляются в виде двоичного кода, а затем складываются поразрядно друг с другом по модулю 2. Наглядно это представлено на рис. 5.14. Допустим, что необходимо зашифровать слово «КРОНА», каждая буква которого имеет эквивалент в виде двоичного кода. Используя ключ (гамму), например 1001, произведем его сложение по модулю 2 с двоичными кодами букв. В результате получается последовательность, состоящая только из 0 и 1. Восстановление исходной последовательности заключается в обратном сложении по модулю 2 исходного ключа и полученной шифропоследовательности. Вместо сложения по модулю 2 можно использовать и другие логические операции, например, преобразование по правилу логической эквивалентности, что равносильно введению еще одного ключа, которым является выбор правила формирования символов зашифрованного сообщения из символов исходного текста и ключа. Шифрование по данному методу аналогично шифрованию методом многоалфавитной подстановки при условии, что длина ключа превышает длину шифруемого текста. Одноалфавитные шифры. Примером одноалфавитного шифра является шифр Цезаря, в котором каждая буква исходного открытого текста заменялась третьей по счету буквой латинского алфавита (с учетом циклического сдвига). Вскрытие такого шифра осуществляется путем перебора возможных ключей, в качестве которых используется величина сдвига букв сообщения в алфавите до появления осмысленного текста. При простой моноалфавитной подстановке каждый знак m1 текста, принадлежащего алфавиту А, заменяется соответствующим знаком h1, принадлежащим к алфавиту шифротекста В. Соответствие между знаками алфавитов А и В задается с помощью кодовой таблицы или выражения. Например, при использовании обобщенного «шифра Цезаря» выражение, устанавливающее связь между алфавитами А и В, имеет вид F(hi)=(F(mi)+h)mod K, где К — количество знаков в алфавитах; h — постоянная величина сдвига. Каждому знаку алфавитов, которые в рассматриваемом случае состоят из одних и тех же символов, ставится в соответствие число. Переход к шифро-тексту осуществляется в результате суммирования с некоторым постоянным числом h. Шифрование данным способом эквивалентно сдвигу алфавита на фиксированное число позиций h. Если сдвиг h=l, то, например, для русского алфавита буква А заменяется на букву Б, буква Б — на букву В, буква Я — на букву А и т. п. соответственно (рис. 5.15). В качестве примера зашифруем вышерассмотренное информационное сообщение ЗАСЕДАНИЕ СОСТОИТСЯ ЗАВТРА ЮСТАС. После шифрования получим новое сообщение, которое имеет вид ИБТЁЕБОЙЁ ТПТУПЙУТА ИБГУСБ ЯТУБТ Увеличить надежность такого шифра можно путем использования перемешанного алфавита (см. рис. 5.15). Исходное сообщение после применения такого алфавита будет иметь вид: ЩЙПНЕЙДЗН ПЛПАЛЗАПЁ ЩЙУАРЙ ЮПАЙП

Рис. 5.15. Пример одноалфавитного шифра Однако, не смотря на то, что количество возможных перестановок букв алфавита равно 33!, шифры моноалфавитной замены не являются высокостойкими и могут быть вскрыты с использованием вычислительной техники достаточно быстро. Многоалфавитные шифры В шифрах многоалфавитной замены, в отличии от описанных выше, для шифрования применяются несколько перемешанных алфавитов, поочередно используемых при замене букв исходного шифруемого сообщения. К многоалфавитным шифрам относятся шифр Вижинера, шифр «Энигма», цилиндр Джефферсона и др. Использование шифра Вижинера, например, сводится к следующему. Множество, например, из 33 алфавитов (циклических сдвигов) русского языка формируется путем последовательного сдвига букв исходного алфавита, подобно рассмотренному выше шифру Цезаря. Совокупность всех алфавитов, сведенных в одну таблицу, образует так называемую шифровальную таблицу Вижинера (рис. 5.16). При шифровании в этом случае также имеется кодовое слово, буквы которого определяют выбор конкретного алфавита, используемого при замене соответствующей буквы открытого текста. Процесс шифрования может быть описан, в данном случае, как суммирование номеров соответствующих друг другу букв открытого текста и ключевого слова по модулю 33. Рассмотрим пример формирования шифра Вижинера для использованных выше информационного сообщения и ключевого слова, повторяющегося необходимое число раз. Исходное сообщение разбивается на блоки с использованием ключевого слова «КОРЕНЬ», которое записывается над исходным открытым текстом 5 раз подряд (для нашего текста). Выбираем строку с алфавитом, который начинается с буквы К (первая буква ключевого слова) в первом столбце шифровальной таблицы Вижинера (см. рис 5.16). Первая буква шифрованного текста находится на пересечении этой строки и столбца таблицы, начинающегося с первой буквы открытого текста (первая строка таблицы), в данном случае это буква Т. Следующая буква шифротекста находится на пересечении строки таблицы, начинающейся со второй буквы ключевого слова — буквы О, и столбца, начинающегося со второй буквы открытого текста. Это буква — О. Аналогично производится шифрование остальных букв. В итоге, получается шифротекст, по количеству символов совпадающий с исходным открытым текстом: ТОВЙСЬ ШУХЦЬН ЭЭЩЧЯЫ ТОТЧЮЬ ИАГЕЯЦ Для облегчения процессов шифрования и расшифрования обычно используется специальная шифровальная линейка, состоящая из неподвижной и подвижной частей (рис. 5.17). При шифровании соответствующая

Рис. 5.16. Шифровальная таблица Вижинера для русского алфавита

буква ключевого слова, например первая — К, путем перемещения подвижной части устанавливается напротив буквы А неподвижной части линейки. В этом случае над соответствующей буквой открытого текста, расположенной на неподвижной части линейки, находится находящаяся на подвижной части соответствующая буква шифротекста. Для увеличения криптостойкости в шифре Вижинера может использоваться переменный ключ, в качестве которого применяется некоторый текст, заранее известный отправителю и получателю сообщения.  

Соседние файлы в папке Шпионские штучки Методы информационной защиты объектов и компьютерных сетей