Мережа Файстеля
Мережа Файстеля (конструкція Файстеля) — різновид блочного шифру з певною ітеративною структурою. Багато сучасних алгоритмів використовують мережу Файстеля як основу.
Історія
ред.В 1973 році Горст Файстель (англ. Horst Feistel) в журналі Scientific American опублікував статтю «Криптографія і комп'ютерна безпека»(«Cryptography and Computer Privacy»), в якій розкрив деякі важливі аспекти шифрування, а також ввів конструкцію, названу пізніше мережею Файстеля. Ця схема була використана в проєкті Lucifer фірми IBM, над яким працював Файстель і Дон Коперсміт (Don Coppersmith). Цей проєкт був скоріше експериментальним, але став базисом для DES. Ітеративна структура алгоритму дозволяла спростити його реалізацію в апаратному середовищі.
Конструкція
ред.- блок відкритого тексту ділиться на 2 рівні частини (
- в кожному раунді вираховується ( — номер раунду)
,
де — деяка функція, а — ключ -го раунду. Результатом виконання раундів є . Але зазвичай в -му раунді перестановка і не виконуються, що дозволяє використовувати ту ж процедуру і для розшифрування, просто інвертувавши порядок використання раундової ключової інформації:
,
Невеликі зміни дозволяють досягнути повної ідентичності процедур шифрування та розшифрування. Одною із переваг такої моделі є застосовність алгоритму незалежно від функції , і вона може бути довільної складності.
Модифікації мережі Файстеля
ред.При великому розмірі блоків шифрування (128 біт і більше) реалізація такої мережі Файстеля на 32-розрядних архітектурах може викликати складнощі, тому використовуються модифіковані варіанти цієї конструкції. У звичайних ситуаціях використовуються мережі з 4 гілками. На малюнку показано найбільш розповсюджені модифікації. Також існують схеми, в яких довжини половинок і не збігаються. Вони називаються незбалансованими.
-
Тип 1 -
Тип 2 -
Тип 3
Шифри на основі мережі Файстеля
ред.Такі шифри використовують класичну або модифіковану мережу Файстеля у своїй основі:
Посилання
ред.- Стаття Cryptography and Computer Privacy [Архівовано 18 лютого 2007 у Wayback Machine.] (англ.)
Це незавершена стаття з криптографії. Ви можете допомогти проєкту, виправивши або дописавши її. |