Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
защита информации 2.doc
Скачиваний:
3
Добавлен:
01.07.2025
Размер:
1.21 Mб
Скачать

3. Шифрование с секретным ключом

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

Модель традиционного шифрования

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

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

3.1 Алгоритмы традиционного шифрования

Алгоритм DES

DES (Data Encryption Standard) – стандарт шифрования данных. Этот алгоритм до недавнего времени был самым популярным алгоритмом шифрования, с 1977 г. он был национальным криптографическим стандартом США. В 2000 г. этот алгоритм в качестве стандарта был заменен, однако мы рассмотрим его для понимания основных приемов, которые используются в криптографических алгоритмах.

Общая схема алгоритма

DES является блочным шифром, на вход алгоритма данные подаются блоками. Входной поток данных преобразуется в поток битов, и алгоритм обрабатывает их блоками по 64 бита. На выходе генерируется 64-битовый блок шифрованного текста.

Для шифрования используется 56-битовый ключ, на основе которого генерируется 16 ключей, каждый по 48 бит. Алгоритм использует перестановки и подстановки в 16 раундах, соответственно каждый раунд использует свой ключ.

Общая схема алгоритма включает этапы:

  1. Начальная перестановка Р

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

  3. 32-битовый обмен (левая и правая половины меняются местами)

  4. Перестановка, обратная начальной Р

Схема работы каждого раунда шифрования

  1. На вход поступает 64-битовый блок, он делится на две 32-битовые части

  2. Берется правая часть (32 бита), и сохраняется как левая часть выходной последовательности. Затем к ней применяется перестановка с расширением до 48 бит. она заключается в том, что 16 битов повторяются по правилу, задаваемому специальной таблицей.

  3. Полученное 48-битовое значение складывается с ключом шифрования (тоже 48 бит) с помощью операции XOR (исключающее ИЛИ)

  4. К результату применяется функция подстановки, которая производится по специальной таблице и генерирует снова 32-битовое значение

  5. К результату применяется перестановка Р

  6. Полученное 32-битовое значение складывается с левой частью входного блока с помощью операции XOR (исключающее ИЛИ). Результат является правой частью выходной последовательности.

Вычисление ключей

На основе ключа длиной 56 бит на определенных этапах шифрования и дешифрования генерируются 16 ключей по 48 бит. Процедура генерации такова (для примера покажем операции на ключе в 10 бит):

  1. По определенному правилу выполняется перестановка битов исходного ключа. Например, если был порядок битов 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, он меняется на 3, 5, 2, 7, 4, 10, 1, 9, 8, 6.

  2. Отдельно для первых 28 бит и для вторых 28 бит применяется циклический сдвиг влево (2 раза), который еще называют вращением. Например, если исходная последовательность 1000001100, то результатом будет 00001 11000 (здесь 10-битовый ключ разделен на 2 части).

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

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

Алгоритм IDEA

IDEA (International Data Encryption Algorithm) – международный алгоритм шифрования данных. Это симметричный блочный шифр, применяемый как альтернатива DES. Алгоритм IDEA, наряду с другими, применяется в PGP, что означает его повсеместное использование.

IDEA шифрует данные блоками по 64 бита с использованием ключа длиной 128 бит (для сравнения – алгоритм DES использует 56-битовый ключ). Это обеспечивает хорошую стойкость алгоритма к криптоанализу. Алгоритм IDEA спроектирован так, что допускает и аппаратную, и программную реализацию. Аппаратная реализация применяется тогда, когда требуется высокая скорость. Программные реализации медленнее, но обладают большей гибкостью и меньшей ценой.

Общая схема шифрования IDEA

Процесс шифрования состоит из 8 одинаковых раундов. На вход каждого раунда поступает 64-битовый блок данных, разделенный на 4 16-битовых блока, и 6 различных подключей длиной 16 бит, которые генерируются из исходного ключа. Еще 4 подключа используются в выходном преобразовании (итого 52 подключа).

Структура одного раунда

  1. На первом этапе 4 входных блока связываются с 4 подключами с помощью операций сложения (2 операции) и умножения (2 операции).

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

  3. Третий этап работает с двумя входными блоками и двумя новыми подключами. На этом этапе производят операции сложения и умножения в различных сочетаниях. Результат – 2 блока по 16 бит.

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

  5. Два средних блока меняются местами для увеличения степени перемешивания.

Выходное преобразование

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