В корзину
Купить в 1 клик
Бесплатная доставка Новой Почтой
Отправка на следующий рабочий день
Отправка на следующий рабочий день
Описание
Книга посвящена алгоритмам блочного симметричного шифрования. Дана общая классификация криптографических алгоритмов. Рассмотрено более 50 алгоритмов шифрования: история создания и использования, основные характеристики и структура, достоинства и недостатки. Описаны различные виды криптоаналитических атак на алгоритмы шифрования и на их реализации в виде программных или аппаратных шифраторов. Рассказано о конкурсах по выбору стандартов шифрования США и Евросоюза
| Оглавление Введение | 1 |
Глава 1. Классификация алгоритмов шифрования и методов их вскрытия |
3 |
| 1.1. Криптографические алгоритмы | 3 |
| 1.2. Категории алгоритмов шифрования | 7 |
| 1.3. Структура алгоритмов симметричного шифрования | 8 |
| Алгоритмы на основе сети Фейстеля | 9 |
| Алгоритмы на основе подстановочно-перестановочных сетей | 11 |
| Алгоритмы со структурой «квадрат» | 11 |
| Алгоритмы с нестандартной структурой | 12 |
| 1.4. Режимы работы алгоритмов | 12 |
| Электронная кодовая книга | 13 |
| Сцепление блоков шифра | 14 |
| Обратная связь по шифртексту | 15 |
| Обратная связь по выходу | 16 |
| Другие режимы работы | 18 |
| 1.5. Атаки на алгоритмы шифрования | 18 |
| Цели атак | 18 |
| Классификация атак | 19 |
| Количественная оценка криптостойкости алгоритмов шифрования | 21 |
| Криптоанализ модифицированных алгоритмов | 22 |
| 1.6. Криптоаналитические методы, используемые в атаках | 23 |
| Метод «грубой силы» | 23 |
| Атаки класса «встреча посередине» | 25 |
| Дифференциальный криптоанализ | 27 |
| Линейный криптоанализ | 34 |
| Метод бумеранга | 38 |
| Сдвиговая атака | 40 |
| Метод интерполяции | 42 |
| Невозможные дифференциалы | 43 |
| Заключение | 44 |
| 1.7. Атаки на шифраторы, использующие утечку данных по побочным каналам | 44 |
| Атака по времени выполнения | 45 |
| Атаки по потребляемой мощности | 46 |
| Другие пассивные атаки | 47 |
| 1.8. Активные атаки на шифраторы, использующие утечку данных по побочным каналам | 48 |
| Виды воздействий на шифратор | 48 |
| Дифференциальный анализ на основе сбоев | 50 |
| Противодействие активным атакам | 52 |
| 1.9. Криптоаналитические атаки на связанных ключах | 53 |
| Расширение ключа | 53 |
| «Классическая» атака на связанных ключах | 54 |
| Атакуемые алгоритмы | 57 |
| Другие возможные проблемы процедуры расширения ключа | 59 |
Глава 2. Новейшая история симметричного шифрования |
61 |
| 2.1. Конкурс AES | 61 |
| Алгоритмы — участники конкурса | 63 |
| Достоинства и недостатки алгоритмов-финалистов | 65 |
| 2.2. Конкурс NESSIE | 69 |
Глава 3. Описание алгоритмов |
73 |
| 3.1. Алгоритм ГОСТ 28147-89 | 73 |
| Описание алгоритма | 73 |
| Режимы работы алгоритма | 75 |
| Криптостойкость алгоритма | 79 |
| Анализ таблиц замен | 79 |
| Модификации алгоритма и их анализ | 80 |
| Анализ полнораундового алгоритма | 81 |
| Заключение | 81 |
| 3.2. Алгоритм Aardvark | 82 |
| 3.3. Алгоритм AES (Rijndael) | 84 |
| Структура алгоритма | 84 |
| Процедура расширения ключа | 88 |
| Расшифровывание | 89 |
| Отличия AES от исходного алгоритма Rijndael | 91 |
| Первичная оценка криптостойкости алгоритма Rijndael | 92 |
| Криптоанализ алгоритма Rijndael в рамках конкурса AES | 93 |
| Криптоанализ алгоритма после конкурса AES | 95 |
| Заключение | 97 |
| 3.4. Алгоритм Akelarre | 97 |
| Структура алгоритма | 98 |
| Процедура расширения ключа | 101 |
| Криптоанализ алгоритма | 102 |
| 3.5. Алгоритм Anubis | 103 |
| Структура алгоритма | 103 |
| Процедура расширения ключа | 107 |
| Достоинства и недостатки алгоритма | 108 |
| 3.6. Алгоритмы Bear, Lion и Lioness | 108 |
| Алгоритм Bear | 109 |
| Алгоритм Lion | 111 |
| Алгоритм Lioness | 112 |
| Варианты использования | 113 |
| Криптоанализ алгоритмов | 114 |
| 3.7. Алгоритмы BEAST и BEAST-RK | 114 |
| Криптостойкость алгоритма BEAST | 116 |
| Алгоритм BEAST-RK | 117 |
| 3.8. Алгоритм Blowfish | 118 |
| Структура алгоритма | 119 |
| Процедура расширения ключа | 121 |
| Достоинства и недостатки алгоритма | 122 |
| 3.9. Алгоритм Camellia | 123 |
| Структура алгоритма | 123 |
| Таблицы замен | 127 |
| Расшифровывание | 128 |
| Процедура расширения ключа | 129 |
| Криптоанализ алгоритма Camellia | 132 |
| 3.10. Алгоритм CAST-128 | 134 |
| 3.11. Алгоритм CAST-256 | 135 |
| Основные характеристики и структура алгоритма | 135 |
| Процедура расширения ключа | 139 |
| Достоинства и недостатки алгоритма | 141 |
| 3.12. Алгоритм Crypton | 141 |
| Основные характеристики и структура алгоритма | 141 |
| Процедура расширения ключа | 145 |
| Достоинства и недостатки алгоритма | 147 |
| 3.13. CS-Cipher | 148 |
| Структура алгоритма | 149 |
| Расшифровывание | 153 |
| Процедура расширения ключа | 154 |
| Достоинства и недостатки алгоритма | 155 |
| 3.14. Алгоритм DEAL | 156 |
| Основные характеристики и структура алгоритма | 156 |
| Процедура расширения ключа | 157 |
| Достоинства и недостатки алгоритма | 160 |
| 3.15. Алгоритм DES и его варианты | 160 |
| История создания алгоритма | 161 |
| Основные характеристики и структура алгоритма | 162 |
| Процедура расширения ключа | 166 |
| Криптостойкость алгоритма DES | 168 |
| Продолжение истории алгоритма | 171 |
| Алгоритм Double DES | 172 |
| Алгоритм 2-key Triple DES | 173 |
| Алгоритм 3-key Triple DES | 174 |
| Режимы работы Double DES и Triple DES | 175 |
| Режимы работы с маскированием | 178 |
| Алгоритм Quadruple DES | 181 |
| Алгоритм Ladder-DES | 181 |
| Алгоритм DESX | 184 |
| Алгоритм DES с независимыми ключами раундов | 185 |
| Алгоритм GDES | 186 |
| Алгоритм RDES | 188 |
| Алгоритмы s2DES, s3DES и s5DES | 190 |
| Алгоритм Biham-DES | 191 |
| Алгоритмы xDES1 и xDES2 | 193 |
| Другие варианты алгоритма DES | 195 |
| Заключение | 195 |
| 3.16. Алгоритм DFC | 195 |
| Основные характеристики и структура алгоритма | 195 |
| Процедура расширения ключа | 198 |
| Достоинства и недостатки алгоритма | 199 |
| 3.17. Алгоритм E2 | 201 |
| Структура алгоритма | 201 |
| Почему алгоритм E2 не вышел в финал конкурса AES | 206 |
| 3.18. Алгоритм FEAL | 206 |
| История создания алгоритмa | 206 |
| Структура алгоритма | 207 |
| Процедура расширения ключа | 209 |
| Почему FEAL не используется | 211 |
| 3.19. Алгоритм FROG | 212 |
| Основные характеристики и структура алгоритма | 212 |
| Процедура расширения ключа | 214 |
| Форматирование ключа | 216 |
| Достоинства и недостатки алгоритма | 218 |
| 3.20. Алгоритм Grand Cru | 219 |
| Структура алгоритма | 219 |
| Расшифровывание | 225 |
| Процедура расширения ключа | 226 |
| Достоинства и недостатки алгоритма | 229 |
| 3.21. Алгоритм Hierocrypt-L1 | 229 |
| Структура алгоритма | 229 |
| Процедура расширения ключа | 234 |
| Достоинства и недостатки алгоритма | 239 |
| 3.22. Алгоритм Hierocrypt-3 | 239 |
| Отличия от Hierocrypt-L1 | 239 |
| Процедура расширения ключа | 241 |
| Криптоанализ алгоритма | 246 |
| 3.23. Алгоритм HPC | 246 |
| Основные характеристики алгоритма | 246 |
| Структура раунда | 247 |
| Процедура расширения ключа | 250 |
| Достоинства и недостатки алгоритма | 253 |
| 3.24. Алгоритм ICE | 254 |
| История создания алгоритма | 254 |
| Структура алгоритма | 254 |
| Варианты алгоритма | 257 |
| Процедура расширения ключа | 257 |
| Криптоанализ алгоритма | 259 |
| 3.25. Алгоритм ICEBERG | 259 |
| Структура алгоритма | 259 |
| Процедура расширения ключа | 263 |
| Криптоанализ алгоритма | 265 |
| 3.26. Алгоритмы IDEA, PES, IPES | 265 |
| Основные характеристики и структура | 266 |
| Процедура расширения ключа | 268 |
| Криптостойкость алгоритма | 268 |
| 3.27. Алгоритм KASUMI | 270 |
| Структура алгоритма | 271 |
| Процедура расширения ключа | 275 |
| Использование алгоритма | 277 |
| Криптоанализ алгоритма | 279 |
| 3.28. Алгоритм Khazad | 282 |
| Структура алгоритма | 282 |
| Процедура расширения ключа | 284 |
| Модификация алгоритма | 285 |
| Криптоанализ алгоритма Khazad | 287 |
| 3.29. Алгоритмы Khufu и Khafre | 288 |
| История создания алгоритмов | 288 |
| Структура алгоритма Khufu | 289 |
| Процедура расширения ключа и таблицы замен | 290 |
| Алгоритм Khafre | 292 |
| Сравнение алгоритмов | 293 |
| Алгоритм Snefru | 294 |
| Криптоанализ алгоритмов | 294 |
| 3.30. Алгоритм LOKI97 | 295 |
| История создания алгоритма | 295 |
| Основные характеристики и структура алгоритма | 296 |
| Процедура расширения ключа | 299 |
| Почему LOKI97 не вышел в финал конкурса AES | 300 |
| 3.31. Алгоритм Lucifer | 301 |
| Вариант № 1 | 301 |
| Вариант № 2 | 304 |
| Вариант № 3 | 308 |
| Вариант № 4 | 310 |
| Криптоанализ вариантов алгоритма | 311 |
| 3.32. Алгоритм MacGuffin | 312 |
| Структура алгоритма | 313 |
| Процедура расширения ключа | 315 |
| Криптоанализ алгоритма | 316 |
| 3.33. Алгоритм MAGENTA | 316 |
| Структура алгоритма | 317 |
| Достоинства и недостатки алгоритма | 319 |
| 3.34. Алгоритм MARS | 319 |
| Структура алгоритма | 320 |
| Процедура расширения ключа | 326 |
| Достоинства и недостатки алгоритма | 328 |
| 3.35. Алгоритм Mercy | 328 |
| Структура алгоритма | 328 |
| Процедура расширения ключа | 333 |
| Криптостойкость алгоритма | 334 |
| 3.36. Алгоритмы MISTY1 и MISTY2 | 334 |
| Структура алгоритма MISTY1 | 334 |
| Расшифровывание | 342 |
| Процедура расширения ключа | 344 |
| Алгоритм MISTY2 | 345 |
| Алгоритм KASUMI | 346 |
| Криптоанализ алгоритмов MISTY1 и MISTY2 | 347 |
| 3.37. Алгоритм Nimbus | 348 |
| Структура алгоритма | 348 |
| Процедура расширения ключа | 349 |
| Достоинства и недостатки алгоритма | 351 |
| 3.38. Алгоритм Noekeon | 351 |
| Структура алгоритма | 352 |
| Расшифровывание | 356 |
| Процедура расширения ключа | 357 |
| Криптоанализ алгоритма | 357 |
| 3.39. Алгоритм NUSH | 357 |
| Структура алгоритма | 357 |
| Расшифровывание | 362 |
| Процедура расширения ключа | 363 |
| Криптостойкость алгоритма | 363 |
| 128-битный вариант | 364 |
| 256-битный вариант | 368 |
| Криптоанализ 128- и 256-битного вариантов алгоритма | 373 |
| 3.40. Алгоритм Q | 374 |
| Структура алгоритма | 374 |
| Криптоанализ алгоритма | 375 |
| 3.41. Алгоритм RC2 | 375 |
| Структура алгоритма | 376 |
| Процедура расширения ключа | 378 |
| Расшифрование | 380 |
| Криптостойкость алгоритма | 381 |
| 3.42. Алгоритм RC5 | 381 |
| Структура алгоритма | 382 |
| Процедура расширения ключа | 385 |
| Криптоанализ алгоритма | 386 |
| Варианты RC5 | 387 |
| Продолжение истории алгоритма | 390 |
| 3.43. Алгоритм RC6 | 391 |
| Структура алгоритма | 391 |
| Процедура расширения ключа | 393 |
| Достоинства и недостатки алгоритма | 394 |
| 3.44. Алгоритмы SAFER K и SAFER SK | 394 |
| Структура алгоритма SAFER K-64 | 395 |
| Расшифрование | 399 |
| Процедура расширения ключа | 400 |
| Криптоанализ алгоритма SAFER K-64 | 402 |
| Алгоритм SAFER K-128 | 403 |
| Алгоритмы SAFER SK-64, SAFER SK-128 и SAFER SK-40 | 404 |
| Криптоанализ алгоритмов SAFER SK-64 и SAFER SK-128 | 408 |
| 3.45. Алгоритм SAFER+ | 408 |
| Структура алгоритма | 408 |
| Расшифрование | 412 |
| Процедура расширения ключа | 413 |
| Криптоанализ алгоритма SAFER+ | 415 |
| Единое расширение ключа SAFER+ | 416 |
| 3.46. Алгоритм SAFER++ | 418 |
| Структура алгоритма | 418 |
| 64-битный вариант SAFER++ | 421 |
| Криптоанализ алгоритма SAFER++ | 423 |
| Заключение | 424 |
| 3.47. Алгоритм SC2000 | 424 |
| Структура алгоритма | 424 |
| Расшифрование | 428 |
| Процедура расширения ключа | 429 |
| Криптоанализ алгоритма | 432 |
| 3.48. Алгоритм SERPENT | 432 |
| Структура алгоритма | 433 |
| Расшифрование | 439 |
| Процедура расширения ключа | 441 |
| Криптостойкость алгоритма | 442 |
| 3.49. Алгоритм SHACAL | 442 |
| Алгоритм SHACAL-1 | 442 |
| Алгоритм SHACAL-0 | 445 |
| Алгоритм SHACAL-2 | 446 |
| Криптоанализ алгоритма SHACAL-1 | 449 |
| Криптоанализ алгоритма SHACAL-2 | 450 |
| 3.50. Алгоритмы SHARK и SHARK* | 451 |
| 3.51. Алгоритм Sha-zam | 454 |
| Структура алгоритма | 454 |
| Процедура расширения ключа | 456 |
| Криптостойкость алгоритма | 456 |
| 3.52. Алгоритм Skipjack | 457 |
| Структура алгоритма | 457 |
| Криптостойкость алгоритма | 461 |
| 3.53. Алгоритм SPEED | 462 |
| Структура алгоритма | 462 |
| Расшифровывание | 465 |
| Процедура расширения ключа | 466 |
| Достоинства и недостатки алгоритма | 468 |
| 3.54. Алгоритм Square | 469 |
| Структура алгоритма | 469 |
| Процедура расширения ключа | 472 |
| Криптостойкость алгоритма | 473 |
| 3.55. Алгоритмы TEA, XTEA и их варианты | 474 |
| Алгоритм TEA | 474 |
| Криптоанализ алгоритма TEA | 476 |
| Алгоритм XTEA | 478 |
| Криптоанализ алгоритма XTEA | 480 |
| Алгоритм Block TEA | 480 |
| Алгоритм XXTEA | 481 |
| 3.56. Алгоритмы Twofish и Twofish-FK | 483 |
| Структура алгоритма | 483 |
| Процедура расширения ключа | 486 |
| Алгоритм Twofish-FK | 491 |
| Достоинства и недостатки алгоритма | 492 |
| Приложение. Таблицы замен | 493 |
| П1. Алгоритм Blowfish | 493 |
| П2. Алгоритм Camellia | 498 |
| П3. Алгоритм CAST-128 | 500 |
| П4. Алгоритм CAST-256 | 510 |
| П5. Алгоритм Crypton 0 | 515 |
| П6. Алгоритм DES | 517 |
| П7. Алгоритм KASUMI | 519 |
| П8. Алгоритм MARS | 522 |
| П9. Алгоритм s2DES | 525 |
| П10. Алгоритм s3DES | 527 |
| П11. Алгоритм s5DES | 529 |
| Литература | 531 |
| XII Оглавление XI Оглавление |
