Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Книга бельфер.docx
Скачиваний:
228
Добавлен:
20.09.2019
Размер:
9.74 Mб
Скачать
    1. Б.2. Блочные шифры

      1. Б.2.1. Методы перестановки и подстановки. Схема блочного шифрования

Настоящий раздел посвящён описанию принципа работы блочных шифров. Существуют 2 метода симметричного шифрования: метод перестановки и метод подстановки. Шифры, основанные на методе перестановки, сохраняют порядок символов, но подменяют их. Шифры, использующие метод перестановки, меняют порядок следования символов, но не изменяют сами символы. Ниже приведён простой перестановочный шифр с колоночной перестановкой. Ключом к шифру служит слово или фраза, не содержащая повторяющихся букв. В данном примере в качестве ключа используется слово "М Г Т У Д И П Л". Цель ключа - пронумеровать колонки. Первой колонкой становится колонка под буквой расположенной ближе всего к началу алфавита, и.т.д. Открытый текст записывается горизонтально в строках. Шифрованный текст читается по колонкам, начиная с колонки с младшей ключевой буквы.

В

М

Г

Т

У

Д

И

П

Л

5

1

7

8

2

3

6

4

с

т

у

д

е

н

т

ы

у

ч

а

т

с

я

н

а

х

о

р

о

ш

о

и

о

т

л

и

ч

н

о

4

5

Открытый текст: "студентыучатсянахорошоиотлично45".

Зашифрованный текст: "тчолесшнняооыао5сухттни4уаидточ".

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

Открытый текст: "a b c d e f g h i j k l m n o p q r s t u v w x w z".

Зашифрованный текст: "Q W E R T Y U I O P A S D F G H J K L Z X C V B N M".

Такая система называется моноалфавитной подстановкой, ключом к которой является 26-символьная строка, соответствующая полному алфавиту. В нашем примере слово «attack» будет выглядеть, как «QZZQEA». При симметричном блочном шифровании сообщения разбиваются на отдельные блоки, каждый из которых подлежит отдельно шифрованию/дешифрованию. Большинство алгоритмы блочного шифрования имеют структуру, впервые описанную Хорстом Файстелем в 1973 году. Соответствующая схема показана на рис. Б.3 [9].

Рис. Б.3. Классическая схема Файстеля

На вход алгоритма шифрования подаётся блок открытого текста длиной 2w бит и ключ K. Блок открытого текста разделяется на 2 равные части L0 и R0, которые последовательно проходят n раундов обработки, а затем объединяются снова для получения блока шифрованного текста соответствующей длины. Для раунда I в качестве входных данных выступают Li-1 и Ri-1, полученные на выходе предыдущего раунда, и подключ Ki, вычисляемый по общему ключу K. В общем случае все подключи Ki отличаются, как от общего ключа, так и друг от друга.

Все раунды обработки проходят по одной и той же схеме. Сначала для первой половины блока данных выполняется операция подстановки. Она заключается в применении к правой половине блока данных некоторой функции раунда F и последующем сложении полученного результата с левой половиной блока данных с помощью операции сложения по модулю два (XOR, исключающее «ИЛИ»). Для всех раундов функция раунда имеет одну и ту же структуру, но зависит от параметра – подключа раунда Ki. После подстановки выполняется перестановка, представляющая собой обмен местами двух половин блока данных.

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

  1. Размер блока. Чем больше размер блока, тем выше надёжность шифра (при прочих равных условиях), но ниже скорость выполнения операций шифрования и дешифрования. Современные блочные шифры длиной блока 64, 128 бит.

  2. Длина ключа. Чем длиннее ключ, тем выше надёжность шифра, но с увеличением длины ключа скорость шифрования и дешифрования замедляется.

  3. Число раундов обработки. Суть идеи шифра Файстеля в том, что за один раунд обработки данных обеспечивается недостаточно высокая надёжность шифрования, но стойкость шифра повышается с каждым новым раундом. Число раундов в нескольких американских стандартах шифрования равно 16, в отечественном – 32.

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

Процесс дешифрования Файстеля принципиально не отличается от процесса шифрования. Применяется тот же алгоритм, но на вход подаётся шифрованный текст, а подключи Ki используются в обратной последовательности: для первого раунда берётся подключ Kn, для второго – Kn-1 и так далее, пока не будет введён ключ K1 для последнего раунда. Такое свойство этой схемы шифрования оказывается очень удобным, так как для дешифрования не требуется вводить второй алгоритм, отличный от используемого алгоритма шифрования.

Приведём некоторые данные блочных шифров, используемых в сетях. Стандарт шифрования данных DES (Data Encryption Standard) предусматривает работу с блоками данных длиной 64 бита и использует ключ длиной 56 бит. Стандарт шифрования «тройной» DEA (ТDEA) использует 3 ключа и трижды применяется алгоритм DES. TDEA использует ключи длиной 112 бита и 168 бит. Открытый текст блока Р шифруется в блок С следующим образом (рис. Б.4.а):

,

где:

- шифрование X с использованием ключа Ki;

- шифрование Y с использованием ключа Ki.

Рис. Б.4. «Тройной» DEA

Дешифрация представляет ту же операцию, выполняемую с ключами в обратном порядке (рис. Б.4. б). То, что на второй стадии используется операция дешифрации, не существенно с точки зрения шифрования, но это даёт возможность пользователям TDEA расшифровать данные, зашифрованные более старой, обычной версией DES, используя один ключ K1:

Международный алгоритм шифрования данных IDEA (International Data Encryption Algorithm) явился одной из первых альтернатив DЕS и использует 128-битные ключи. Улучшенный стандарт шифрования AES (Advanced Encryption Standard) был принят в 2001 году в результате открытого международного конкурса. AES предусматривает размер блока 128 бит и длину ключа 128, 192 или 256 бит. Использование алгоритма DES допускается только в действующих системах. Одновременно существование TDEA и AES позволяет осуществить плавный переход к AES. Российский блочный шифр ГОСТ 28147-89, как следует из обозначения его, был принят в качестве стандарта в 1989 году [114]. Основные параметры этого стандарта: длина ключа 256 бит, размер блока 64 бита, 32 раунда. В отличие от DES, ГОСТ 28147-89, до недавнего времени не был предметом столь глубокого анализа со стороны мирового криптографического сообщества. Тем не менее, как отмечают специалисты, величина основных параметров (длина ключа, размер блока, количество раундов) позволяют утверждать, что шифр вряд ли может быть слабым. Никаких эффективных атак против шифра 28147-89 не опубликовано.