Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Методы и средства защиты информации

.pdf
Скачиваний:
210
Добавлен:
03.03.2016
Размер:
5.1 Mб
Скачать

Безусловнаяи теоретическаястойкость 371

Теперь рассмотрим схему прохождения потока информации в криптографической системе, обеспечивающей имитостойкость (рис. 18.4).

Рис. 18.4. Поток информации в криптографической системе, обеспечивающей имитостойкость

При решении проблемы имитостойкости противник может не только видеть все криптограммы, передаваемые по каналу, но может также изменять их по своему желанию. Законный получатель защищает себя от обмана, дешифрируя все полученные сообщения и принимая только те сообщения, которые зашифрованы правильным ключом.

Любая попытка со стороны перехватчика расшифровать криптограмму С для получения открытого текста Р или зашифровать свой текст Р' для получения приемлемой криптограммы С' без получения ключа должно быть полностью исключено.

Если криптоанализ невозможен и криптоаналитик не может вывести Р и С или С' из Р' без предварительного получения ключа, то такая криптографическая система является криптостойкой.

Безусловная и теоретическая стойкость

Существует два принципиально разных метода обеспечения стойкости криптографических систем против криптоаналитического нападения.

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

Система такого рода называется безусловно стойкой.

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

372 Глава 18. Криптографическая защита

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

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

Единственной безусловно стойкой системой, находящейся в широком пользовании, является лента однократного использования, в которой открытый текст объединяется со случайным ключом такой же длины. Обычно открытый текст представляет собой строку из n бит, которая объединяются со случайным ключом такой же длины с помощью сложения по модулю 2. Как видно из самого названия, этот ключ никогда больше не используется.

Даже если бы криптоаналитик попытался осуществить дешифрирование, используя все 2n возможных ключей, он просто увидел бы все 2n возможных открытых текстов одинаковой длины. Поскольку перехват криптограммы не позволяет криптоаналитику вывести какое-либо сообщение в виде открытого текста, то он не узнает ничего, кроме длины сообщения. Клод Шеннон анализировал абсолютную стойкость более подробно. Если криптоаналитик располагает неограниченным временем для вычислений, то он не связан рамками вычислительной эффективности и может провести полный криптоанализ, испытывая все возможные ключи и сохраняя в качестве результата все осмысленные тексты. В случае ленты однократного использования необходимо сохранить все осмысленные тексты, имеющие одинаковую с криптограммой длину, но в других безусловно стойких системах может быть меньшее количество осмысленных решений. Например, криптограмма XMDA, полученная в результате простой подстановки годится для любого четырехбуквенного слова с неповторяющимися буквами.

По мере того как количество перехваченных текстов возрастает, может быть достигнута точка, в которой оказывается возможным получение однозначного решения. Шеннон назвал это интервалом однозначности N0. В случае ленты однократного использования этого никогда не случиться, и N0 = ∞, тогда как в случае простого подстановочного шифра значение N0 конечно. Шеннон предложил модель для предсказания интервала однозначности шифра. Полученные с помощью этой модели результаты согласуются с практикой. В соответствии с этой моделью “случайного шифра”

N0 =

H(K)

(18.7)

D

Безусловнаяи теоретическаястойкость 373

где H(K) — энтропия ключа (обычно это просто длина ключа, измеренная в битах, или log2 от количества ключей), D — избыточность языка, измеренная в битах на 1 знак. (Например, в английском языке за буквой Q всегда следует буква U, которая является избыточной.) Качественно модель можно показать, переписав (18.7) в виде требования для однозначности решения

H(K) ≤ N0D

(18.8)

где H(K) характеризует количество неизвестных в двоичном представлении ключа, а N0D в широком смысле определяет количество уравнений, которые необходимо решить для нахождения ключа. Когда количество уравнений меньше количества неизвестных, однозначное решение невозможно и система являет- ся безусловно стойкой. Когда количество уравнений больше количества неизвестных, т.е. как в (18.8), однозначное решение возможно и система не являет- ся безусловно стойкой, хотя она все еще может быть вычислительно стойкой.

Несмотря на то, что в теории кодирования Шеннона ( т.е. в предположении, что криптоаналитик располагает неограниченными ресурсами) обычно рассматривается нападение при наличии только шифрованного текста, но иногда используются и комбинации шифрованного и открытого текста, что повышает избыточность.

Уравнение (18.7) показывает ценность снятия данных, производимого перед шифрованием.

Согласно Фридмэну, почти любая криптограмма из 25 букв и более, полученная подстановкой, может быть раскрыта. Поскольку криптоаналитик располагает ограниченными вычислительными возможностями, он не может перепробовать все 26! ≈ 4.1026 ключей и должен полагаться на субоптимальные методы, такие как частотный анализ. Таким образом, можно сказать, что N0 = 25 знаков.

В случае ленты однократного использования H(K) = ∞, откуда, согласно (7), N0 = ∞. После простой подстановки получаем H(K) = log2(26!) = 88,4 бит, поэтому для вычисления N0 принято находить D. Каждый знак мог бы переносить максимум log2(26) = 4,7 бит информации, если бы все комбинации были возможны. Но поскольку правила правописания и грамматики запрещают использование большинства комбинаций, то в среднем каждый знак переносит всего лишь 1,5 бит информации. Оставшиеся 3,2 бит оказываются избыточными, откуда D = 3,2 бит/знак. Таким образом, уравнение (18.7) представляет величину N0 = 28 знаков, что хорошо согласуется с практикой.

Например, если перехвачено сообщение длиной в 1000 знаков и известна некоторая последовательность из 100 знаков открытого текста, то общая избыточность составит не 3200 бит, а (900 знаков) × (3,2 бит/знак) + (100 знаков) × (4,7 бит/знак) = 3350 бит.

Сжатие данных устраняет избыточность, увеличивая тем самым интервал однозначности. Избыточная информация может быть добавлена после дешиф-

374 Глава 18. Криптографическая защита

рирования. Совершенное сжатие данных устранило бы всю избыточность и привело бы к N0 = ∞ при любой длине ключа, но это довольно дорогое мероприятие.

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

Прежде всего, обычно считается, что противник знает сам шифр и имеет возможность его предварительного изучения. Противник также знает некоторые характеристики открытых текстов (защищаемой информации), например, общую тематику сообщений, их стиль, некоторыестандарты, форматы и т.д.

Приведем три примера специфических возможностей противника:

противник может перехватывать все шифрованные сообщения, но не имеет соответствующих им открытых текстов;

противник может перехватывать все шифрованные сообщения и добывать соответствующие им открытые тексты;

противник имеет доступ к шифру (но не к ключам!) и поэтому может зашифровать любую информацию.

На протяжении многих веков среди специалистов не утихали споры о стойкости шифров и о возможности построения абсолютно стойкого шифра.

“Отец кибернетики” Норберт Винер отмечал: “ Любой шифр может быть вскрыт, если только в этом есть настоятельная необходимость и информация, которую предполагается получить, стоит затраченных средств, усилий и времени…”

Поэтому у пользователя остается единственный путь — получение практических оценок стойкости. Этот путь состоит из следующих этапов.

1.Понять и четко сформулировать, от какого противника необходимо защищать информацию. Следует уяснить, что именно противник знает или может узнать о системе шифра, какие силы и средства он сможет применить для его вскрытия.

2.Мысленно стать в положение противника и попытаться с его позиций вскрыть шифр, т.е. разработать различные алгоритмы вскрытия шифра, обеспечивая при этом в максимальной мере моделирование сил, средств и возможностей противника.

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

Следует упомянуть о двух простейших методах вскрытия шифра: случайного угадывания ключа ( он срабатывает с малой вероятностью, но является самую

Анализ основных криптографическихметодов ЗИ 375

низкую вычислительную сложность) и перебора всех подряд ключей вплоть до нахождения истинного (он срабатывает всегда, но имеет самую высокую вычислительную сложность).

Анализ основных криптографических методов ЗИ

Иногда криптографические методы ЗИ разделяют на три группы: методы подстановки, методы перестановки и аддитивные методы. Методы пе-

рестановки и подстановки характеризуются хорошими ключами, а их надежность связана со сложным алгоритмом преобразования. При аддитивных методах пользуются простыми алгоритмами преобразования, обеспечивая надежность с помощью ключей большого объема.

Иногда говорят о блочных методах, имея в виду первые две группы, в которых алгоритм работает сразу над большим блоком информации, и о потоковых методах, где шифрование происходит знак за знаком. Однако при использовании аддитивных методов преобразование может осуществляться сразу над целым машинным словом и метод приобретает признаки блочного.

Шифрование методом подстановки (замены)

Вэтом, наиболее простом, методе символы шифруемого текста заменяются другими символами, взятыми из одного (моноалфавитная подстановка) или нескольких ( полиалфавитная подстановка) алфавитов. Самой простой разновидностей является прямая замена, когда буквы шифруемого текста заменяются другими буквами того же самого или некоторого другого алфавита.

Если объем зашифрованного текста большой, то частоты появления букв в зашифрованном тексте будут ближе к частотам появления букв в алфавите (того языка, на котором написан текст) и расшифровка будет очень простой.

Поэтому простую замену в настоящее время используют редко и в тех случаях, когда шифруемый текст короток.

Для повышения стойкости шифра используют так называемые полиалфавитные подстановки, в которых для замены символов исходного текста используются символы нескольких алфавитов. Существует несколько разновидностей полиалфавитной подстановки, наиболее известными из которых являются одно- (обыкновенная и монофоническая) и многоконтурная.

При полиалфавитной одноконтурной обыкновенной подстановке для заме-

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

Вкачестве примера рассмотрим шифрование с помощью таблицы Виженера. Таблица Виженера представляет собой матрицу с n2 элементами, где n — коли-

376 Глава 18. Криптографическая защита

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

Сам процесс шифрования осуществляется следующим образом:

под каждой буквой шифруемого текста записывают буквы ключа ( ключ при этом повторяется необходимое количество раз);

каждая буква шифруемого текста заменяется по подматрице буквами, находящимися на пересечении линий, соединяющих буквы шифруемого текста в первой строке подматрицы и находящихся под ними букв ключа;

полученный текст может разбиваться на группы по несколько знаков.

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

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

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

С целью повышения стойкости шифрования можно использовать усовершенствованные варианты таблицы Виженера. Отметим некоторые из них:

во всех ( кроме первой) строках таблицы буквы располагаются в произвольном порядке;

в качестве ключа используются случайные последовательности чисел.

Из таблицы Виженера выбираются десять произвольных строк, которые кодируются натуральными числами от 0 до 10. Эти строки используются в соответствии с чередованием цифр в выбранном ключе.

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

Анализ основных криптографическихметодов ЗИ 377

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

Полиалфавитная многоконтурная подстановка заключается в том, что для шифрования используется несколько наборов (контуров) алфавитов, используемых циклически, причем каждый контур в общем случае имеет свой индивидуальный период применения. Этот период исчисляется, как правило, количеством знаков, после зашифровки которых меняется контур алфавитов. Частным случаем многоконтурной полиалфавитной подстановки является замена по таблице Вижинера, если для шифрования используется несколько ключей, каждый из которых имеет свой период применения.

Общая модель шифрования подстановкой может быть представлена в следующем виде:

tci = tpi + ω mod (K – 1)

где tci — символ зашифрованного текста; tpi — символ исходного текста; ω — целое число в диапазоне от 0 до (К–1); К — количество символов используемого алфавита.

Если ω фиксировано, то формула описывает моноалфавитную подстановку, если ω выбирается из последовательности ω1, ω2, …, ωn, то получается полиалфавитная подстановка с периодом n.

Если в полиалфавитной подстановке n > m ( где m — количество знаков шифруемого текста) и любая последовательность ω1, ω2, …, ωn используется только один раз, то такой шифр является теоретически не раскрываемым, если противник не имеет доступа к исходному тексту. Этот шифр называют шифром Вермана.

Шифрование методом перестановки

Этот метод заключается в том, что символы шифруемого текста переставляются по определенным правилам внутри шифруемого блока символов. Рассмотрим некоторые наиболее часто встречающиеся разновидности этого ме-

тода: простой, усложненный по таблице и усложненный по маршрутам пере- становки.

Шифрование простой перестановкой

Шифрованиепростой перестановкой осуществляетсяследующимобразом:

выбирается ключевое слово с неповторяющимися символами;

шифруемый текст записывается последовательными строками под символами ключевого слова;

378 Глава 18. Криптографическая защита

зашифрованный текст выписывается колонками в той последовательности, в которой располагаются в алфавите буквы ключа (или в порядке следования цифр в натуральном ряду, если он цифровой).

Рассмотрим следующий пример:

открытый текст: БУДЬТЕ ОСТОРОЖНЫ ключ: 5 8 1 3 7 4 6 2

схема шифрования: 5 8 1 3 7 4 6 2

Б У Д Ь Т Е α O С Т О Р О Ж Н Ы (α — пробел)

Группируем по 2 символа и получаем зашифрованный текст:

1 2 3 4 5 6 7 8

ДООЫЬРЕЖБСαНТОУТ

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

Усложненный метод перестановки по таблицам

Усложненный метод перестановки по таблицам заключается в том, что для записи символов шифруемого текста используется специальная таблица, в которую введены некоторые усложняющие элементы. Таблица представляет собой матрицу, размеры которой могут быть выбраны произвольно (например 10 × 10). В нее, как и в случае простой перестановки, записываются знаки шифруемого текста. Усложнение состоит в том, что определенное число клеток таблицы не используется. Количество и расположение неиспользуемых элементов является дополнительным ключом шифрования. Шифруемый текст блоками по m × n – S элементов записывается в таблицу (m × n — размеры таблицы, S — количество неиспользуемых элементов). Далее процедура шифрования аналогична простой перестановке.

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

Усложненный метод перестановок по маршрутам

Анализ основных криптографическихметодов ЗИ 379

Весьма высокую стойкость шифрованию можно обеспечить, используя усложненный метод перестановок по маршрутам типа гамильтоновских. При этом для записи символов шифруемого текста используются вершины некоторого гиперкуба, а знаки зашифрованного текста считываются по маршрутам Гамильтона, причем используетсянесколькоразличных маршрутов(рис. 18.5).

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

Шифрование с помощью аналитических преобразований

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

||aij|| bj = Cj = Σaijbj

j

Рис. 18.5. Схема шифрования перестановкой по маршрутам Гамильтона. Открытый текст "КРИПТОГР", зашифрованный текст —

"ТОРКИПРГ" (вверху) и "ТКИПРОРГ" (внизу)

Если матрицу ||aij|| использовать в качестве ключа, а вместо компонента вектора bj подставить символы исходного текста, то компоненты вектора Cj будут представлять собой символы зашифрованного текста.

Используем в качестве примера этого метода квадратную матрицу третьего порядка, которая будет играть роль ключа:

ïï 1483 ïï

ïïïï 852 ïïïï

ïï 321 ïï

380 Глава 18. Криптографическая защита

Заменим буквы алфавита цифрами, соответствующими их порядковому номеру в алфавите: А = 0; Б = 1; В = 2 и т.д. Тогда тексту ВАТАЛА (текст произвольный) будет соответствовать последовательность 3, 0, 19, 0, 12, 0. По принятому алгоритму шифрования выполним необходимые действия:

ï 1483

ï

ï

3ï

ï99ï

ï 1483

ï

ï 0ï

ï96ï

ï

852

ï× ï

0ï=

ï62ï,

ï

852

ï× ï12ï=

ï60ï

ï

321

ï ï ï

ï ï

ï

321

ï ï

ï

ï ï

ï

ï

ï19ï

ï28ï

ï

ï

ï

0ï

ï24ï

Таким образом, зашифрованный текст будет иметь следующий вид:

99, 62, 28, 96, 60, 24

Расшифровывание осуществляется с использованием того же правила умножения матрицы на вектор, только в качестве основы берется матрица, обратная той, с помощью которой осуществляется закрытие, а в качестве векторасомножителя — соответствующее количество символов закрытого текста. Значениями вектора-результата будут цифровые эквиваленты знаков открытого текста.

Шифрование методом гаммирования

Суть этого метода состоит в том, что символы шифруемого текста последовательно складываются с символами некоторой специальной последовательности, которая называется гаммой. Иногда такой метод представляют как наложение гаммы на исходный текст, поэтому он получил название “гаммирование”.

Процедуру наложения гаммы на исходный текст можно осуществить двумя способами. В первом способе символы исходного текста и гаммы заменяются цифровыми эквивалентами, которые затем складываются по модулю К, где К — количество символов в алфавите, т.е. tc = (tp + tg) mod К, где tc, tp, tg — символы соответственно зашифрованного текста, исходного текста и гаммы.

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

Стойкость шифрования методом гаммирования определяется главным образом свойствами гаммы — длительностью периода и равномерностью статистических характеристик. Последнее свойство обеспечивает отсутствие закономерностей в появлении различных символов в пределах периода.

Разделяют две разновидности гаммирования — с конечной и бесконечной гаммой. При хороших статистических свойствах гаммы стойкость шифрования определяется только длиной ее периода. При этом если длина периода гаммы