33658

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

Доклад

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

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

Русский

2013-09-06

44 KB

17 чел.

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.


 

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

56004. Дітям про Шопена 150 KB
  МЕТА: показати учням можливості музики у втіленні почуттів людини через жанр інструментальної мініатюрипрелюдії; дати визначення понять ноктюрн скерцо; поглибити знання учнів про життя і творчість ...
56005. Lets Go Shopping 470 KB
  Sit down, please. But I am not your teacher, I am a shop assistant. Today we are going to do the shopping together and I am going to teach you how to do it in the best way. Do you like to go shopping?
56006. At the Shopping Centre 137 KB
  It’s Saturday afternoon and Tina and Tim are shopping with their mother. They go to a big shopping centre. The shopping centre is a big building outside the town. It has got many different types of shops.
56007. SHOPPING 31.5 KB
  You task was to revise the new words and prepare some information about shopping in Great Britain, Ukraine and other counties. You were divided into some groups. So, please at first let’s remind our words, look and try to match.
56008. Shops and Shopping 500.5 KB
  Hello, girls and boys! Nice to meet you how are you feeling today? I hope you are fine and ready to work. Let’s start the class. Today’s lesson will be devoted to shops and shopping.
56009. SHOPS AND SHOPPING 46 KB
  Text, exercises are aimed at learning new vocabulary. Pupils are offered to complete the chart, find true or false sentences, give short answers, put questions to the statements, find the odd word, make up sentences with words, find and correct the mistakes.
56011. Шкідливі та корисні звички 664.49 KB
  Кожен із нас мріє прожити щасливе життя, мати міцне здоров’я, багато друзів, знаходити взаєморозуміння між членами родини і нашого суспільства, досягти успіху в роботі, навчанні. Але, на жаль, наші сподівання не завжди справджуються.
56012. Кохання та одруження 62.5 KB
  The topic of our lesson today is Love and Marriage. Let’s start our lesson from the small episode about a person who had all kinds of love in her life: people love, mother’s love, the love of the nation and who was a beloved woman.