Алгоритм шифрования S_DES
Шифрование с использованием схемы Фейстеля
Общий вид алгоритма
Функция F
Функция выработки подключей
Выработка подключей
Выработка подключей
Выработка подключей
Шифрование
Шифрование. Функция F
Шифрование
Шифрование
Связь перестановок IP и IP-1
Дешифрование
1.41M
Категория: ПрограммированиеПрограммирование

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

1. Алгоритм шифрования S_DES

2. Шифрование с использованием схемы Фейстеля

X = {XL, XR}
Y = {YL, YR}
XL
XR
F(XR, K1)
F
K1
YL = α Å F(β, K3)
XR
YR = β
F(β, K3)
XL Å F(XR, K1) = α
F
β
β
α Å F(β, K3) Å F(β, K3) = α
XL Å F(XR, K1) = α
F(α, K2)
F
K2
α
β
α
F(α, K2)
XR Å F(α, K2) = β
F
XR Å F(α, K2) = β
F(β, K3)
F
α
Y = {YL, YR}
α
XR
F(XR, K1)
β
F
β = YR
α Å F(β, K3) = YL
K3
K2
α
β Å F(α, K2) = XR Å F(α, K2) Å
Å F(α, K2) = XR
α
K3
α Å F(XR, K1) = XL Å F(XR, K1) Å
Å F(XR, K1) = XL
XR
XR
X = {XL, XR}
K1

3. Общий вид алгоритма

Входной блок данных, 8
бит
IP
8
Начальная перестановка IP
8
4
2
4
K1
1 раунд
4
4
F
K2
F
8
Начальная перестановка
IP-1
8
Выходной блок
шифрованных данных, 8
бита
6
3
1
4
8
5
7

4. Функция F

Блок данных на входе в
функцию F
4
4
Перестановка с расширением Е
8
8
Ki
1
E
2
3
4
3
4
S1
0
1
2
3
0
1
0
3
2
1
3
2
1
0
2
1
3
2
8
2
3
3
1
3
1
S2
0
1
2
3
0
1
1
2
3
1
2
0
1
3
2
3
0
1
0
3
2
1
0
3
4
S1
S2
2
2
4
Перестановка Р
4
Блок данных на выходе
функции F
1

5. Функция выработки подключей

Ключ К, 10 бит
10
P10
Начальное преобразование ключа Р10
3
10
5
5
<<<1
<<<1
5
5
6
5
8 Подключ К1
Перестановка со
Сжатием P8
<<<2
<<<2
5
5
10
Перестановка со
сжатием P8
2
7
4
10
1
9
5
10
8
6
P8
5
10
5
8 Подключ К2
3
7
4
8
9

6. Выработка подключей

1100001110
7
Начальное преобразование ключа Р10
0011001110
<<<1
<<<1
<<<2
Перестановка со
сжатием
1
0
0
0
0
1
1
1
0
1
2
3
4
5
6
7
8
9
10
3
5
2
7
4
10
1
9
8
6
0
0
1
1
0
0
1
1
1
0
8 Подключ К1
Перестановка со
сжатием
<<<2
1
Подключ К2

7. Выработка подключей

P8
1100001110
6
3
7
4
8
5
0
1
1
2
1
3
0
4
6
3
7
1
1
1
10
0
5
1
6
1
7
1
8
4
8
5
10
9
0
1
0
0
0
9
Начальное преобразование ключа Р10
0011001110
01110
00110
<<<1
<<<1
00110
01110
8 Подключ К1
Перестановка со
сжатием
01100
11100
<<<2
<<<2
Перестановка со
сжатием
Подключ К2
11101000
0
9
0
10

8. Выработка подключей

9. Шифрование

10101101
IP
2
Начальная перестановка IP
6
3
1
4
8
5
7
01110110
K1
0111
F
0110
1
1
0
2
1
3
0
4
1
5
1
6
0
7
1
8
2
6
3
1
4
8
5
7
0
1
1
1
0
1
1
0
K2
F
Начальная перестановка IP-1

10. Шифрование. Функция F

E
4
0110
1
2
3
2
1
2
1
3
0
1
3
4
1
0
4
Перестановка с расширением Е
00111100
11101000 K1
S1
0100
S2
11
1
2
3
2
3
4
1
0
0
1
1
1
1
0
0
S1
0
1
2
3
0
1
11010100
1101
4
10
1110
Перестановка Р
1011
S2
0
1
2
3
0
1
1 11
1 22
3
P
2
4
3
1
1
3
0
4
2
4
3
1
1
0
1
1

11. Шифрование

12.

Шифрование. Функция F
1100
E
4
1
2
3
1
1
1
2
Перестановка с расширением Е
2
0
3
3
4
1
0
4
01101001
10000111 K2
11101110
1110
S1
1
2
3
2
3
4
1
0
1
1
0
1
0
0
1
S1
0
1
1110
S2
11
4
S2
0
1
00
1100
Перестановка Р
1001
P
2
4
3
1
1
1
1
2
0
3
0
4
2
4
3
1
1
0
0
1

13. Шифрование

10101101
Шифрование
IP-1
Начальная перестановка IP
4
1
3
5
7
2
8
6
1
1
1
2
1
3
1
4
1
5
1
6
0
7
0
8
4
1
3
5
7
2
8
6
1
1
1
1
0
1
0
1
01110110
K1
0111
1011
F
0110
1100
0110
1100
0110
1001
F
K2
1100
1111
1100
11111100
Начальная перестановка IP-1
11110101

14. Связь перестановок IP и IP-1

IP-1(IP(X)) = X
IP(IP-1(X)) = X
1
1
0
2
1
3
0
4
1
5
1
6
0
7
1
8
2
6
3
1
4
8
5
7
0
1
1
1
0
1
1
0
0
1
1
2
1
3
1
4
0
5
1
6
1
7
0
8
4
1
3
5
7
2
8
6
1
0
1
0
1
1
0
1
IP
IP-1

15. Дешифрование

11110101
Начальная перестановка IP
11111100
1111
1001
K2
10000111
K1
11101000
1100
F
0110
1100
0110
1100
1011
0110
F
0111
0110
01110110
Начальная перестановка IP-1
10101101
English     Русский Правила