Page 28 - 4394
P. 28
блоком мережі Фейстеля, завжди вибирають нелінійною й
практично у всіх випадках необоротною.
Структура мережі Фейстеля зображена на рисунку 3.2. Вона
основана на тому, що логічна функція XOR, або сумування за
модулем 2 з позначенням , є інволютивною операцією. Це
означає, що застосування функції XOR двічі з одним і тим самим
аргументом дає вихідний результат. Тобто
(A Xor B) Xor B = A B B = A 0 = А.
Звідси випливає, що можна будувати довгі ланцюги XOR з
різними аргументами типу
F = A Xor B Xor C Xor D Xor E,
і якщо потім застосувати цю функцію у зворотному порядку, то
отримаємо знову А:
F Xor E Xor D Xor C Xor B = A.
Нехай тепер X - блок даних. Запишемо його у вигляді двох
0
підблоків однакової довжини лівого L та правого R : X = (L , R ).
0
0
0
0
0
Тоді у результаті першого раунду (ітерації) мережі Фейстеля (див.
рисунок 3.2, а) отримаємо:
X = (R , F(R , К ) L ),
0
0
0
1
0
а після виконання і-го раунду, i = 1, 2 , …, n :
L = R F(L , K ) ,
i-1
i-1
i
i-1
R = L .
i
i-1
Тут n – загальна кількість всіх раундів.
28