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

Содержание

Слайд 2

Шифруемое сообщение – шифровка = 11111000 11101000 11110100 11110000 11101110 11100010

Шифруемое сообщение – шифровка = 11111000 11101000 11110100 11110000 11101110 11100010

11101010 11100000
Ключ шифрования 12345678 = 00110001 00110010 00110011 00110100 00110101 00110110 00110111 00111000
Слайд 3

Шаг 1 Начальная перестановка Входная последовательность 1111100011101000111101001111000011101110111000101110101011100000 Cогласно таблице начальной перестановки

Шаг 1 Начальная перестановка
Входная последовательность
1111100011101000111101001111000011101110111000101110101011100000
Cогласно таблице начальной перестановки перестанавливаем биты в

сообщении.

 
Полученная последовательность 1111111100001101000101000000000011111111111111110101001101110000

Слайд 4

Шаг 2 Получение последовательности L(0) и R(0) Делим полученную последовательность согласно

Шаг 2 Получение последовательности L(0) и R(0)
Делим полученную последовательность согласно таблицам.
Последовательности

получаются путём деления блока в 64 бита на 2 равных части.
L(0) перестановка

L(0) последовательность полученная 11111111000011010001010000000000
R(0) перестановка

R(0) последовательность полученная 11111111111111110101001101110000

Слайд 5

Шаг 3 Функция выбора и перестановки последовательности В (преобразование ключа шифрования)

Шаг 3 Функция выбора и перестановки последовательности В (преобразование ключа шифрования)
Входная

последовательность
0011000100110010001100110011010000110101001101100011011100111000

Полученная последовательность 00000000000000001111111111110110011001111000100000001111

Слайд 6

Шаг 5 получение последовательности C(i) По таблице сдвигаем биты в последовательностях C(0) = 0000000000000000111111111111

Шаг 5 получение последовательности C(i)

По таблице сдвигаем биты в последовательностях

C(0) =

0000000000000000111111111111
Слайд 7

Шаг 6 получение последовательности D(i) По той же таблице сдвигаем биты в последовательностях D(0) = 0110011001111000100000001111

Шаг 6 получение последовательности D(i)
По той же таблице сдвигаем биты в

последовательностях
D(0) = 0110011001111000100000001111
Слайд 8

Шаг 7 получение последовательностей K(i) Для получения последовательности K(i) произведём конкатенацию

Шаг 7 получение последовательностей K(i)
Для получения последовательности K(i) произведём конкатенацию последовательностей

C(i) и D(i). В полученной последовательности C(i)D(i) переставим биты согласно таблице.
K(0) = 010100010010110010001100101001110100001111000000
Слайд 9

Шаг 8 функция Е(шифрование, перестановка с расширением) R(0) = 11111111111111110101001101110000 E(R(0)) = 011111111111111111111110101010100110101110100001

Шаг 8 функция Е(шифрование, перестановка с расширением)
R(0) = 11111111111111110101001101110000
E(R(0)) = 011111111111111111111110101010100110101110100001

Слайд 10

Объединение R(i)K(i+1) XOR R(0)K(1) xor = 011111111111111111111110101010100110101110100001 010100000010110010101100010101110010101011000010 001011111101001101010010111111010100000101100011 Подстановка через

Объединение R(i)K(i+1) XOR
R(0)K(1) xor =
011111111111111111111110101010100110101110100001 010100000010110010101100010101110010101011000010
001011111101001101010010111111010100000101100011
Подстановка через S блоки(вход 6

бит выход 4 бита)
001011 111101 001101 010010 111111 010100 000101 100011
001011: Номер строки 01
Номер столбца 0101
Слайд 11

Подстановка через S блоки(вход 6 бит выход 4 бита) S(1) =

Подстановка через S блоки(вход 6 бит выход 4 бита)
S(1) = 2

= 0010 S(2) = 14 = 1110 S(3) = 9 = 1001 S(4) = 2 = 0010
S(5) = 3 = 0011 S(6) = 3 = 0011 S(7) = 11 = 1011 S(8) = 1 = 0001
Выходная (S1..S8) = 00101110100100100011001110110001
Прямая перестановка с помощью P блоков

Результат = 01100110011010000010111110010001

Слайд 12

L(0) Результат XOR 11111111000011010001010000000000 XOR 01100110011010000010111110010001 R(1)=10011001011001010011101110010001 L(1) = R(0) В

L(0) Результат XOR
11111111000011010001010000000000
XOR 01100110011010000010111110010001
R(1)=10011001011001010011101110010001
L(1) = R(0)
В итоге этих действий

появляется новая правая половина, а старая правая половина становится новой левой. Эти действия повторяются 16 раз, образуя 16 этапов DES.
Слайд 13

L(1) = 11111111111111110101001101110000 R(1) = 10011001011001010011101110010001 E(R1) = 110011110010101100001010100111110111110010100011 E(R1) XOR

L(1) = 11111111111111110101001101110000
R(1) = 10011001011001010011101110010001
E(R1) = 110011110010101100001010100111110111110010100011
E(R1) XOR K(2) = 100111111000011110101110110011111101111111100100
S(1..8)

= 00101001100011011111100011000100
P = 10110001000111000101001111100001
P XOR L(1) = 01001110111000110000000010010001 = R(2)
L(2) = R(1) = 10011001011001010011101110010001
E(R2) = 101001011101011100000110100000000001010010100010
E(R2) XOR K(3) = 011101010111101100100000011101101001000000101110
S(1..8) = 00111010001110101000100101000010
P = 01010101010110100010001001000110
P XOR L(2) = 11001100001111110001100111010111 = R(3)
L(3) = R(2) = 01001110111000110000000010010001
E(R3) = 111001011000000111111110100011110011111010101111
E(R3) XOR K(4) = 000001010010011111011000110001110000100101100100
S(1..8) = 00000111000110110110011111010100
P = 11000110011101000110000011111001
P XOR L(3) = 10001000100101110110000001101000 = R(4)
Слайд 14

Шаг 9 заключительная перестановка(обратная) Вход (L16R16) = 1001110001100011100100001010011010100100010111110110111000110100 Полученная = 00110000

Шаг 9 заключительная перестановка(обратная)

Вход (L16R16) = 1001110001100011100100001010011010100100010111110110111000110100

Полученная = 00110000 00111001

11101011 01101000 01100110 10011011 00111000 11000101

В десятичной системе 48 57 235 104 102 155 56 197

По таблице ANSI 0 9 л h f > 8 Е