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

Матеріал з Вікіпедії — вільної енциклопедії.
(Перенаправлено з Мережа Фейстеля)
Перейти до навігації Перейти до пошуку

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

Історія[ред. | ред. код]

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

Конструкція[ред. | ред. код]

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


,

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


,

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

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

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

Шифри на основі мережі Файстеля[ред. | ред. код]

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

Посилання[ред. | ред. код]