У нас: 141825 рефератів
Щойно додані Реферати Тор 100
Скористайтеся пошуком, наприклад Реферат        Грубий пошук Точний пошук
Вхід в абонемент


за моду-лем 2w, множення за модулем 2W (позначають символом х), циклічний зсув ліворуч на задану кількість позицій.

Дешифрування.

Вхід: підблоки А, В, С, D по w бітів кожний. Кількість виконуваних циклів дорівнює 2. Набір підключівналічує 2г + 4 w-бітових слів.

Вихід: явний текст А, В, С, D.

де віднімання за модулем 2W позначено символомозначає циклічний зсув

праворуч послідовності X на К позицій.

Утворення підключів.

Вхід: множина L[0], L[1], ..., L[с-1], утворена з b-байтового головного ключа, де L[О] - перший байт головного ключа, L[1] - другий байт головного ключа і так далі, та числа(ці числа отримані з двійкового розкладу чисел е-2 та ф-1, Кількість виконуваних циклів дорівнює r.

Вихід: набір підключівКожен із підключів є w-бітовим словом.

Алгоритм BLOWFISH

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

Шифр Blowfish є ітеративним блоковим шифром з 64-бітовим розміром блока й 56-байтовим ключем. Охоплює 16 ітерацій шифрування та 521 ітерацію утворення під-ключів. Головними операціями цього алгоритму є: підстановка, додавання за модулем 2, додавання за модулем 232 (позначають знаком +).

Під час шифрування алгоритмом Blowfish використовують 18 підключів K1, ... К18, кожен завдовжки 32 біти, й чотири S-блоки підстановок. Кожен з 5-блоків - це таблиця з 256 слів довжини 32 біти:

; 5-блок перетворює вхідний 8-бітовий аргумент у 32-бітовий результат. Аргумент у цьому разі є як адреса 32-бітового слова в таблиці. Під-ключі та S-блоки утворюють із базового ключа за допомогою самого алгоритму шифрування.

Шифрування. 64-бітовий вхідний блок ділять на два 32-бітові підблоки: лівий і правий. Під час кожного циклу і = 1,2,..., 16 виконують такі операції:

де Z= (а, b, с, d), причому підблоки а, b, с та d довжиною 8 бітів кожен є, відповідно, адресами елементів підстановки

обчислюють 32-бітові проміжні значення (4- 8 = 32)

відшукують значення лівого й правого підблоків

Під час останнього циклу (і - 16) цю операцію не виконують.

Результат перетворення в 16-му циклі піддається кінцевому перетворенню:


а сукупність вихідних бітівдає блок шифрограми.

Дешифрування відбувається для такої самої кількості циклів за відповідно змі-неної послідовності підключів:

 


Сторінки: 1 2 3 4 5