когось іншого;
забере гроші й зникне.
Фінансові заклади часто легковажать застосуванням режиму ЕСВ. Щоб уникнути загроз такого типу, треба використовувати інші - безпечніші режими шифрування. Два такі режими описані далі.
Зв'язування блоків
Це режим блокового шифрування, у якому той самий блок явного тексту в різних місцях шифрований по-різному. Режим зв'язування блоків Cipher Block Chaining (CBC) застосовують так. Розглянемо симетричний алгоритм, який шифрує блоки довжиною к. Припустимо, що ЕК(Х) позначає криптограму, отриману з явної інформації X за допомогою ключа К. Якщо X складається з блоків Р1 Р2, Рз, Р4, … довжини к, то криптограма, отримана за допомогою ключа К, складається з блоків С1, С2, С3, С4, ... (також довжини к), визначених так:
Послідовність I є випадково утворюваною послідовністю довжини к, яку пересилають у явному вигляді разом з шифрограмою. Такий режим гарантує, що кожний блок Сi, шифрограми опосередковано залежить від усіх попередніх блоків С1, ..., Сi-1 а отже, і від I, Р1,...,Рi-1. Дешифрування отриманих таким способом крип-тограм за допомогою дешифрувальної функції DK(C) для блоків довжини к є таким:
Перевагою розглянутого режиму є те, що однакові блоки відображають, як зви-чайно, різними блоками шифрограми, а це робить його набагато стійкішим до атаки, пов'язаної з підстановкою блоків. Проте він має ваду: не можна викинути з криптогра-ми жодного блока Сi. Адже це унеможливить дешифрування всіх блоків криптограми, що йдуть після Сі. Тоді не можна буде відтворити повний явний текст.
Шифрування зі зворотним зв'язком
У режимі шифрування зі зворотним зв'язком Cipher Feed Back (CFB), на відміну від режиму СВС, перетворюють фрагменти, кількість бітів у яких менша від довжини блока (наприклад, дорівнює 8 бітів). Цим методом можна, зокрема, шифрувати блоки з кількох знаків або окремі біти. Відомо, що CFB можна використати у будь-якому бло-ковому алгоритмі за умови, що довжина перетворюваного алгоритмом блока менша, ніж довжина блока, перетворюваного в режимі CFB.
Схема роботи CFB показана на рис. 2.6, причому як метод шифрування використано DES.
Суттєвою складовою частиною CFB є регістр зсуву. На початку він містить випадково з генеровану послідовність, яку пересилають разом із криптограмою у незашифрованому вигляді.
У кожному такті роботи CFB відбувається виконання таких операцій:
шифрування вмісту регістру зсуву за допомогою ключа К;
вибирання з утвореної криптограми, довжина якої понад 8 бітів, перших 8 бітів. Ці біти слугують для виконання операції
з 8 бітами, що кодують наступну літеру Р, яка надходить на вхід. У результаті отримують послідовність Z з 8 бітів;
послідовність Z утворює вісім чергових бітів криптограми, які надходять на вихід. Водночас у регістрі зсуву відбувається зсув ліворуч на вісім позицій. Цей зсув нециклічний - 8 бітів з лівого боку зникають. На восьми звільнених праворуч позиціях регістру зсуву записується послідовність Z.
Дешифрування відбувається за допомогою тієї самої схеми, лише функції входу й виходу зворотні (рис. 2.7).
Алгоритм FEAL
Швидкий алгоритм шифрування даних Fast Data Encipherment Algorythm (FEAL) був запропонований 1987 p. як більш швидка альтернатива алгоритму DES. Алгоритм FEAL шифрує блоки, складені з 64, 128, 256 або 1024 бітів. Ключ складається з такої самої кількості бітів. Шифрування й дешифрування за допомогою алгоритму FEAL відбувається за кількість циклів у межах від 4 до 32.
Нижче розглянемо приклад, коли кількість бітів у блоці та довжина ключа дорівнюють 64, а кількість циклів N = 8.
У кожному циклі виконуються такі обчислення: додавання за модулем два, додавання за модулем 256 і циклічні зсуви. Спочатку за допомогою деякого правила з початкового ключа утворюється новий ключ К0,К1,.., К31 довжини (2N+16) = (28 + 16) = 32 байти. Довжини блоківдорівнюють 1 байту.
Шифрування блоків явного тексту відбувається у три етапи.
На вхідних 64 бітах блока явного тексту виконують операцію Ф з 64 бітами ключаОтриманий блок ділять на дві групи по 32 біти в кожній: Хо, Х\.
Під час і-го (i = 0, 1, ..., 7) циклу шифрування виконується таке співвідношення (блок Хі+2 є результатом роботи t-го циклу шифрування):
Зазначимо, що 32-бітове значення функції y=F,(X) залежить від двох байтів ключаУ цьому разі аргумент X та значення Y функції F, розділені на чотири
підблоки: довжини блоків дорівнюють 1 байту. Виконують такі операції:
де SHL1(a, b) означає циклічний зсув ліворуч на два біти числа (а + Ь + і) mod 256.
Над отриманими після восьмого циклу 64 бітами, які становлять блоки Х8, Х9, виконується операція додавання за модулем 2 з відповідними їм бітами ключа
Дешифрування виконують за допомогою тих же операцій, що й шифрування, лише у зворотному порядку.
Міжнародний стандарт шифрування даних IDEA
Міжнародний стандарт шифрування даних International Data Encryption Standard (IDEA) можна використовувати з некомерційною метою безкоштовно. Його запропону-вали 1991 р. Д.Мессі і К.Лаі з Цюріха. IDEA має подібну до алгоритму DES загальну структуру. Він є ітеративним блоковим шифром з 64-бітовим розміром блока й 128-бітовим ключем. Має лише вісім циклів, на відміну від 16 циклів алгоритму DES, проте кожен цикл алгоритму IDEA діє так, як один цикл потрійного DES. Для більшості мік-ропроцесорів програмна реалізація алгоритму IDEA швидша від реалізації алгоритму DES. IDEA є одним з компонентів популярного криптографічного пакета PGP [12], яким можна користуватися безоплатно.
В алгоритмі IDEA ключ більше ніж удвічі довший від ключа алгоритму DES, a також довший від ключа, який використовують в алгоритмі потрійного DES. Алгоритм IDEA значно швидший від потрійного DES. Оскільки IDEA запропонований порівняно недавно, то не можна сказати, чи є