- •Методичні вказівки до циклу лабораторних робіт
- •Лабораторна робота № 1 Шифр моноалфавітної заміни (шифр Цезаря)
- •Теоретичні відомості
- •Завдання:
- •Лабораторна робота №4 Організація стегоканалу в bmp-файлі
- •Лабораторна робота №5 Симетричні блокові шифри на основі мережі Фейстеля
- •Теоретичні відомості
- •Множення по модулю n
- •Циклічний зсув
- •Додавання по модулю n
- •Приклад реалізації мовою с
- •Література
- •Навчальне видання Методичні вказівки
- •"Захист інформації в комп’ютерних системах"
Циклічний зсув
Циклічний зсув вліво на 3 розряди 8-бітної шини
Можна показати, що циклічний зсув є частиною P-блоку.
У найпростішому випадку (зсув на 1 біт), крайній біт переміщається на інший кінець регістра або шини. Залежно від того, який біт береться – правий або лівий, зсув називається вправо або вліво. Зсув на більше число біт можна розглядати, як багаторазове застосування зсуву на 1.
-
Циклічний зсув на m біт для n-розрядного входу (m < n)
Напрямок зсуву
Порядок проходження бітів до зсуву
Порядок проходження битов після зсуву
вліво
b0,b1,b2,...,bn − 1
bm,bm + 1,...bn − 1,b0,b1,...,bm − 1
вправо
b0,b1,b2,...,bn − 1
bn − m,bn − m + 1,...bn − 1,b0,b1,...,bn − m − 1
Додавання по модулю n
Операція - (A + B) mod n - це залишок від ділення суми A + B на n, де A й B - числа, що додаються.
Можна показати, що додавання двох чисел по модулі n представляється у двійковій системі числення, як S-блок, у якого на вхід подається число A, а як система комутації S-блоку використається циклічний зсув вліво на B розрядів.
В комп'ютерній техніці й електроніці операція додавання, як правило, реалізована як додавання по модулі n = 2m, де m — ціле (звичайно m дорівнює розрядності машини). Для одержання у двійковій системі A + B mod 2m досить додати числа, після чого відкинути розряди починаючи з m-того й старше.
Множення по модулю n
Операція - (A * B) mod n — це залишок від ділення добутку A * B на n, де A й B - числа, що перемножуються.
У персональних комп'ютерах на платформі x86 при перемножуванні двох m-розрядних чисел виходить число розрядністю 2*m. Щоб одержати залишок від ділення на 2m потрібно відкинути m старших біт.
Переваги й недоліки
Переваги:
Простота апаратної реалізації на сучасній елементній базі
Простота програмної реалізації в силу того, що значна частина функцій підтримується на апаратному рівні в сучасних комп'ютерах (наприклад, додавання по модулю 2 додавання по модулю 2n, множення по модулю 2n, і т.д.)
Добра вивченість алгоритмів на основі мереж Фейстеля
Недоліки:
За один раунд шифрується тільки половина вхідного блоку
Модифікації мережі Фейстеля
При великому розмірі блоків шифрування (128 біт і більше) реалізація такої мережі Фейстеля на 32-розрядних архітектурах може викликати ускладнення. Тому застосовуються модифіковані варіанти цієї конструкції. Звичайно використаються мережі з 4 розгалуженнями. На рисунку показані найпоширеніші модифікації. Також існують схеми, у яких довжини половинок L0 й R0 не збігаються. Вони називаються незбалансованими.
-
Модифікації мережі Фейстеля
Тип 1
Тип 2
Тип 3
