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

Циклічний зсув

Циклічний зсув вліво на 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

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