ь до виходу зміни за межі одного біта. Наступна операція - заміна по таблиці - поширює зміна в одному бите на весь байт. Наступний за нею порядковий байтовий зрушення не змінює нічого в цій картині. І, нарешті, завершальна операція раунду - перемішування байтів в шпальтах матриці - призводить до дифузії зміни на весь стовпець. Таким чином, за один раунд шифрування зміна в одному бите вхідних даних зробить вплив на один стовпець матриці даних. На наступному раунді шифрування ці байти в ході операції построчного байтового зсуву будуть «розведені» по різних стовпцях, і в результаті наступної операції перемішування байтів в шпальтах вихідне зміна пошириться на 4 шпальти. Тобто на всю матрицю даних при 128-бітовому блоці даних, на 2/3 матриці при 192-бітовому блоці і на її половину при 256-бітовому блоці даних. Діаграма дифузії в алгоритмі Rijndael приведено малюнку 5.
Рис. 5. Дифузія зміни у вихідних даних через кілька раундів шифрування алгоритму Rijndael для 128- бітового блоку.
Таким чином, при шифруванні 128-бітових блоків зміна в одному бите вхідних даних поширюється на весь блок рівно за два раунди, при більшому розмірі блоку - за три. У результаті за 10-14 раундів алгоритму Rijndael дані встигають повністю перемішатися 5-7 разів.
Як видно з вищевикладеного, за показниками дифузії алгоритми ГОСТ і Rijndael відрізняються один від одного не сильно.
. Показники стійкості алгоритмів
Розглянемо стійкість обох алгоритмів до відомих видів криптоаналізу. Найбільш універсальними та ефективними для алгоритмів широкого класу є диференційний і лінійний види криптоаналізу.
Дати оцінку стійкості алгоритму ГОСТ28147-89 до конкретних видів криптоаналізу неможливо без специфікації вузлів замін, так як якість цього шифру істотним чином залежить від якості використаних вузлів. Проте дослідження близьких з архітектури шифрів із заданими таблицями підстановок (DES) показали, що криптоаналіз шифру з 16 раундами в принципі здійснимо, однак вимагає дуже великого числа вихідних даних, а при 20-24 раундах стає теоретично марним. ГОСТ передбачає 32 раунду шифрування, і цієї кількості вистачає із запасом, щоб успішно протистояти зазначеним видам криптоаналізу. У відкритій пресі відсутні повідомлення про успішне розтині ГОСТу з якими-небудь вузлами замін, - як з тестовими, специфікованими в стандарті ГОСТ Р34.11-94, так і з тими, з якими реалізації ГОСТу поставлялися в комерційні організації.
За оцінками розробників шифру Rijndael, вже на чотирьох раундах шифрування цей алгоритм набуває достатню стійкість до зазначених видів криптоаналізу. Теоретичною кордоном, за якої лінійний і диференціальний види криптоаналізу втрачають сенс, є рубіж в 6-8 раундів в залежності від розміру блоку. Згідно специфікації, в шифрі передбачено 10-14 раундів. Отже, шифр Rijndael також стійкий до зазначених видів криптоаналізу з певним запасом.
Таким чином, обидва порівнюваних шифру володіють достатньою стійкістю до відомих видів криптоаналізу. У пресі відсутні будь-які відомості про успішні випадках розтину зазначених шифрів, а також описи процедур, які теоретично дозволили б дешифрувати повідомлення з меншими обчислювальними витратами, ніж повний перебір по всьому ключовому простору.
. Продуктивність і зручність реалізації
При оцінці досяжною ефективності апаратної реалізації шифрів головним критерієм є кількість і складність елементарних операцій, які необхідно виконати в циклі шифрування, а також можливість їх паралельного виконання. При оцінці ефективності можливих програмних реалізацій головний інтерес представляє реалізація на 32-бітових платформах, так як 32-розрядні машини складають в даний час більшість комп'ютерного парку людства. Також представляє інтерес реалізація шифрів на 8-бітових мікроконтролерах, що є основою технології інтелектуальних карт. Подібні пристрої можуть використовуватися в різних системах безготівкових розрахунків, що стають все більш популярними в світі, - число користувачів таких систем останнім часом зростає вельми швидкими темпами.
Російський стандарт шифрування ГОСТ 28147-89 зручний як для апаратної, так і для програмної реалізації. При розмірі блоку даних 64 біта, основна робота ведеться з половинками цього блоку - 32-бітовими словами, що дозволяє ефективно реалізувати російський стандарт шифрування на більшості сучасних комп'ютерів.
При реалізації на 32-бітових машинах найбільш трудомісткою операцією є заміна. Передбачені ГОСТом підстановки в 4-бітових групах при програмної реалізації зручно попарно об'єднати і виконувати заміну в 8-бітових групах, що істотно ефективніше. Належна організація заміни дозволяє також уникнути виконання обертання слова...