Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Labu_4_KYRS.doc
Скачиваний:
17
Добавлен:
02.05.2019
Размер:
2 Мб
Скачать
☆

Алгоритмічний опис

  • блок відкритого тексту ділиться на 2 рівні частини

  • у кожному раунді обчислюється (  — номер раунду)

,

де f — деяка функція, а Ki − 1 — ключ i-го раунду.

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

,

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

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

Математичний опис

Інволюція — взаємо-однозначне перетворення, застосування якого двічі приводить до вихідного значення.

Нехай X — вхідний блок, а A — деяке инволютивное перетворення, Y — вихід.

При однократному застосуванні перетворення: Y = AX, при повторному: .

Нехай вхідний блок X=(L, R) складається із двох підблоков (L й R) рівної довжини. Визначимо два перетворення (шифрування ключем K) і T(L,R) = (R,L) (перестановка подблоков). Введемо позначення:

Доведемо їх инволютивность:

  1. Нескладно помітити, що перетворення G міняє тільки лівий подблок L, залишаючи правий R незмінним. Тому далі будемо розглядати тільки подблок L. Після того як перетворення G буде двічі застосоване до L одержимо: . У такий спосіб G2X = X, отже G — інволюція.

  2. T2X = T2(L,R) = T(R,L) = (L,R) = X.

Розглянемо сам процес шифрування. Визначимо X як вхідне значення. Нехай Gi — перетворення із ключем Ki, а Yi — вихідне значення після i-го раунду. Тоді перетворення на i+1-му раунді можна записати у вигляді Yi + 1 = TGiYi, крім першого, де Y1 = TG1X. Отже, вихідне значення після m раундів шифрування буде . Можна помітити, що на останньому етапі не обов'язково виконувати перестановку T.

Розшифрування виконується із застосуванням всіх перетворень у зворотному порядку. У силу інволютивності кожного з перетворень зворотний порядок дає вихідний результат:

.

Функції, що використовуються в мережах Фейстеля

Принципова схема розрядн-3-розрядного S-блоку

Принципова схема 8-розрядного P-блоку

Блок-блок-s-блок (s-box)

Блок підстановок (S-блок) складається з дешифратора, що перетворює n-розрядний двійковий сигнал в однорозрядний сигнал за підстановкою 2n, системи комутаторів внутрішніх з'єднань (усього з'єднань 2n!) і шифраторів, що переводить сигнал з однорозрядного 2n-ого в n-розрядний двійковий. Аналіз n-розрядного S-блоку, при великому n украй складний, однак реалізувати такий блок на практиці дуже складно, тому що число можливих з'єднань украй велике (2n!). На практиці блок підстановок використається як частина більше складних систем.

У загальному випадку S-блок може мати незбіжне число входів/виходів, у цьому випадку в системі комутації від кожного виходу дешифратора може йти не одне з'єднання, а 2 або більше або не йти зовсім. Те ж саме справедливо й для входів шифратора.

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

Таблиця заміни для наведеного розрядн-3-розрядного Блок-блок-S-блоку

№ комбінації

0

1

2

3

4

5

6

7

Вхід

000

001

010

011

100

101

110

111

Вихід

010

110

000

001

011

100

111

101

P-блок (P-box)

Блок перестановок усього лише змінює положення цифр й є лінійним пристроєм. Цей блок може мати дуже велику кількість входів-виходів, однак у силу лінійності систему не можна вважати криптостійкою. Криптоаналіз ключа для n-розрядного P-блоку проводиться шляхом подачі на вхід n-1 різних повідомлень, кожне з яких складається з n-1 нуля («0») і 1 одиниці («1»).

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