Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ШПОРА ЗИ ОКОЛОВ()().docx
Скачиваний:
17
Добавлен:
22.09.2019
Размер:
1.31 Mб
Скачать

4.1. Стандарт шифрования des, основные достоинства и обобщенная схема.

Этот стандарт был разработан в 1977 г Национальным бюро шифрования США. Первоначально этот шифр использовался для шифрования всей государственной информации США. С 1980 г использование шифра DES для коммерческой информации считается признаком хорошего тона.

Основные достоинства алгоритма DES

-Используется только 1 ключ длиной 56 бит

-Зашифровав сообщение с помощью одного пакета для расшифровки можете использовать любой другой

-Простота алгоритма обеспечивает скорость

-Достаточно высокая скорость

DES осуществляет шифрования 64 битных блоков данных с помощью 56-битного ключа. Расшифрованиеявлется операцией обратной шифрованию и выполняется путём тех же операций шифрования, но в обратной последовательности. Процесс шифрования заключается в начальной перестановке битов 64-битовго блока, 16 циклов шифрования и обратно перестановке битов.

Обобщенная схема шифрования в алгоритме DES

4.2. Структура алгоритма шифрования des.

Очередной считанный 8 байтовый блок Т преобразуется с помощью матрицы начальной перестановки IP:

58 бит блока Т становится блоком 1, 50 бит – битом 2, … Полученные биты разделяются на старшие(левые L(0)) и младшие(правыеR (0)).Процесс шифрования осуществляется следующим образом:

L(i)=R(i-1) i=1,2..16

R(i)=L(i-1) XOR (R(i-1), k(i))

F- функция шифрования, ее аргументы 32-битовая последовательность R(i-1) и 48-битный k(i) ключ, который является преобразованием 56-битного ключа.

Интерактивный процесс расшифровывания может быть описан:

R(i-1)=L(i)

L(i-1)=R(i) XOR (L(i), k(i))

Рассмотрим функцию шифрования f:

32 бита(R(i-1))-> Расширитель Е ->XOR (k(i) – 48 бит)-> перестановка битов Р->f(R(i-1), K(i))

Для вычисления функции используется следующие матрицы:

Е – расширение исходной 32-битной последовательности до 48.

S1,S2,…S8 – преобразование 6-битного в 4-битный блок.

Р – перестановка бит в 32-битной последовательности.

Результат функции Е есть получение 48битовой последовательности, которую складывают по модулю 2 (операция XOR) 48-битным ключом k(i), в результате: 48-битная последовательность, которая разбивается на 8 6-битовых блоков В1, В2, … В8

E(R(I -1)) XORk(i)=B(1)B(2),…бИ(8)

Представим, что поступает 6-битовый блок B(j)=b1b2b3b4b5b6 , тогда b1 и b6 указывают строки матрицы, b2-b5 столбцы.

Применив операцию выбора для каждого из 6-битовых блоков получаем 32-битовую последовательность. Далее к ней применяем шифрование в виде функции перестановки Р.

4.3. Алгоритм вычисления ключей для des.

Генерирование ключей ki

Из 56 битового ключа исключаются биты контроля по четности расположенных позициях 8, 16.. для удаления этих конечных битов в первоначальную матрицу G.

После вычисления С(0) и Д(0) рекурсивно определяется С(i) и Д(i) для чего применяют циклический сдвиг влево на 1 или 2 бита в зависимости от номера итерации.

Wikipedia: Ключи ki получаются из начального ключа k (64 бит = 8 байтов или 8 символов в ASCII) таким образом. Восемь битов, находящих в позициях 8, 16, 24, 32, 40, 48, 56, 64 добавляются в ключ k таким образом чтобы каждый байт содержал нечетное число единиц. Это используется для обнаружения ошибок при обмене и хранении ключей. Затем делают перестановку для расширенного ключа (кроме добавляемых битов 8, 16, 24, 32, 40, 48, 56, 64).

Э та перестановка определяется двумя блоками C0 и D0 по 28 бит каждый. Первые 3 бита C0 есть биты 57, 49, 41 расширенного ключа. А первые три бита D0 есть биты 63, 55, 47 расширенного ключа. Ci,Dii=1,2,3…получаются из Ci − 1,Di − 1 одним или двумя левыми циклическими сдвигами согласно таблице.Ключ ki, i=1,…16 состоит из 48 бит, выбранных из битов вектора CiDi (56 бит) согласно таблице 7. Первый и второй биты ki есть биты 14, 17 вектора CiDi