Оглавление
Введение..................................................................................................................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. Алгоритм Е2...............................................................................................201
Структура алгоритма.......................................................................................201
Почему алгоритм Е2 не вышел в финал конкурса AES...............................206
3.18. Алгоритм FEAL..........................................................................................206
История создания алгоритма..........................................................................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. Алгоритм НРС............................................................................................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 К и SAFER SK..........................................................394
Структура алгоритма SAFER К-64................................................................395
Расшифрование................................................................................................399
Процедура расширения ключа.......................................................................400
Криптоанализ алгоритма SAFER К-64..........................................................402
Алгоритм SAFER К-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, ХТЕА и их варианты...................................................474
Алгоритм TEA.................................................................................................474
Криптоанализ алгоритма TEA........................................................................476
Алгоритм ХТЕА...............................................................................................478
Криптоанализ алгоритма ХТЕА.....................................................................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
(“Алгоритмы шифрования” Сергей Панасенко 2009)
Эту книгу Вы можете скачать на www.librus.ru