Вместо предисловия | 3 |
ВВЕДЕНИЕ. Автоматизированные системы обработки данных |
как объекты защиты информации | 5 |
ОБОЗНАЧЕНИЯ | 12 |
ГЛАВА 1. Основы криптологии | 14 |
1.1. Основные термины и определения | 14 |
1.2. Оценка надёжности криптоалгоритмов | 15 |
1.3. История криптологии | 18 |
1.4. Классификация методов шифрования информации | 18 |
1.5. Шифры замены | 21 |
1.6. Шифры перестановки | 23 |
1.7. Блочные составные шифры | 25 |
1.8. Абсолютно стойкий шифр. Гаммирование | 30 |
1.9. Поточные шифры | 35 |
ГЛАВА 2. Принципы построения и свойства генераторов |
псевдослучайных кодов | 39 |
2.1. Генераторы двоичных М-последовательностей | 39 |
2.2. Генераторы двоичных последовательностей |
произвольной длины | 49 |
2.3. Основы теории конечных полей | 52 |
2.4. Недвоичные ГПК | 57 |
2.5. Свойства генераторов M-последовательностей | 63 |
2.6. ГПК в задачах поточного и комбинированного шифрования | 66 |
2.7. Использование R-блоков для построения ГПК | 73 |
2.8. Оценка качества ГПК |
(материал предоставлен И. В. Чугунковым) | 81 |
2.8.1. Графические тесты | 81 |
2.8.2. Оценочные тесты | 83 |
ГЛАВА 3. Криптосистемы с секретным ключом | 90 |
3.1. Модель симметричной криптосистемы | 90 |
3.2. Классификация угроз противника. |
Основные свойства криптосистемы | 91 |
3.3. Классификация атак на криптосистему с секретным ключом | 92 |
3.4. Режимы использования блочных шифров | 93 |
3.5. Отечественный стандарт криптографической защиты | 109 |
ГЛАВА 4. Криптосистемы с открытым ключом | 124 |
4.1. Односторонние функции | 124 |
4.2. Модель криптосистемы с открытым ключом | 126 |
4.3. Открытое распределение ключей | 127 |
4.4. Электронная подпись | 128 |
4.5. Криптосистема, основанная на задаче об укладке рюкзака | 130 |
4.6. Криптосистема RSA | 133 |
4.7. Гибридные криптосистемы | 136 |
ГЛАВА 5. Криптографические протоколы | 139 |
5.1. Основные понятия | 139 |
5.2. Доказательства с нулевым разглашением | 140 |
5.3. Протоколы подбрасывания монеты [7,10] | 141 |
5.4. Протоколы битовых обязательств [7,10] | 143 |
5.5. Протоколы разделения секрета [7,10] | 144 |
ГЛАВА 6. Контроль целостности информации | 146 |
6.1. Аутентичность. Задача аутентификации информации | 146 |
6.2. Имитозащита информации. |
Контроль целостности потока сообщений | 147 |
6.3. CRC-код | 150 |
6.4. Криптографические методы контроля целостности | 158 |
6.5. Код аутентификации сообщений | 159 |
6.6. Код обнаружения манипуляций с данными | 159 |
ГЛАВА 7. Методы аутентификации информации | 162 |
7.1. Идентификация, аутентификация и авторизация | 162 |
7.2. Аутентификация субъекта | 164 |
7.3. Симметричные методы аутентификации субъекта | 168 |
7.4. Схема Kerberos | 169 |
7.5. Несимметричные методы аутентификации субъекта | 173 |
7.5.1. Протокол Диффи-Хэллмана | 173 |
7.5.2. Протокол Шнорра | 175 |
7.5.3. Протокол Фиата-Шамира | 177 |
7.6. Аутентификация объекта | 178 |
ГЛАВА 8, Электронная подпись | 179 |
8.1. Основные понятия | 179 |
8.2. Хеш-функции | 182 |
8.2.1. Secure Hash Algorithm (SHA) | 182 |
8.2.2. Хеш-функции на основе симметричных блочных |
криптоалгоритмов | 186 |
8.2.3. Отечественный стандарт на функцию хеширования |
(ГОСТ Р 34.11-94) | 186 |
8.3. Протоколы электронной подписи | 189 |
8.3.1. Схема электронной подписи RSA | 189 |
8.3.2. Схема электронной подписи Шнорра | 189 |
8.3.3. Отечественный стандарт электронной подписи |
(ГОСТ Р 34.10-94) | 190 |
8.4. Классификация атак на схемы электронной подписи | 191 |
8.5. Процедура разрешения споров | 192 |
8.6. Особые схемы электронной подписи | 194 |
ГЛАВА 9. Управление ключами | 195 |
9.1. Разрядность ключа | 195 |
9.2. Генерация ключей | 197 |
9.3. Неоднородное ключевое пространство | 198 |
9.4. Хранение ключей | 200 |
9.5. Распределение ключей | 203 |
9.6. Время жизни ключей | 205 |
9.7. Протокол управления ключами SKIP | 206 |
ГЛАВА 10. Поточные шифры | 208 |
10.1. Синхронные поточные шифры | 208 |
10.1.1. A5 | 209 |
10.1.2. RC4 | 209 |
10.1.3. ORYX | 212 |
10.1.4. CHAMELEON | 212 |
10.1.5. SOLITAIRE | 214 |
10.2. Самосинхронизирующиеся поточные шифры | 217 |
ГЛАВА 11. Стандарт криптографической защиты XXI века — |
Advanced Encryption Standard (AES) | 220 |
11.1. История конкурса на новый стандарт криптозащиты | 220 |
11.2. Блочный криптоалгоритм RIJNDAEL | 225 |
11.2.1. Математические основы | 225 |
11.2.2. Структура шифра | 231 |
ГЛАВА 12. Проблемы и перспективы развития |
криптографических методов защиты | 237 |
12.1. Криптосистема на основе эллиптических уравнений | 237 |
12.1.1. Математические основы | 237 |
12.1.2. Группа точек эллиптической кривой | 238 |
12.1.3. Эллиптическая кривая над GF(p) | 240 |
12.1.4. Алгоритм электронной подписи |
на основе эллиптических кривых ECDSA | 243 |
12.2. Неотслеживаемость. Электронные деньги | 244 |
12.3. Использование односторонних функций с секретом |
для построения генераторов псевдослучайных кодов | 252 |
12.4. Вероятностное шифрование | 254 |
12.5. Стохастические методы передачи данных | 256 |
12.5.1. Основные понятия теории кодирования | 256 |
12.5.2. Теория кодирования и криптография | 260 |
12.5.3. Стохастические (n, k, q)-коды | 260 |
12.5.4. Стохастический блоковый (n, k, q)-код, |
исправляющий ошибки | 262 |
12.5.5. Крипто- и имитозащита при стохастическом кодировании | 267 |
12.6. Контроль хода программ | 267 |
|
ВМЕСТО ЗАКЛЮЧЕНИЯ. Причины ненадёжности криптосистем, |
или Почему криптография сложнее, чем кажется | 274 |
|
ПРИЛОЖЕНИЕ 1 | 280 |
Неприводимые многочлены над GF(p), p — простое | 280 |
Неприводимые многочлены над GF(2) | 280 |
Неприводимые многочлены над GF(3) | 281 |
Неприводимые многочлены над GF(5) | 281 |
Неприводимые многочлены над GF(7) | 281 |
Неприводимые многочлены над GF(11) | 282 |
ПРИЛОЖЕНИЕ 2 | 283 |
Примитивные многочлены над GF(2) | 283 |
Примитивные многочлены вида xN + xi + 1, где N — число Мерсенна | 283 |
Примитивные многочлены вида xN + xi + 1, где i = 8,16,32,64,128 | 284 |
Примитивные многочлены вида xN + xi + 1, где (i, 2N - 1) = 1 | 284 |
ПРИЛОЖЕНИЕ 3 | 286 |
Примитивные многочлены над GF(22) = {0,1, ω, ω2}, ω2 + ω +1 = 0, |
ω3 = 1 и GF(2)={0,1,ω,ω2,ω3,ω4,ω5,ω6}, ω3+ω2+1=0, ω7 =1 | 286 |
GF(22)(N<10) | 286 |
GF(23)(N<S) | 286 |
GF{23)(N=2) | 286 |
ПРИЛОЖЕНИЕ 4 | 287 |
Поточные шифры А5/1, RC4, SOLITAIRE. |
Исходные тексты программ | 287 |
ПРИЛОЖЕНИЕ 5 | 299 |
Блочный шифр RIJNDAEL — победитель конкурса AES. |
Исходный текст программы и тестовый пример | 299 |
ПРИЛОЖЕНИЕ б | 314 |
Финалисты конкурса AES — блочные шифры MARS, RC6, RIJNDAEL, |
SERPENT, TW0FISH. Исходные тексты программ | 314 |
ПРИЛОЖЕНИЕ 7 | 350 |
Система оценки качества оценки качества генераторов |
псевдослучайных кодов | 350 |
ПРИЛОЖЕНИЕ 8 | 354 |
Использование JK-триггеров при проектировании LFSR |
и CRC-генераторов | 354 |
ПРИЛОЖЕНИЕ 9 | 356 |
Линейные блоки пространственного сжатия |
информации 83, 98 | 356 |
ЛИТЕРАТУРА | 357 |