33658

БЛОЧНОЕ КОДИРОВАНИЕ (АЛГОРИТМ DES)

Доклад

Информатика, кибернетика и программирование

БЛОЧНОЕ КОДИРОВАНИЕ АЛГОРИТМ DES Алгоритм DES представляет собой блочный шифр предназначенный для шифрования данных 64битовыми блоками. DES относится к симметричным алгоритмам т. Фундаментальным строительным блоком Des является применение к тексту единичной комбинации этих методов подстановка а за ней перестановка зависящей от ключа. DES включает 16 раундов одна и та же комбинация методов применяется к открытому тексту 16 раз DES оперирует 64битными блоками открытого текста .

Русский

2013-09-06

44 KB

15 чел.

23. БЛОЧНОЕ КОДИРОВАНИЕ (АЛГОРИТМ DES)

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

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

Фундаментальным  строительным блоком Des является  применение к тексту единичной комбинации этих методов (подстановка, а за ней перестановка ), зависящей от ключа. Такой  блок называется раундом. DES включает 16 раундов, одна и та же комбинация методов применяется к открытому тексту 16 раз

DES  оперирует 64-битными блоками открытого текста . После первоначальной перестановки блок разбивает на правую и левую половины длиной по 32 бита. Затем выполняет 16 раундов одинаковых действий, называемых функцией f, в которых  данные объединяються с ключом. После 16 раунда правая и левая половины объединяются, и алгоритм  завершается заключительной перестановкой(обратной первоначальной).

На каждом раунде (см. рис 3.2.) биты ключа сдвигаются, а затем из 56 битов ключа выбираются 48 битов. Правая половина данных увеличивается до 48 битов путем перестановки с расширением, ксорится с 48 битами смещенного и переставленного ключа, проходит через 8 S-блоков, образуя 32 новых бита, и переставляется снова.  Эти 4 операции выполняються функцией f. Затем результат выполнения   ксорится с левой половиной. В итоге этих действий появляется новая правая половина, а старая правая становится левой.  Эти действия повторяются 16 раз, образуя 16 раундов алгоритма DES.

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

Преобразование  ключа

Первоначально 64-битовый ключ DES сокращается до 56-битового  отбрасыванием каждого восьмого бита. (см. рис. 3.4.) Эти   биты используются только для контроля  четности, позволяя проверять отсутствие ошибок.

После извлечения 56-битового ключа, для каждого из 16 раундов DES генерируется новый 48-битовый подключ. Эти подключи Ki определяются следующим образом:

  •  56-битовый ключ делится на две 28-битовые половины
  •  две половины сдвигаются налево на 1 или 2 бита, в зависимости от раунда. Этот сдвиг показан в таблице 3.1.

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

Расширяющая  перестановка

Эта  операция расширяет правую половину данных Ri от 32 битов до 48 битов. Так как при этом не просто повторяются определенные биты, но и изменяется их порядок, эта опрерация называется расширяющей перестановкой. Она решает две задачи:

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

Хотя выходной блок больше входного, каждый входной блок генерирует уникальный выходной блок.

Подстановка с помощью S-блоков

Подстановки производится с помощью восьми блоков подстановки или S-блоков (от англ. Substitution boxes). У каждого s-блока 6-битовый вход и 4-битовый выход. 48 битов делятся на восемь. 6-битовых подблоков. Каждый отдельный подблок обрабатывается отдельным S-блоков: 1-й S-блоком 1, 2-й S-блоком  2 и т. д.

Каждый S-блок представляет собой таблицу из 4 строк и 16 столбцов. Элементами блока сложат 4-битовые числа. По шести входным битам S-блока определяются номера столбцов и строк, под которыми следует искать выходное значение. Все 8 S-блоков показаны на рис. 3.9.

Входные биты определяют элемент s-блока особым образом. Рассмотрим 6-битовый вход S-блока: b1,b2,b3,b4,b5,b6. Биты b1 и b6 объединяются, образуя 2-битовое число от 0 до 3, соответствующее строке S-блока. Средние 4 бита, с b2 по b5 объединяются, образуя 4-битовое число от 0 до 15, соответствующее столбцу блока.

Перестановка с помощью Р-блоков

32-битовый выход подстановки с помощью S-блоков перетасовывается в соответствии с Р-блоком. Эта перестановка перемещает  каждый входной бит в другую позицию, ни один бит не используется дважды, ни один бит не отбрасывается. Этот процесс называется прямой перестановкой или просто перестановкой. Наконец, результат перестановки с помощью Р-блоков ксорится с левой половиной исходного 64-битового блока. Затем левая и правая половины меняются местами, и начинается следующий раунд.

Заключительная перестановка

Заключительная перестановка обратна начальной перестановке и показана на рис. 3.10. Обратите внимание: после последнего раунда DES левая и правая половины не  меняются местами. Вместо этого объединеный блок R16L16 используется как вход заключительной перестановки.

Расшифрование DES

Алгоритм DES позволяет использовать для зашифрования или расшифрования блока одну и ту же функцию. Единственное отличие состоит в том, что ключи должны использоваться в обратном порядке. Иными словами, если в раундах зашифрования использовались ключи К1,К2,К3…К16, то ключами расшифрования будут К16,К15,К14…К1. Алгоритм, который создает ключ для каждого раунда, тоже цикличен. Ключ сдвигается направо, а число позиций сдвига равно 0,1,2,2,2,2,2,2,1,2,2,2,2,2,2,1.


 

А также другие работы, которые могут Вас заинтересовать

19016. Малые колебания системы со многими степенями свободы. Собственные частоты и нормальные координаты 459.5 KB
  Лекция 14. Малые колебания системы со многими степенями свободы. Собственные частоты и нормальные координаты Рассмотрим случай малых колебаний системы частиц имеющей степеней свободы. Самый общий вид функции Лагранжа такой системы таков: 1 2 Устойч
19017. Уравнения Гамильтона (канонические уравнения). Функция Гамильтона. Скобки Пуассона и их свойства 750 KB
  Лекция 15. Уравнения Гамильтона канонические уравнения. Функция Гамильтона. Скобки Пуассона и их свойства Одна из форм уравнения движения это уравнения Лагранжа когда задается функция Лагранжа как функция независимых обобщенных координат и обобщенных скоростей
19018. Канонические преобразования. Производящие функции. Временная эволюция механической системы как каноническое преобразование 901 KB
  Лекция 15. Канонические преобразования. Производящие функции. Временная эволюция механической системы как каноническое преобразование Выбор обобщенных координат не ограничен никакими условиями ими могут быть любые величин однозначно определяющие положение сис
19019. Место квантовой механики в современной физической науке. Основные экспе-риментальные факты, лежащие в основе квантовой механики 318 KB
  Лекция 1. Место квантовой механики в современной физической науке. Основные экспериментальные факты лежащие в основе квантовой механики В современной науке квантовая механика занимает важнейшее место поскольку формирует основные идеи современного подхода к описа
19020. Принципы построения и постулаты квантовой механики. Операторы физических величин 285 KB
  Лекция 2 Принципы построения и постулаты квантовой механики. Операторы физических величин Как следует из опытов по дифракции микрочастиц в квантовой механике отсутствует понятие траектории т.е. состояние квантовой частицы не описывается заданием координаты и имп
19021. Операторы координаты и импульса: уравнения на собственные значения и собственные функции, разложения, координатное и импульсное представления волновой функции 444.5 KB
  Лекция 3 Операторы координаты и импульса: уравнения на собственные значения и собственные функции разложения координатное и импульсное представления волновой функции Найдем оператор координаты в представлении то есть найдем как действует этот оператор на про
19022. Матрицы операторов. Унитарные преобразования базиса. Соотношения коммутации. Одновременная измеримость физических величин 650 KB
  Лекция 4 Матрицы операторов. Унитарные преобразования базиса. Соотношения коммутации. Одновременная измеримость физических величин. Соотношение неопределенностей Гейзенберга Рассмотрим некоторый линейный оператор :. Выберем в рассматриваемом линейном пространст...
19023. Временное уравнение Шредингера. Общее решение уравнения Шредингера в случае ста-ционарного гамильтониана. Стационарные состояния 380 KB
  Лекция 5 Временное уравнение Шредингера. Общее решение уравнения Шредингера в случае стационарного гамильтониана. Стационарные состояния. Плотность потока вероятности Как следует из постулатов квантовой механики волновая функция удовлетворяет уравнению Шрединг
19024. Зависимость средних от времени. Интегралы движения. Законы сохранения и симметрии. Сохранение четности 614 KB
  Лекция 6 Зависимость средних от времени. Интегралы движения. Законы сохранения и симметрии. Сохранение четности Эволюция квантовой системы во времени определяется временным уравнением Шредингера 1 Поскольку это уравнение является уравнением первого пор...