
Методы и средства защиты информации
.pdf
Безусловнаяи теоретическаястойкость 371
Теперь рассмотрим схему прохождения потока информации в криптографической системе, обеспечивающей имитостойкость (рис. 18.4).
Рис. 18.4. Поток информации в криптографической системе, обеспечивающей имитостойкость
При решении проблемы имитостойкости противник может не только видеть все криптограммы, передаваемые по каналу, но может также изменять их по своему желанию. Законный получатель защищает себя от обмана, дешифрируя все полученные сообщения и принимая только те сообщения, которые зашифрованы правильным ключом.
Любая попытка со стороны перехватчика расшифровать криптограмму С для получения открытого текста Р или зашифровать свой текст Р' для получения приемлемой криптограммы С' без получения ключа должно быть полностью исключено.
Если криптоанализ невозможен и криптоаналитик не может вывести Р и С или С' из Р' без предварительного получения ключа, то такая криптографическая система является криптостойкой.
Безусловная и теоретическая стойкость
Существует два принципиально разных метода обеспечения стойкости криптографических систем против криптоаналитического нападения.
Внекоторых системах объем доступной криптоаналитику информации фактически недостаточен для того, чтобы найти преобразования и дешифрирования, причем данная ситуация не зависит от того, какие вычислительные мощности имеет криптоаналитик.
Система такого рода называется безусловно стойкой.
Втом случае, когда перехваченный материал содержит достаточно информации для однозначного решения криптоаналитической задачи, нет никакой гарантии, что это решение будет найдено криптоаналитиком, имеющим определенные вычислительные ресурсы. Следовательно, цель разработчика криптографической системы состоит в том, чтобы уменьшить затраты на операции шифрования и дешифрирования, но чтобы в тоже время любая криптоаналитическая операция была слишком сложной и поэтому экономически невыгодной. Иными словами, необходимо, чтобы задача криптоанализа, о которой известно, что она разрешима при конечном объеме вычислений, была бы столь громозд-


Безусловнаяи теоретическаястойкость 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 бит.
Сжатие данных устраняет избыточность, увеличивая тем самым интервал однозначности. Избыточная информация может быть добавлена после дешиф-


Анализ основных криптографическихметодов ЗИ 375
низкую вычислительную сложность) и перебора всех подряд ключей вплоть до нахождения истинного (он срабатывает всегда, но имеет самую высокую вычислительную сложность).
Анализ основных криптографических методов ЗИ
Иногда криптографические методы ЗИ разделяют на три группы: методы подстановки, методы перестановки и аддитивные методы. Методы пе-
рестановки и подстановки характеризуются хорошими ключами, а их надежность связана со сложным алгоритмом преобразования. При аддитивных методах пользуются простыми алгоритмами преобразования, обеспечивая надежность с помощью ключей большого объема.
Иногда говорят о блочных методах, имея в виду первые две группы, в которых алгоритм работает сразу над большим блоком информации, и о потоковых методах, где шифрование происходит знак за знаком. Однако при использовании аддитивных методов преобразование может осуществляться сразу над целым машинным словом и метод приобретает признаки блочного.
Шифрование методом подстановки (замены)
Вэтом, наиболее простом, методе символы шифруемого текста заменяются другими символами, взятыми из одного (моноалфавитная подстановка) или нескольких ( полиалфавитная подстановка) алфавитов. Самой простой разновидностей является прямая замена, когда буквы шифруемого текста заменяются другими буквами того же самого или некоторого другого алфавита.
Если объем зашифрованного текста большой, то частоты появления букв в зашифрованном тексте будут ближе к частотам появления букв в алфавите (того языка, на котором написан текст) и расшифровка будет очень простой.
Поэтому простую замену в настоящее время используют редко и в тех случаях, когда шифруемый текст короток.
Для повышения стойкости шифра используют так называемые полиалфавитные подстановки, в которых для замены символов исходного текста используются символы нескольких алфавитов. Существует несколько разновидностей полиалфавитной подстановки, наиболее известными из которых являются одно- (обыкновенная и монофоническая) и многоконтурная.
При полиалфавитной одноконтурной обыкновенной подстановке для заме-
ны символов исходного текста используется несколько алфавитов, причем смена алфавитов осуществляется последовательно и циклически, т.е. первый символ заменяется соответствующим символом первого алфавита, второй — символом второго алфавита и т.д. до тех пор, пока не будут использованы все выбранные алфавиты. После этого использование алфавитов повторяется.
Вкачестве примера рассмотрим шифрование с помощью таблицы Виженера. Таблица Виженера представляет собой матрицу с n2 элементами, где n — коли-


Анализ основных криптографическихметодов ЗИ 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 ïï
