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