Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОК5 2017.doc.docx
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
3 Мб
Скачать
☆

Алгоритм Rijndael

Даний блоковий шифр розвиває нетрадиційну для останнього десятиліття структуру: прямокутні KASLT - мережі. Ця структура отримала свою назву через те, що блок, що шифрується, представляється у вигляді прямокутника, наприклад, 4х4 або 4х6 байт, а потім над ним за рядками, за стовпцями і побайтно виконується криптоперетворення. KASLT є абревіатурою англійських термінів Key Addition (додавання ключа), Substitution (таблична підстановка) і Linear Transposition (лінійне перемішування). Rijndael описаний авторами (бельгійцями Vincent Rijmen і Joan Daemen) як шифр із змінним розміром блоку і довжиною ключа. Єдині вимоги, які накладаються на ці два параметри – їх кратність 32 бітам. Розмір блоку визначається як Nb×32, довжина ключа – Nk×32. Кількість раундів мережі, необхідна для стійкого шифрування залежить від двох параметрів. Для конкурсу AES відповідно до вимог автори зафіксували Nb = 4 і Nk = 4, 6, і 8. У цьому випадку кількість раундів мережі Nr відповідно дорівнює 10, 12 і 14. Потенційно шифр може працювати і з великими за розмірами блоками.

До переваг алгоритму необхідно віднести гарну швидкодію на всіх платформах від 8- до 64-бітних. Структура шифру дозволяє використовувати його за будь-яких комбінаціях розміру блоку і довжини ключа – єдиною необхідною зміною буде лише зміна кількості раундів.

Можливість розпаралелювання у Rijndael дуже висока в порівнянні з іншими конкурсантами. Коефіцієнт прискорення обчислень при наявності значного числа процесорів в системі у Rijndael досягає 6-8 раз, що більш ніж в два рази вище найближчого суперника.

Таким чином, Rijndael – один з перших KASLT-шифрів з надійно доведеною криптостійкістю при малому числі раундів, варіант досягнення "стійкість / швидкодія", що і у традиційній мережі Файстеля, але на іншій, більш універсальній для обчислювальної техніки, архітектурі KASLT.

До недоліків шифру відносять необхідність розробки двох незалежних процедур - шифрування і дешифрування.

Загальні характеристики AES:

  • AES зашифровує і розшифровує 128-бітові блоки даних.

  • AES дозволяє використовувати три різних ключа довжиною 128, 192 або 256 біт (в залежності від довжини ключа версії шифру позначають AES-128, AES-192 або AES-256).

  • Від розміру ключа залежить число раундів шифрування:

  • довжина 128 біт - 10 раундів;

  • довжина 192 біта - 12 раундів;

  • довжина 256 біт - 14 раундів.

  • Всі раунди, крім останнього, ідентичні.

Перед першим раундом виконується операція AddRoundKey (сумування за модулем 2 з почат­ко­вим ключем шифру). Перетворення, виконані в одному раунді, позначають Round (,) State RoundKey, де змінна State - матриця, що описує дані на вході раунду і на його виході після шифрування; змінна RoundKey - матриця, яка містить раундовий ключ. Раунд складається з 4 різних перетворень:

  • SubBytes - побайтна підстановка в S-боксі з фіксованою таблицею замін;

  • ShiftRows – побайтний зсув зрушення рядків матриці State на різну кількість байт;

  • MixColumns – перемішування байт в шпальтах;

  • AddRoundKey – складання з раундовим ключем (операція XOR).

Останній раунд відрізняється від попередніх тим, що не активізує функцію MixColumns.

При дешифруванні в кожному раунді виконуються зворотні операції: InvShiftRows, InvSubBytes, AddRoundKey і InvMixColumns. Порядок виконання операцій при шифрування і дешифрування різний.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]