Порівняння стандартів симетричного шифрування РФ і США
Введення
стандарт шифрування алгоритм
Другого жовтня 2000 департамент торгівлі США підбив підсумки конкурсу з вироблення нового стандарту шифрування США. Переможцем став алгоритм «Rijndael» [1], розроблений бельгійськими криптографами. Конкурс був оголошений двома роками раніше національним інститутом стандартів і технології США, що входять на правах агентства в департамент торгівлі. Спочатку було висунуто 15 шифрів-конкурсантів, після підбиття проміжних підсумків залишилося 5 фіналістів, з яких і був обраний кандидат на затвердження в якості стандарту. Новий шифр покликаний замінити алгоритм DES, що є стандартом шифрування США з 1977 року. був розроблений в дослідницькій лабораторії фірми IBM в першій половині 70-х років і належить до лінії шифрів, що беруть свій початок з алгоритму «Люцифер», створеного там же кількома роками раніше. Ця архітектура, що отримала назву «мережа Файстеля», займала до сьогоднішнього дня домінуюче положення в криптографії: до неї ставиться більшість сучасних шифрів, включаючи вітчизняний стандарт алгоритм ГОСТ28147-89 [2,3]. У даній роботі виконано порівняльний аналіз шифрів ГОСТ28147-89 і «Rijndael», і на їх прикладі зроблено порівняння традиційного і більш сучасного підходів до побудови блокових шифрів [4].
Перш ніж перейти безпосередньо до порівняння шифрів, необхідно зробити кілька зауважень про архітектурних рішеннях, характерних для шифрів 70-х років. У той час мікроелектроніка перебувала в самому початку свого шляху до сьогоднішнього приголомшливому рівню розвитку, було налагоджено промислове виробництво мікросхем тільки малої і середньої ступені інтеграції, і тому основною домінантою в проектуванні шифрів було забезпечення прийнятною стійкості при жорстких вимогах до складності реалізації. В даний час можливості технічної бази щодо реалізації шифрів зросли на кілька порядків і пропорційно збільшилися можливості їх криптоаналізу. У зв'язку з цим початкові вимоги до економічності реалізації шифрів перестали бути домінуючим фактором, у той час як вимоги до їх стійкості істотно зросли. Саме на тлі цих процесів і відбуваються сучасні зміни у підходах до побудови блокових шифрів з секретним ключем.
1. Порівняння загальних характеристик алгоритмів
Порівняльні характеристики алгоритмів ГОСТ і Rijndael приведені в наступній нижче таблиці 1.
Таблиця 1. Порівняльні характеристики алгоритмів ГОСТ28147-89 і Rijndael.
На відміну від ГОСТу, розмір шифруемого блоку і розмір ключа в алгоритмі Rijndael можуть змінюватися, що допускається використаної в ньому архітектурою «квадрат». Дана властивість дозволяє варіювати стійкість і швидкодія алгоритму в залежності від зовнішніх вимог до реалізації в деяких межах, - однак, не дуже широких, - число раундів, а разом з ним і швидкодія, в крайніх випадках різняться в 1.4 рази.
. Порівняння загальних архітектурних принципів
Криптоалгоритм ГОСТ28147-89, як і більшість шифрів «першого покоління», що розроблялися в 70-ті роки і в першій половині 80-х, базується на архітектурі «збалансована мережу Файстеля» (balanced Feistel network) [ 5]. Основним принципом цієї архітектури є те, що весь процес шифрування складається з серії однотипних раундів. На кожному раунді шіфруемий блок T ділиться на дві частини ( T 0, T 1), одна з яких модифікується шляхом побітового додавання за модулем 2 зі значенням, вироблюваному з іншої частини і ключового елемента раунду за допомогою функції шифрування. Між раундами частини блоку міняються місцями, і, таким чином, на наступному раунді поточний змінений блок стане незмінним і навпаки. Схема алгоритму шифрування за ГОСТ 28147-89 приведено малюнку 1 (а). Подібна архітектура дозволяє легко отримати оборотне криптографічне перетворення зі складної і, можливо незворотною, функції шифрування. Важливою особливістю цього підходу є те, що за раунд шифрується рівно половина блоку.
Шифр ??Rijndael має принципово іншу архітектуру, що отримала назву «квадрат» (Square) по імені першого виконаного в ній шифру, - він був розроблений тими ж фахівцями кількома роками раніше. Ця архітектура базується на прямих перетвореннях шифруемого блоку, який представляється у формі матриці байтів. Зашифрування також складається з серії однотипних кроків, раундів, проте на кожному раунді блок перетвориться як єдине ціле і не залишається незмінних частин блоку. Таким чином, за раунд шифрується повний блок, отже, для забезпечення порівнянної скл...