Криптографические методы защиты информации. Учебное пособие для вузов

Б. Я. Рябко А. Н. Фионов

ОГЛАВЛЕНИЕ

Предисловие . . .3

1. Введение . . .5
Задачи и упражнения . . . . . . . . . . . . . . . . . . . . . . . 11

2. Криптосистемы с открытым ключом 12
2.1. Предыстория и основные идеи . . . . . . . . . . . . . . . 12
2.2. Первая система с открытым ключом . . . . . . . . . . . 18
2.3. Элементы теории чисел . . . . . . . . . . . . . . . . . . . 21
2.4. Шифр Шамира . . . . . . . . . . . . . . . . . . . . . . . 28
2.5. Шифр Эль-Гамаля . . . . . . . . . . . . . . . . . . . . . 31
2.6. Одностороння функция с “лазейкой” и шифр RSA . . . 34
Задачи и упражнения . . . . . . . . . . . . . . . . . . . . . . . 38

3. Методы взлома шифров 41
3.1. Постановка задачи . . . . . . . . . . . . . . . . . . . . . 41
3.2. Метод “Шаг младенца – шаг великана” . . . . . . . . . 43
3.3. Алгоритм исчисления порядка . . . . . . . . . . . . . . 45
Задачи и упражнения . . . . . . . . . . . . . . . . . . . . . . . 50

4. Электронная, или цифровая подпись 52
4.1. Электронная подпись RSA . . . . . . . . . . . . . . . . . 52
4.2. Электронная подпись на базе шифра Эль-Гамаля . . . 55
4.3. Стандарты на электронную (цифровую) подпись . . . . 58
Задачи и упражнения . . . . . . . . . . . . . . . . . . . . . . . 62

5. Криптографические протоколы 65
5.1. Ментальный покер . . . . . . . . . . . . . . . . . . . . . 65
5.2. Доказательства с нулевым знанием . . . . . . . . . . . . 70
Задача о раскраске графа . . . . . . . . . . . . . . . . . 71
Задача о нахождении гамильтонова цикла в графе . . . 75
5.3. Электронные деньги . . . . . . . . . . . . . . . . . . . . 82
5.4. Взаимная идентификация с установлением ключа . . . 88
Задачи и упражнения . . . . . . . . . . . . . . . . . . . . . . . 95

6. Криптосистемы на эллиптических кривых . . . 97
6.1. Введение . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
6.2. Математические основы . . . . . . . . . . . . . . . . . . 98
6.3. Выбор параметров кривой . . . . . . . . . . . . . . . . . 106
6.4. Построение криптосистем . . . . . . . . . . . . . . . . . 108
Шифр Эль-Гамаля на эллиптической кривой . . . . . . 109
Цифровая подпись по ГОСТ Р34.10-2001 . . . . . . . . 110
6.5. Эффективная реализация операций . . . . . . . . . . . 111
6.6. Определение количества точек на кривой . . . . . . . . 117
6.7. Использование стандартных кривых . . . . . . . . . . . 126
Задачи и упражнения . . . . . . . . . . . . . . . . . . . . . . . 129

7. Теоретическая стойкость криптосистем . . .131
7.1. Введение . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
7.2. Теория систем с совершенной секретностью . . . . . . . 132
7.3. Шифр Вернама . . . . . . . . . . . . . . . . . . . . . . . 134
7.4. Элементы теории информации . . . . . . . . . . . . . . 135
7.5. Расстояние единственности шифра с секретным ключом. . . 142
7.6. Идеальные криптосистемы . . . . . . . . . . . . . . . . . 148
Задачи и упражнения . . . . . . . . . . . . . . . . . . . . . . . 154

8. Современные шифры с секретным ключом 156
8.1. Введение . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
8.2. Блоковые шифры . . . . . . . . . . . . . . . . . . . . . . 159
Шифр ГОСТ 28147-89 . . . . . . . . . . . . . . . . . . . 161
Шифр RC6 . . . . . . . . . . . . . . . . . . . . . . . . . . 164
Шифр Rijndael (AES) . . . . . . . . . . . . . . . . . . . . 167
8.3. Основные режимы функционирования блоковых шифров . . . . 177
Режим ECB . . . . . . . . . . . . . . . . . . . . . . . . . 177
Режим CBC . . . . . . . . . . . . . . . . . . . . . . . . . 178
8.4. Потоковые шифры . . . . . . . . . . . . . . . . . . . . . 179
Режим OFB блокового шифра . . . . . . . . . . . . . . . 181
Режим CTR блокового шифра . . . . . . . . . . . . . . . 182
Алгоритм RC4 . . . . . . . . . . . . . . . . . . . . . . . . 183
8.5. Криптографические хеш-функции . . . . . . . . . . . . 185

9. Случайные числа в криптографии 188
9.1. Введение . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
9.2. Использование физических генераторов . . . . . . . . . 190
9.3. Генераторы псевдослучайных чисел . . . . . . . . . . . 192
9.4. Тесты для проверки генераторов . . . . . . . . . . . . . 195
9.5. Статистическая атака на блоковые шифры . . . . . . . 200

Ответы к задачам и упражнениям . . .214

Список литературы . . .218