Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
1.docx
Скачиваний:
82
Добавлен:
07.02.2016
Размер:
482.95 Кб
Скачать

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

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

Класична мережа Фейштеля має наступну структуру:

Мал. 1.

Незалежні потоки інформації, породжені з початкового блоку, називаються гілками мережі. У класичній схемі їх дві. Величини Vi іменуються параметрами мережі, звичайно це функції від матеріалу ключа. Функція F називається твірною. Дія, що складається з одноразового обчислення функції, що утворює, і наступного накладення її результату на іншу гілку з обміном їх місцями, називається циклом або раундом (англ. round) мережі Фейштеля. Оптимальне число раундів K - від 8 до 32. Важливе те, що збільшення кількості раундів значно збільшує криптоскойстость будь-якого блокового шифру до криптоаналізу. Можливо, ця особливість і вплинула на таке активне поширення мережі Фейштеля - адже при виявленні, скажімо, якого-небудь слабкого місця в алгоритмі, майже завжди досить збільшити кількість раундів на 4-8, не переписуючи сам алгоритм. Часто кількість раундів не фіксується розробниками алгоритму, а лише вказуються розумні межі (обов'язково нижній, і не завжди - верхній) цього параметра.

Відразу ж виникає питання, - чи є ця схема оборотною ? Очевидно, так. Мережа Фейштеля має ту властивість, що навіть якщо як функція, що утворює, F буде використане безповоротне перетворення, то і в цьому випадку увесь ланцюжок буде відновлений. Це відбувається внаслідок того, що для зворотного перетворення мережі Фейштеля не треба обчислювати функцію F - 1.

Більше того, як неважко помітити, мережа Фейштеля симетрична. Використання операції XOR, оборотної своїм же повтором, і інверсія останнього обміну гілок роблять можливим раскодирование блоку тією ж мережею Фейштеля, але з інверсним порядком параметрів Vi. Помітимо, що для оборотності мережі Фейштеля не має значення чи являється число раундів парним або непарним числом. У більшості реалізацій схеми, в яких обидві вищеперелічені умови (операція XOR і знищення останнього обміну) збережено, пряме і зворотне перетворення виробляються однією і тією ж процедурою, якою як параметр передається вектор величин Vi або в початковому, або в інверсному порядку.

З незначними доопрацюваннями мережу Фейштеля можна зробити і абсолютно симетричною, тобто виконуючій функції шифрування і дешифрування одним і тим же набором операцій.

Захист програм від злому

Розглянемо деякі тонкощі організації захисту на досить популярному прикладі - припускаємо, що програма захищена деяким кодом (серійним номером, паролем), який повідомляється користувачеві після дотримання ним певних умов. До реєстрації в цій програмі заблокований ряд яких або корисних функцій, використовується докучлива реклама або обмежений рядків роботи. Після введення цього коду виробляється його перевірка і при позитивному результаті перевірки програма починає нормально працювати.

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