Алгоритм шифрования DES

Содержание

Слайд 2

DES – блочный алгоритм, то есть при шифровании исходное сообщение переводится в

DES – блочный алгоритм, то есть при шифровании исходное сообщение переводится в
двоичный код, а затем разбивается на блоки и каждый блок отдельно зашифровывается (расшифровывается). По стандарту (принят в 1977 году) размер блока DES равен 64 бита, то есть используя 8-ми битовую кодировку ASCII, применяемую в те времена, получим в одном блоке – 8 символов.

Теперь же в основном используется 16-ти битная кодировка Юникода (UTF-16), поэтому, чтобы сохранить длину блока равную 8-ми символам, увеличим размер блока DES до 128 бит.

Слайд 3

Алгоритм DES. Шаги

Итак, для того, чтобы зашифровать сообщение алгоритмом DES, необходимо выполнить

Алгоритм DES. Шаги Итак, для того, чтобы зашифровать сообщение алгоритмом DES, необходимо
следующую последовательность шагов:

довести исходное сообщение до такого размера (в битах), чтобы оно нацело делилось на размер блока (sizeOfBlock = 128 бит);

разделить исходное сообщение на блоки

довести длину ключа до длины половины блока

перевести ключ в бинарный формат (в нули и единицы);

соединить все блоки вместе; таким образом получим сообщение, зашифрованное алгоритмом DES.);

провести над каждым блоком прямое преобразование сетью Фейстеля в течении 16-ти раундов. После каждого раунда необходимо выполнять циклический сдвиг ключа на заданное количество символов);

Слайд 4

Сеть Фейстеля используется в алгоритме DES для зашифровывания (прямое преобразование сетью) и

Сеть Фейстеля используется в алгоритме DES для зашифровывания (прямое преобразование сетью) и
расшифровывания (обратное преобразование). Эти преобразования изображены на рисунках 1 и 2 соответственно.

Алгоритм DES. Сеть Фейстеля

Слайд 5

Рассмотрим один раунд прямого преобразования сетью Фейстеля.

На i-й итерации исходный блок делится

Рассмотрим один раунд прямого преобразования сетью Фейстеля. На i-й итерации исходный блок
пополам – левая часть обозначается L, правая R. Над R и ключом ki вычисляется какая-либо выбранная логическая функция f (мы будем использовать XOR). Затем выполняется вычисление логической операции “исключающее или” над L и вычисленным ранее значением функции (L xor f). Старое значение R переносится в левую часть блока, а в правую часть заносится значение L xor f. И последняя операция раунда – нужно выполнить циклический сдвиг ключа: keyi+1 = keyi >> shiftKey (при расшифровке keyi-1 = keyi << shiftKey); shiftKey – количество символов, на которое необходимо циклически сдвинуть ключ.

Слайд 6

создать программную реализацию криптографической системы, основанной на алгоритме шифрования DES, которая должна

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

Задание

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

Слайд 7

Шифрование по алгебре матриц

ЗАШИФРОВАТЬ СЛОВО ВАСИЛЬЕВА
Ключ: матрица

Шифрование по алгебре матриц ЗАШИФРОВАТЬ СЛОВО ВАСИЛЬЕВА Ключ: матрица

Слайд 8

Задаем нумерацию букв в шифруемом слове в соответствии с порядковым номером в

Задаем нумерацию букв в шифруемом слове в соответствии с порядковым номером в
алфавите (т.е. буква А имеет номер 1, буква Б – 2, буква В 3 и т.д.)
В А С И Л Ь Е В А
3 1 19 10 13 30 6 3 1

2. Умножаем матрицу на вектор