Выбор метода преобразования

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

Большинство искусственных языков (и все естественные языки) имеют характерное частотное распределение букв и других знаков. Например, Е — наиболее часто встречающаяся буква в английском языке, а 2 — наиболее редкая. Это вовсе не говорит о том, что не будут попадаться английские (исходные) сообщения, в которых другая буква будет встречаться чаще, чем Е, и реже, чем 2. Но для очень большого числа сообщений могут быть установлены определенные характерные частоты. Многие сообщения, зашифрованные методом перестановки или одноалфавитной подстановки, сохраняют характерные частотные распределения и, таким образом, дают криптоаналитику путь к раскрытию шифра.

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

 

где Nдлина сообщения в буквах; тчисло алфавитов.

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

Если индекс соответствия находится между 0,052 и 0,066, то, вероятно, был использован двухалфавитный шифр подстановки, если между 0,052 и 0,047 — трех-алфавитный и т. д. Криптоаналитик берет наиболее часто встречающийся символ и предполагает, что это пробел, затем берет следующий наиболее частый символ и предполагает, что это "Е" и т. д. С помощью компьютера это делается быстро и аккуратно.

Дело усложняется, когда криптоаналитик сталкивается с равномерным распределением символов (ИС = 0,038 для английского языка, 1/26 = 0,038, где 26 — число букв в английском алфавите), которое получается при использовании многоалфавитной подстановки.

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

Поясним это на простом примере цифрового текста, закрытого цифровым кодом ключа методом гаммирования:

1. 1. Закрытое многозначное число 1001 1000 1011 1010 1101 1100 получено путем поразрядного сложения по модулю 2 числа Х1Х2Х3Х4Х5Х6 с однозначным числом К, т.е. шифрование числа Х1Х2ХзХ4Х5Х6 ключом К можно представить в виде системы уравнений:

2. Исходя из условия, что X принимает десятичные значения от 0 до 9, для поиска неизвестного К определим все возможные значения Х1 и К, сумма которых по модулю 2 приводит к результату 1001:

3. Аналогично определим К для чисел 1000, 1011, 1101 и 1100.

4. Анализируя полученные значения К для каждого из чисел и исключая значения более 9, определим значение, которое присутствует в каждом из десятков результатов.
Это значение будет равно 1001, т. е. в десятичном счислении 9. Следовательно, код ключа К = 9, а искомое число: 012345.

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

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

Интересным и эффективным способом является применение уравнения — генератора псевдослучайных чисел.

Современные достижения математики позволяют с помощью уравнения — генератора псевдослучайных чисел получить шифр с "бесконечным" ключевым словом, располагая относительно малой длиной самого ключа. Реализация этого метода заключается в том, что в вычислительную систему закладывается специальный алгоритм, который при получении кода ключа (порождающего числа Ti) вырабатывает по определенному закону (уравнению) с каждым тактом новое псевдослучайное число, цепочка из которых накладывается на закрываемый текст, и таким образом из "короткого" ключа получается "длинный" и жестко связанный с ним второй ключ. Например, если использованное порождающее число было 4372, то последовательность будет выглядеть следующим образом:

То = 4372 Двумя средними числами являются 37.

Квадратом 37 является 1369.

Т1 = 1369 Двумя средними цифрами являются 36.

Квадрат 36 — число 1296.

T2= 1296 Двумя средними цифрами являются 29.

Квадрат 29 — число 841.

Т3= 0841 ... и т. д.

Это выглядит достаточно разумно, пока не будет обнаружено, что из всех 100 возможных чисел, которые могут быть возведены в квадрат:

62 числа вырабатывают последовательности, которые вырождаются в 00, 00, 00, ...

19 — вырабатывают последовательности, которые вырождаются в 10, 10, 10, ...

15 — вырабатывают последовательности, которые вырождаются в 60, 60, 60, ...

3 — вырабатывают последовательности, которые вырождаются в 24, 57, 24, 57, 24, 57, ...

1 — вырабатывает последовательность, которая вырождается в 50, 50, 50, ...

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

Одним из хороших конгруэнтных генераторов является линейный конгруэнтный генератор псевдослучайных чисел. Этот генератор вырабатывает последовательность псевдослучайных чисел Т1, Т2, Тз, ..., Тm, ..., используя соотношение

Тi+1 = (аТ + с)mod m,

где а и с — константы;

Тi — исходная величина, выбранная в качестве порождающего числа.

Указанное уравнение генерирует псевдослучайные числа с определенным периодом повторения, зависящим от выбранных значений "а" и "с". Значение "т" обычно устанавливается равным 2b-1 или 2Ь, где b — длина слова компьютера в битах.

Эффективным методом шифрования является комбинированный метод. Комбинация основных методов шифрования — перестановки и подстановки — дает в результате сложное преобразование, называемое производным шифром.Этот шифр обладает более сильными криптографическими возможностями, чем отдельная перестановка и подстановка. Этот метод используется в федеральном стандарте NBS США, называемом также стандартом DЕS, и отечественном ГОСТе 28147—89, введенном в действие с июля 1990 г.

Стандарт DЕS построен на комбинированном использовании перестановки, замены и гаммирования, причем каждый блок шифруемых данных длиной 32 бита последовательно подвергается 15-кратному преобразованию, а в качестве ключа, который служит для генерирования последовательности знаков случайной гаммы, используется последовательность в 56 бит. Такой ключ дает 1016 различных комбинаций гаммы.

Алгоритм DЕS нашел широкое применение во многих сферах деловой жизни по следующим причинам:

1. до настоящего времени никто не указал какую-либо фундаментальную слабость алгоритма;

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

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

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

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

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

1. зашифрованный текст должен поддаваться чтению только при наличии ключа шифрования;

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

3. знание алгоритма шифрования не должно влиять на надежность защиты;

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

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

6. структурные элементы алгоритма шифрования должны быть неизменными;

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

8. дополнительные биты, вводимые в текст в процессе шифрования, должны быть полностью и надежно скрыты в шифрованном тексте;

9. длина шифрованного текста должна быть равной длине исходного открытого текста;

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

11. любой ключ из множества возможных должен обеспечивать надежную защиту информации;

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

Последним достижением криптографии стала система с открытым ключом.

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

Криптографические системы с открытым ключом используют необратимые или односторонние функции, которые обладают следующими свойствами: при заданном значении X относительно просто вычислить значение f(х), однако если у =f(х), то нет простого пути для вычисления значения X. Другими словами, чрезвычайно трудно рассчитать значение обратной функции f-1(у).

Исследование необратимых функций проводилось в основном по трем направлениям:

1. дискретное возведение в степень;

2. умножение простых чисел;

3. комбинаторные задачи, в частности задача об укладке ранца.

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

Р. Л. Ривестом, А. Шамиром и Л. Адельманом предложен метод с ключом общего пользования для более высокой степени защиты, основанный на применении необратимой функции с потайным ходом, которая определяется как семейство обратимых функций.

Таблица 1Характеристики криптографических алгоритмов

Характеристика DЕS RSА
Скорость работы Быстрая Медленная
Используемая функция Перестановка и подстановка Возведение в степень
Длина ключа 56 бит 300...600 бит
Наименее затратный криптоанализ Перебор по всему ключевому пространству Разложение модуля
Временные затраты на криптоанализ Столетия Зависят от длины ключа
Время генерации ключа Миллисекунды Десятки секунд
Тип ключа Симметричный Асимметричный

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

В табл. 1 описываются сильные и слабые стороны классического криптографического алгоритма DЕS и криптографического алгоритма с открытым ключом RSА (название от первых букв фамилий авторов).

В заключение следует, однако, отметить, что в результате проведенных исследований по проверке надежности алгоритма DЕS Национальное агентство по безопасности США с 1 января 1988 г. прекратило поддержку этого стандарта. Бурное развитие криптографии с ключом общего пользования позволяет надеяться на существенное упрощение программно-аппаратной реализации устройств шифрования, базирующихся на принципах открытого ключа.

Глава 8. Защита информации от утечки за счет побочного электромагнитного излучения и наводок (ПЭМИН)