Мережа Файстеля

Матеріал з testwiki
Версія від 10:29, 18 липня 2024, створена imported>Юлія Лисенко
(різн.) ← Попередня версія | Поточна версія (різн.) | Новіша версія → (різн.)
Перейти до навігації Перейти до пошуку

Мережа Файстеля (конструкція Файстеля) — різновид блочного шифру з певною ітеративною структурою. Багато сучасних алгоритмів використовують мережу Файстеля як основу.

Історія

В 1973 році Горст Файстель (Шаблон:Lang-en) в журналі Scientific American опублікував статтю «Криптографія і комп'ютерна безпека»(«Cryptography and Computer Privacy»), в якій розкрив деякі важливі аспекти шифрування, а також ввів конструкцію, названу пізніше мережею Файстеля. Ця схема була використана в проєкті Lucifer фірми IBM, над яким працював Файстель і Дон Коперсміт (Don Coppersmith). Цей проєкт був скоріше експериментальним, але став базисом для DES. Ітеративна структура алгоритму дозволяла спростити його реалізацію в апаратному середовищі.

Конструкція

Шифрування
Розшифрування
  • блок відкритого тексту ділиться на 2 рівні частини (L0, R0)
  • в кожному раунді вираховується (i=1n — номер раунду)

Li = Ri1f(Li1,Ki1)
Ri = Li1,

де f — деяка функція, а Ki1 — ключ i-го раунду. Результатом виконання n раундів є (Ln, Rn). Але зазвичай в n-му раунді перестановка Ln і Rn не виконуються, що дозволяє використовувати ту ж процедуру і для розшифрування, просто інвертувавши порядок використання раундової ключової інформації:

Li1 = Rif(Li, Ki1)
Ri1 = Li,

Невеликі зміни дозволяють досягнути повної ідентичності процедур шифрування та розшифрування. Одною із переваг такої моделі є застосовність алгоритму незалежно від функції f, і вона може бути довільної складності.

Модифікації мережі Файстеля

При великому розмірі блоків шифрування (128 біт і більше) реалізація такої мережі Файстеля на 32-розрядних архітектурах може викликати складнощі, тому використовуються модифіковані варіанти цієї конструкції. У звичайних ситуаціях використовуються мережі з 4 гілками. На малюнку показано найбільш розповсюджені модифікації. Також існують схеми, в яких довжини половинок L0 і R0 не збігаються. Вони називаються незбалансованими.

Шифри на основі мережі Файстеля

Такі шифри використовують класичну або модифіковану мережу Файстеля у своїй основі:

Посилання


Шаблон:Crypto-stub Шаблон:Refimprove Шаблон:Крипто навігація Шаблон:Блочні алгоритми шифрування