Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
методЗИ.doc
Скачиваний:
35
Добавлен:
19.03.2016
Размер:
505.34 Кб
Скачать
    1. Блочні алгоритми

Для побудови сучасних блочних алгоритмів шифрування використовуються два загальних принципи: розсіювання і перемішування. Розсіювання являє собою поширення впливу одного знака відкритого тексту на багато знаків шифр-текста, що дозволяє приховати статистичні властивості відкритого тексту. Перемішування полягає в використанні таких перетворень шифрування, які ускладнюють відновлення взаємозв'язку статистичних властивостей відкритого і шифрованого текстів. Сучасний шифр повинен також забезпечувати легкість шифрування і розшифрування [1,2,3,4,5,8,9].

Розповсюдженим способом досягнення ефектів розсіювання і перемішування є використання складного шифру, тобто такого шифру, який може бути реалізований у вигляді деякої послідовності простих шифрів, кожен з яких вносить свій внесок у значне сумарне розсіювання і перемішування. У складних шифрах найчастіше використовуються прості шифри перестановки і підстановки. При перестановці просто перемішують символи відкритого тексту, причому конкретний вид перемішування визначається секретним ключем. При підстановці кожен символ відкритого тексту замінюють іншим символом з того ж алфавіту, а конкретний вид підстановки також визначається секретним ключем. Перед шифруванням сучасний складним шифром, текст спочатку розбивається на блоки однакової довжини. Потім кожен блок шифрується окремо. Тому такі шифри називаються блочними. У блочному шифрі блоки відкритого тексту і шифртекста являють собою двійкові послідовності довжиною 64 біта. Таким чином кожен блок може приймати 264 значень. Тому підстановки виконуються в дуже великому алфавіті, що містить до 264 ≈ 1019 "символів".

При багаторазовому чергуванні простих перестановок і підстановок, керованих досить довгим секретним ключем, можна одержати дуже стійкий шифр із гарним розсіюванням і перемішуванням. Розглянуті нижче криптоалгоритми DES, IDEA, CAST, Blowfish, AES, RC2 побудовані в повній відповідності з зазначеною методологією.

      1. Американський стандарт шифрування des

Стандарт шифрування даних DES (Data Encryption Standard) опублікований у 1977 р. Національним бюро стандартів США. Спочатку метод, що лежить в основі стандарту DES, був розроблений фірмою IBM для своїх цілей і реалізований у виді системи "Люцифер".

Стандарт DES призначений для захисту від несанкціонованого доступу до важливої, але несекретної інформації в державних і комерційних організаціях США. Алгоритм, покладений в основу стандарту, поширювався досить швидко, і вже в 1980 р. був схвалений Національним інститутом стандартів і технологій США (НІСТ) як федеральний стандарт. З'являються програмні і апаратні реалізації алгоритму, призначені для шифрування і розшифрування інформації в мережах передачі даних. Нині DES є найбільш розповсюдженим алгоритмом систем захисту комерційної інформації.

Основні достоїнства алгоритму DES полягають у тому, що DES використовує тільки один ключ довжиною 56 біт, відносна простота алгоритму забезпечує високу швидкість шифрування та розшифрування і, нарешті, алгоритм має високу стійкість [6,8,9,10,11].

Алгоритм DES використовує комбінацію підстановок і перестановок. DES здійснює шифрування 64-бітових блоків даних за допомогою 64-бітового ключа, у якому значущими є 56 біт (інші 8 біт – перевірочні біти для контролю на парність). Дешифрування в DES є операцією, зворотною шифруванню, і виконується шляхом повторення операцій шифрування в зворотній послідовності. Узагальнена схема процесу шифрування в алгоритмі DES показана на рис. 2.1. Процес шифрування полягає в початковій перестановці бітів 64-бітового блоку, шістнадцятьох циклах шифрування і, нарешті, у кінцевій перестановці бітів.

Вихідний текст

Початкова перестановка

16 разів

Шифрування

Ключ

Кінцева перестановка

Шифр-текст

Рис. 2.1. – Узагальнена схема шифрування в алгоритмі DES

Алгоритм DES можна використовувати як для шифрування, так і для аутентифікації даних. Він дозволяє безпосередньо перетворювати 64-бітовий вхідний відкритий текст у 64-бітовий вихідний шифрований текст, однак дані рідко обмежуються 64 двійковими розрядами. Тому щоб скористатися алгоритмом DES для вирішення різноманітних криптографічних задач, розроблено чотири робочих режими алгоритму DES:

• електронна кодова книга ЕСВ (Electronic Code Book);

• зчеплення блоків шифру СВС (Cipher Block Chaining);

• зворотний зв'язок по шифр-тексту CFB (Cipher Feed Back);

• зворотний зв'язок по виходу OFB (Output Feed Back). I

У режимі "Електронна кодова книга" файл розбивають на 64-бітові блоки. Кожний з цих блоків шифрують окремо з використанням одного і того ж ключа шифрування. Основне достоїнство режиму ЕСВ – простота реалізації. Недолік – відносно слабка стійкість проти кваліфікованих криптоаналітиків. Оскільки довжина блоку всього 64 біта, то блок такого розміру може повторитися в повідомленні. Це приведе до того, що ідентичні блоки відкритого тексту в повідомленні будуть представлені ідентичними блоками шифртекста, що дає криптоаналітику деяку інформацію про зміст повідомлення.

У режимі "зчеплення блоків шифру" вихідний файл М розбивається на 64-бітові блоки: М = P1P2...Pn. Перший блок P1 підсумовується по модулю 2 з 64-бітовим початковим вектором IV, який може мінятися (рис. 2.2). Отримана сума потім шифрується з використанням ключа DES. Отриманий 64-бітовий блок шифр-тексту C1 підсумовується по модулю 2 з другим блоком тексту P2, результат шифрується і утворює другий 64-бітовий блок шифр-тексту C2, і т.д. Процедура повторюється доти, поки не будуть оброблені всі блоки тексту.

Таким чином, для всіх і = 1, ... , n (n - число блоків) результат шифрування блоків шифр-тексту Сi визначається в такий спосіб:

Сi =DES (Pi  Ci-1),

де С0 = IV – вектору ініціалізації.

Очевидно, що останній 64-бітовий блок шифртекста є функцією секретного ключа, початкового вектора IV і кожного біта відкритого тексту незалежно від його довжини. Цей блок шифртекста називають кодом аутентифікації повідомлення (КАС).

Рис.2.2. – Схема алгоритму DES у режимі зчеплення блоків шифру

КАС може бути легко перевірений одержувачем, який володіє секретним ключем і початковим вектором. Для цього одержувач повторяє процедури, виконані відправником. Зловмисник, однак, не може здійснити генерацію КАС (який сприйнявся б одержувачем як справжній), щоб додати його до помилкового повідомлення. Зловмиснику також не вдасться відокремити КАС від шифрованого повідомлення для використання його зі зміненим чи помилковим повідомленням.

Достоїнство даного режиму в тім, що він не дозволяє накопичуватися помилкам при передачі. Блок Pі є функцією тільки Сі-1 і Сi. Тому помилка при передачі приведе до втрати тільки двох блоків вихідного тексту.

У режимі "Зворотний зв'язок по шифру" розмір блоку може відрізнятися від 64 біт (рис. 2.3). Файл, що підлягає шифруванню (розшифруванню), зчитується послідовними блоками довжиною k бітів (k =1, ... , 64).

Рис. 2.3. – Схема алгоритму DES у режимі зворотного зв'язку по шифр-тексту

Вхідний блок (64-бітовий регістр зсуву) спочатку містить вектор ініціалізації IV, вирівняний по правому краю. Припустимо, що в результаті розбивки на блоки ми одержали n блоків P1,P2, ... ,Pn , довжиною k бітів кожний (залишок дописується нулями чи пробілами). Тоді для будь-якого і=1, ... , n блок шифр-текста Сi визначається так

Сi = Pi  Mi-1,

де Mi-1 позначає k старших бітів попереднього шифрованого блоку.

Відновлення зсуву регістра здійснюється шляхом видалення його старших k бітів і запису Сi в регістр. Розшифрування шифрованих даних також виконується відносно просто: Mi-1 і Сi обчислюються аналогічним чином, потім блок відкритуго тексту Pi обчислюється так

Pi = Ci  Mi-1.

Режим "Зворотний зв'язок по виходу” теж використовує перемінний розмір блоку і регістр зсуву, який ініціалізується так само, як у режимі CFB, а саме – вхідний блок спочатку містить вектор ініціалізації IV, вирівняний по правому краю (рис. 2.4). При цьому для кожного сеансу шифрування даних необхідно використовувати новий початковий стан регістра, який треба пересилати по каналу відкритим текстом. Схема алгоритму полягає в наступному. Нехай відкритий текст P складається з блоків n по k біт кожен:

P=P1P2…Pn.

Для і = 1, ... , n

Сi = Мi  Pi ,

де Мi – старші k бітів операції DES (Ci-1).

Рис. 2.4. – Схема алгоритму DES у режимі зворотного зв'язку по виходу

Відмінність від режиму „зворотнійо зв'язок по шифртексту” полягає в способі оновлення регістра зсуву. Це оновлення здійснюється шляхом відкидання старших k бітів регістру і дописування справа бітів блоку Мi .

Спочатку стандарт DES призначався для шифрування і розшифрування даних, що зберігаються на комп'ютері. Потім його застосування було узагальнено і на аутентифікацію об'єктів комп'ютерних систем. Наприклад, аутентіфікація користувача комп’ютера може відбуватися наступним чином. У багатьох комп'ютерних системах паролі шифрують необоротним образом і зберігають у пам'яті комп'ютера. Коли користувач звертається до комп'ютера і вводить пароль, останній шифрується і порівнюється зі значенням, що зберігається. Якщо обидві шифровані величини однакові, користувач одержує доступ до комп'ютера. Нерідко шифрований пароль виробляють за допомогою алгоритму DES, причому ключ беруть рівним паролю, а відкритий текст – коду ідентифікації користувача.

Кожному з розглянутих режимів (ЕСВ, СВС, CFB, OFB) властиві свої достоїнства і недоліки, що обумовлює області їхнього застосування. Режим ЕСВ добре підходить для шифрування ключів. Режим CFB, як правило, призначається для шифрування окремих символів, а режим OFB нерідко застосовується для шифрування в супутникових системах зв'язку. Режими СВС і CFB придатні також для аутентифікації даних.

Одним з найбільш важливих застосувань алгоритму DES є захист повідомлень електронної системи платежів (ЭСП) при операціях із широкою клієнтурою і між банками. Алгоритм DES реалізується в банківських автоматах, терміналах у торгових точках, автоматизованих робочих місцях і головних комп'ютерах банків. Гнучкість основного алгоритму DES дозволяє використовувати його в найрізноманітніших областях застосування електронної системи платежів.