
- •Содержание
- •Раздел 1. Коммерческие информационные системы
- •Раздел 2 защита коммерческих информационных систем
- •Раздел 3. Введение в криптографию. Симметричные криптосистемы
- •Введение
- •Раздел 2 защита коммерческих информационных систем
- •Раздел 3. Введение в криптографию. Симметричные криптосистемы
- •1. Пояснительная записка
- •2 Содержание учебного материала
- •Введение.
- •Раздел 1. Коммерческие информационные сиcтемы
- •Раздел 2. Защита коммерческих информационных систем
- •Предмет и объект защиты. Определение кис
- •.2. Методы обеспечения информационной безопасности кис
- •1.3. Политика информационной безопасности кис
- •Глава 31 «Преступления против информационной безопасности:
- •Раздел 2 защита коммерческих информационных систем
- •2.1. Сети электронной коммерции
- •2.2. Атаки на сети электронной коммерции
- •2.2.1.Снифферы пакетов .
- •2.2.3. Отказ в обслуживании.
- •2.2.4. Парольные атаки
- •2.2.5. Атаки типа «Man-in-the-Middle»
- •2.2.6. Атаки на уровне приложений
- •2.2.7. Сетевая разведка
- •2.2.8. Злоупотребление доверием
- •2.2.9. Переадресация портов
- •2.2.10. Несанкционированный доступ
- •2.2.11. Борьба с вирусами
- •2.3. Протоколы безопасности
- •2.3.1. Протокол ppp chap
- •2.3.2. Протокол ssl
- •2.3.3. Протокол ssh
- •2.3.4. Протокол https
- •2.3.5. Протокол iPsec
- •2.4. Программно-аппаратные средства обеспечения безопасности
- •Раздел 3. Введение в криптографию. Симметричные криптосистемы
- •3.1. Введение в криптографию
- •3.1.1. История криптографии.
- •3.1.2.Современный период развития криптографии
- •3.1.3. Правило Киркхгофа. Понятие криптоанализа.
- •3.1.4. Современные стандарты криптосистем
- •3.2. Симметричные алгоритмы
- •Принцип симметричного шифрования с секретным ключом
- •Шифры перестановок
- •3.2.3. Шифры замены
- •Шифры сложной замены
- •Поточное шифрование
- •3.3.1. Каналы перехвата информации
- •3.3.4. Скремблеры.
- •Раздел 4. Сети фейстеля
- •Блочные шрифты
- •4.2.Сеть фейстеля. Функция f
- •4.3 Сети фейстеля с 4-мя ветвями
- •Шифр rc6
- •Раздел 5 симметричный алгоритм шифрования des
- •5.1. Начальная перестановка
- •5.2 16 Циклов шифрования в сети фейстеля
- •5.3 Режимы применения des.
- •5.4.Достоинства и недостатки des
- •Криптостойкость алгоритма des
- •Раздел 6 стандарт симметричного шифрования гост 28147-89
- •6.1 Общие характеристики
- •6.2 Режим простой замены
- •6.3 Гаммирование
- •6.4 Гаммирование с обратной связью
- •6.5.Режим выработки имитовставки
- •6.6 Достоинства гост
- •Раздел 7 асимметричные криптосистемы
- •7.1 Базовые определения
- •8.2. Алгоритм rsa
- •Технологии цифровых подписей
- •Национальный алгоритм выработки и проверки эцп
- •3.Лабораторный практикум
- •3.2Лабораторная работа шифр цезаря.
- •Класс Alphabet
- •Класс Ceasar
- •Тестовый запуск
- •Введение
- •Раздел 1. Коммерческие информационные системы (кис).
- •Раздел 2. Защита коммерческих информационных систем
- •Раздел 3. Введение в криптографию. Симметричные криптосистемы
- •1. Пояснительная записка
- •2 Содержание учебного материала Введение.
- •Раздел 1. Коммерческие информационные сиcтемы
- •Раздел 2
- •Раздел 3
- •Раздел 4
- •Раздел 5
- •Раздел 6
- •Раздел 7
5.2 16 Циклов шифрования в сети фейстеля
Идея сети Фейстеля состоит в том, что она задает одну и тут же функцию шифрования F как в процедуре зашифрования, так и в процедуре расшифрования (одна электронная схема или алгоритм используется как для шифрования и для расшифрования).
Во первых, это позволяет выбрать преобразование F, обладающее высокой криптостойкостью. Во вторых, в качестве функции F может быть использовано необратимое преобразование (сложность вычисления или отсутствие обратной функции F-1), и при этом вся цепочка раундов сети Фейстеля будет восстановима.
Последнее достигается благодаря тому, что в функции F(Li,Ki) (шифрование, рис.5.1) или F(Ri-1,Ki) (расшифрование, рис.5.2) в операции с ключом Ki также используется обратимая функция сложения по модулю 2 (операция XOR) с значением текущего раундового ключа Ki. Блгодаря этому при расшифровании исходный код может быть восстановлен при обратной последовательности выполнения раундов и обратной последовательности применения тех же ключей что и при зашифровании (рис. ).
При расшифровании на i –том раунде (рис.5.2) вначале по ключу Ki восстанавливсется значение F(Ri,Ki-1) (обратимость операции сложения по модулю 2 в функции F). Затем восстанавливается значение Ri (обратимость операции сложения по модулю 2 в сети Фейстеля).
На каждом раунде i преобразованию F подвергаются n/2 разрядов кода с текущиим раундовым ключом Ki. Результат преобразования на этом же раунде складываются по модулю 2 (операция XOR) с остальными (не преобразуемыми на этом такте) n/2 разрядами кода. Тем самым достинается перемешивание внутри блока.
Для обратимости сети Фейстеля не имеет значения является ли число раундов четным или нечетным числом.
Зашифрование и расшифрование данных на i-м раунде в Фейстеля подробно рассматривалось на предыдущей лекции. Поэтому сразу приведем полные алгоритмы зашифрования (рис.1) и расшифрования (рис.2) в DES.
Рис. 5.1 Схема шифрования алгоритма DES
Рис 5.2. Схема расшифрования алгоритма DES
В 16-циклах преобразования Фейстеля функция F играет роль основной функции шифрования. Аргументами функции F являются 32-битовый вектор Ri-1 (или Li-1) и 48-битовый ключ Ki, который является результатом преобразования 56-битового исходного ключа шифра K.
Для вычисления функции F используются функция расширения Е < преобразование S, состоящее из 8 преобразований S-блоков S1,S2,…,S8 , и перестановка P.
Функция Е расширяет 32-битовый вектор E(Ri-1) до 48-битового вектора Ri-1 путём дублирования некоторых битов из Ri-1 ; при этом порядок битов вектора E(Ri-1) указан в таблице 5.2.
-
Таблица 5.2. Функция расширения E
32
1
2
3
4
5
4
5
6
7
8
9
8
9
10
11
12
13
12
13
14
15
16
17
16
17
18
19
20
21
20
21
22
23
24
25
24
25
26
27
28
29
28
29
30
31
32
1
Первые три бита вектора E(Ri-1) являются битами 32, 1, 2 вектора . Ri-1) По таблице 5.2 видно, что биты 1, 4, 5, 8, 9, 12, 13, 16, 17, 20, 21, 24, 25, 28, 29, 32 дублируются. Последние 3 бита вектора E(Ri-1) — это биты 31, 32, 1 вектора Ri-1 . Полученный после перестановки блок E(Ri-1) складывается по модулю 2 с ключами Ki и затем представляется в виде восьми последовательных блоков B1,B2,..B8.
Каждый
является
6-битовым блоком. Далее каждый из
блоков
трансформируется
в 4-битовый блок
с
помощью преобразований
.
Преобразования
определяются
таблицей 5.3.
Рис.5.3 Схема работы функции F
Таблица
5.3.
Преобразования |
|||||||||||||||||
|
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
14 |
4 |
13 |
1 |
2 |
15 |
11 |
8 |
3 |
10 |
6 |
12 |
5 |
9 |
0 |
7 |
|
1 |
0 |
15 |
7 |
4 |
14 |
2 |
13 |
1 |
10 |
6 |
12 |
11 |
9 |
5 |
3 |
8 |
|
2 |
4 |
1 |
14 |
8 |
13 |
6 |
2 |
11 |
15 |
12 |
9 |
7 |
3 |
10 |
5 |
0 |
|
3 |
15 |
12 |
8 |
2 |
4 |
9 |
1 |
7 |
5 |
11 |
3 |
14 |
10 |
0 |
6 |
13 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
15 |
1 |
8 |
14 |
6 |
11 |
3 |
4 |
9 |
7 |
2 |
13 |
12 |
0 |
5 |
10 |
|
1 |
3 |
13 |
4 |
7 |
15 |
2 |
8 |
14 |
12 |
0 |
1 |
10 |
6 |
9 |
11 |
5 |
|
2 |
0 |
14 |
7 |
11 |
10 |
4 |
13 |
1 |
5 |
8 |
12 |
6 |
9 |
3 |
2 |
15 |
|
3 |
13 |
8 |
10 |
1 |
3 |
15 |
4 |
2 |
11 |
6 |
7 |
12 |
0 |
5 |
14 |
9 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
10 |
0 |
9 |
14 |
6 |
3 |
15 |
5 |
1 |
13 |
12 |
7 |
11 |
4 |
2 |
8 |
|
1 |
13 |
7 |
0 |
9 |
3 |
4 |
6 |
10 |
2 |
8 |
5 |
14 |
12 |
11 |
15 |
1 |
|
2 |
13 |
6 |
4 |
9 |
8 |
15 |
3 |
0 |
11 |
1 |
2 |
12 |
5 |
10 |
14 |
7 |
|
3 |
1 |
10 |
13 |
0 |
6 |
9 |
8 |
7 |
4 |
15 |
14 |
3 |
11 |
5 |
2 |
12 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
7 |
13 |
14 |
3 |
0 |
6 |
9 |
10 |
1 |
2 |
8 |
5 |
11 |
12 |
4 |
15 |
|
1 |
13 |
8 |
11 |
5 |
6 |
15 |
0 |
3 |
4 |
7 |
2 |
12 |
1 |
10 |
14 |
9 |
|
2 |
10 |
6 |
9 |
0 |
12 |
11 |
7 |
13 |
15 |
1 |
3 |
14 |
5 |
2 |
8 |
4 |
|
3 |
3 |
15 |
0 |
6 |
10 |
1 |
13 |
8 |
9 |
4 |
5 |
11 |
12 |
7 |
2 |
14 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
2 |
12 |
4 |
1 |
7 |
10 |
11 |
6 |
8 |
5 |
3 |
15 |
13 |
0 |
14 |
9 |
|
1 |
14 |
11 |
2 |
12 |
4 |
7 |
13 |
1 |
5 |
0 |
15 |
10 |
3 |
9 |
8 |
6 |
|
2 |
4 |
2 |
1 |
11 |
10 |
13 |
7 |
8 |
15 |
9 |
12 |
5 |
6 |
3 |
0 |
14 |
|
3 |
11 |
8 |
12 |
7 |
1 |
14 |
2 |
13 |
6 |
15 |
0 |
9 |
10 |
4 |
5 |
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
12 |
1 |
10 |
15 |
9 |
2 |
6 |
8 |
0 |
13 |
3 |
4 |
14 |
7 |
5 |
11 |
|
1 |
10 |
15 |
4 |
2 |
7 |
12 |
9 |
5 |
6 |
1 |
13 |
14 |
0 |
11 |
3 |
8 |
|
2 |
9 |
14 |
15 |
5 |
2 |
8 |
12 |
3 |
7 |
0 |
4 |
10 |
1 |
13 |
11 |
6 |
|
3 |
4 |
3 |
2 |
12 |
9 |
5 |
15 |
10 |
11 |
14 |
1 |
7 |
6 |
0 |
8 |
13 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
4 |
11 |
2 |
14 |
15 |
0 |
8 |
13 |
3 |
12 |
9 |
7 |
5 |
10 |
6 |
1 |
|
1 |
13 |
0 |
11 |
7 |
4 |
9 |
1 |
10 |
14 |
3 |
5 |
12 |
2 |
15 |
8 |
6 |
|
2 |
1 |
4 |
11 |
13 |
12 |
3 |
7 |
14 |
10 |
15 |
6 |
8 |
0 |
5 |
9 |
2 |
|
3 |
6 |
11 |
13 |
8 |
1 |
4 |
10 |
7 |
9 |
5 |
0 |
15 |
14 |
2 |
3 |
12 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
13 |
2 |
8 |
4 |
6 |
15 |
11 |
1 |
10 |
9 |
3 |
14 |
5 |
0 |
12 |
7 |
|
1 |
1 |
15 |
13 |
8 |
10 |
3 |
7 |
4 |
12 |
5 |
6 |
11 |
0 |
14 |
9 |
2 |
|
2 |
7 |
11 |
4 |
1 |
9 |
12 |
14 |
2 |
0 |
6 |
10 |
13 |
15 |
3 |
5 |
8 |
|
3 |
2 |
1 |
14 |
7 |
4 |
10 |
8 |
13 |
15 |
12 |
9 |
0 |
3 |
5 |
6 |
11 |
|
Предположим,
что
,
и мы хотим найти
.
Первый и последний разряды
являются
двоичной записью числа а, 0<=a<=3, средние
4 разряда представляют число b, 0<=b<=15.
Строки таблицы S3 нумеруются от 0 до 3,
столбцы таблицы S3 нумеруются от 0 до 15.
Пара чисел (а, b) определяет число,
находящееся в пересечении строки а и
столбца b. Двоичное представление этого
числа дает
.
В нашем случае
,
,
а число, определяемое парой (3,7), равно
7. Его двоичное представление
=0111.
Значение
функции
(32 бит)
получается перестановкой Р, применяемой
к 32-битовому блоку
.
Перестановка Р задана таблицей 5.4.
-
Таблица 5.4. Перестановка P
16
7
20
21
29
12
28
17
1
15
23
26
5
18
31
10
2
8
24
14
32
27
3
9
19
13
30
6
22
11
4
25
Согласно
таблице 5.4, первые четыре бита
результирующего вектора после действия
функции f — это биты 16, 7, 20, 21 вектора
Конечная перестановка
действует
на
и
используется для восстановления позиции.
Она является обратной к перестановке
IP. Конечная перестановка определяется
таблицей 5.8.
-
Таблица 5.8. Обратная перестановка
40
8
48
16
56
24
64
32
39
7
47
15
55
23
63
31
38
6
46
14
54
22
62
30
37
5
45
13
53
21
61
29
36
4
44
12
52
20
60
28
35
3
43
11
51
19
59
27
34
2
42
10
50
18
58
26
33
1
41
9
49
17
57
25
При расшифровании данных все действия выполняются в обратном порядке. В 16 циклах расшифрования, в отличие от шифрования c помощью прямого преобразования сетью Фейстеля, здесь используется обратное преобразование сетью Фейстеля.
Схема
расшифрования указана на Рис. 5.2. Ключ
,
i=1,…,16, функция f, перестановка IP и
такие
же как и в процессе шифрования.