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.


 

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

16281. Создание видеодиска в Nero StartSmart 3 MB
  Лабораторная работа №3 Создание видеодиска 1 Цель работы: 1.1Научиться пользоваться программой Nero StartSmart. 1.2Научиться производить запись цифрового видео на DVD для возможности его дальнейшего просмотра на DVDплеере. 2 Литература: 2.1 Приложение А. 3 Подгото
16282. Анализатор спектра DL-4. Работа со спутником 1.3 MB
  Лабораторная работа №1 Анализатор спектра DL4. Работа со спутником 1 Цель работы: 1.1 Получить навыки работы с прибором DL4. 1.2 Научиться настраиваться на нужную программу и фиксировать её в памяти прибора. 1.2 Научиться заносить данные прибора в компьютер при помощи
16283. Система проектирования электронных схем. Логические элементы 153 KB
  Лабораторная работа № Тема: Система проектирования электронных схем. Логические элементы Цель: Научиться с помощью системы EWB анализировать работу электронных схем работать с электронным знакогенератором и осциллографом. Оборудование: IBM PC Программное
16284. Исследование принципиальных электрических схем простых логических элементов (И, ИЛИ, НЕ) 47 KB
  Лабораторная работа № Тема: Исследование принципиальных электрических схем простых логических элементов И ИЛИ НЕ Цель работы: Проанализировать работу принципиальных электрических схем простых логических элементов И ИЛИ НЕ Оборудование:IBM PC Программно
16285. Анализ работы триггеров 78 KB
  Лабораторная работа № Тема: Анализ работы триггеров. Цель: С помощью системы EWB проанализировать работу триггеров. Оборудование. IBM PС. Программное обеспечение: windows ewb. Вопросы для повторения: Что такое триггер Какие бывают триггеры3.Принцип работ триггер...
16286. Анализ работы регистров 35.5 KB
  Лабораторная работа № Тема: Анализ работы регистров Цель: С помощью системы EWB проанализировать работу электронных схем регистров. Оборудование: IBM PC Программное обеспечение: WINDOWS EWB Вопросы для повторения: Что такое регистр Классификация...
16287. Исследование работы дешифраторов 34 KB
  Лабораторная работа № Тема: Исследование работы дешифраторов. Цель работы: Исследовать работу дешифраторов с помощью программы EWB. Оборудование: IBM PC. Программное обеспечение: WINDOWS EWB Вопросы для повторения: Назначение дешифраторов. Принцип действия де...
16288. Анализ работы цифровых индикаторов 42 KB
  Лабораторная работа № Тема: Анализ работы цифровых индикаторов Цель работы: Исследовать работу цифровых индикаторов с помощью программы EWB. Оборудование: IBM PC. Программное обеспечение: WINDOWS EWB. Вопросы для повторения: Что такое цифровые индик
16289. Исследование работы Постоянно запоминающего устройства(ПЗУ) в интегральном исполнении 208.5 KB
  Лабораторная работа №13 Тема: Исследование работы Постоянно запоминающего устройстваПЗУ в интегральном исполнении.. Цель работы: Исследовать работу постоянно запоминающего устройства с помощью программы EWB. Оборудование: IBM PC. Программное обеспечение: WINDOWS EWB ...