
- •Основні поняття
- •Області застосування
- •Платформи
- •Додаткові вимоги
- •Мережа Фейштеля
- •Алгоритм des Принципи розробки
- •Алгоритм потрійний des
- •Недоліки подвійного des
- •Потрійний des із двома ключами
- •Алгоритм Blowfish
- •Алгоритм idea
- •Принципи розробки
- •Криптографічна стійкість
- •Алгоритм держстандарт 28147
- •Режими виконання алгоритмів симетричного шифрування
- •Огляд процесу розробки aes
- •Історична довідка
- •Огляд фіналістів
- •Критерій оцінки
- •Результати другого етапу обговорення
- •Запасний алгоритм
Критерій оцінки
У вересні 1997 року, оголосивши про алгоритми кандидатів, фахівці NIST визначили загальний критерій, що повинен використовуватися при порівнянні алгоритмів.
Критерій оцінки був розділений на три основних категорії:
Безпека.
Вартість.
Характеристики алгоритму і його реалізації.
Безпека є найважливішим чинником при оцінці й порівнянні таких можливостей як стійкість алгоритму до криптоаналізу, дослідження його математичної основи, випадковість вихідних значень алгоритму й відносна безпека в порівнянні з іншими кандидатами.
Вартість є другою важливою областю оцінки, що характеризує ліцензійні вимоги, обчислювальну ефективність (швидкість) на різних платформах і вимоги до пам'яті. Тому що однієї із цілей NIST була можливість широкої доступності алгоритму AES без ліцензійних обмежень, обговорювалися в основному вимоги захисту інтелектуальної власності й потенційних конфліктів. Розглядалася також швидкість роботи алгоритму на різних платформах. При першому обговоренні основна увага приділялася швидкості, зв'язаної з 128-бітними ключами. При другому обговоренні розглядалися апаратні реалізації й швидкості, зв'язані з 192- і 256-бітними ключами. Також важливо розглядати вимоги пам'яті й обмеження програмної реалізації.
Третьою областю оцінки були характеристики алгоритму й реалізації, такі як гнучкість, апаратна й програмна відповідність і простота алгоритму. Гнучкість включає можливість алгоритму:
управляти розміром ключа й блоку поверх того, котрий мінімально повинен підтримуватися;
безпечно й ефективно реалізовуватися в різних типах оточень;
реалізовуватися як потоковий алгоритм шифрування, хеш-функції й забезпечувати додаткові криптографічні сервіси.
Повинна бути можливість реалізувати алгоритм як апаратно, так і програмно, ефективність змішаних (firmware) реалізацій також вважається перевагою. Відносна простота розробки алгоритму також є чинником оцінки.
На першому й другому етапах обговорення стало очевидно, що різні виводи, отримані при аналізі, часто переходять із одного розглянутого вище критерію в іншій. Таким чином, критерії вартості й характеристик алгоритму розглядалися разом як другий критерій після безпеки.
Результати другого етапу обговорення
Вважається, що другий етап обговорення починається з офіційного оголошення п'яти фіналістів AES 20 серпня 1999 року й закінчується офіційним завершенням обговорень 15 травня 2000 року.
NIST виконав аналіз оптимізованих реалізацій алгоритмів на ANSI C і Java, які були надані після першого етапу обговорень. При тестуванні реалізацій на ANSI C основна увага приділялася швидкості виконання на комп'ютерах, що використовують різні комбінації процесорів, операційних систем і компіляторів. Код Java був протестирований на швидкість і використовувану пам'ять на різних системах. Додатково було виконано статистичне тестування.
Процес вибору
Була проведена серія зустрічей, щоб виробити стратегію вибору алгоритму AES. У результаті цих зустрічей усе прийшли до виводу, що обраний алгоритм забезпечує достатню безпеку на доступне для огляду майбутнє, ефективний на різних платформах і в різних оточеннях, забезпечує прийнятну гнучкість із урахуванням можливих вимог у майбутньому.
Методологія й результати вибору
Принципи вибору алгоритму
Команда NIST до вибору алгоритму повинна була прийняти кілька фундаментальних рішень:
Прийняти кількісний або якісний критерій при виборі алгоритму.
Вибрати один або кілька алгоритмів у якості AES.
Вибрати запасний алгоритм(и).
Розглянути пропозиції по модифікації алгоритмів.
Коротко розглянемо отримані результати.
Кількість алгоритмів AES
Протягом першого й другого етапів обговорень було висловлено кілька аргументів щодо кількості алгоритмів, які повинні бути обрані для включення в AES. Додатково був зроблений вивід відносно "запасного" алгоритму для випадку, якщо буде обраний єдиний AES-Алгоритм, і наступні зміни виявляться неможливими. Це може відбутися у випадку, наприклад, фактичної атаки на алгоритм або просте обговорення властивостей. Було вирішено, що це необхідно вважати частиною параметрів, які надалі будуть розглядатися як частина процесу вибору.
Деякі аргументи, висунуті в захист декількох алгоритмів (проти єдиного алгоритму), включають:
В інтересах безпеки; на випадок, якщо один алгоритм AES буде зламаний, у продуктах повинне бути реалізоване більше одного AES-Алгоритму. Деякі вважають, що широке застосування єдиного алгоритму є ризикованим, якщо даний алгоритм виявить себе як небезпечний.
Поняття інтелектуальної власності можуть бути розглянуті пізніше в питанні відсутності ліцензійних обмежень для конкретного алгоритму. Альтернативний алгоритм може надавати проміжний варіант, що не впливає на розглянуте поняття інтелектуальної власності.
Безліч алгоритмів AES може охоплювати більше широкий діапазон характеристик, чим єдиний алгоритм. Зокрема, можна буде запропонувати як більший ступінь безпеки, так і більший ступінь ефективності, що не завжди можливо при використанні єдиного алгоритму.
Були також висловлені думки на користь єдиного алгоритму (і/або проти декількох алгоритмів). Деякі із цих аргументів такі:
Використання декількох AES-Алгоритмів зменшує інтероперабельність і збільшує вартість продукту.
Кілька алгоритмів можуть являти собою певне число "атак на інтелектуальну власність", спрямованих проти реалізацій.
Опис декількох алгоритмів може викликати обговорення питань безпеки кожного з алгоритмів.
Апаратні реалізації можуть краще використовувати доступні ресурси, оптимізуючи виконання єдиного алгоритму, а не декількох алгоритмів.
Перед тим як прийняти рішення на користь єдиного алгоритму AES, були розглянуті всі коментарі й аргументи. Інші відповідні FIPS алгоритми будуть забезпечувати певний ступінь надійності, єдиний же AES-алгоритм забезпечує інтероперабельність, сприяє рішенню проблем інтелектуальної власності.