Студопедия — Американський стандарт шифрування DES
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Американський стандарт шифрування 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 дозволяє використовувати його в найрізноманітніших областях застосування електронної системи платежів.

2.2.2 Комбінування блочних алгоритмів

 

Нині блоковий алгоритм DES вважається відносно безпечним алгоритмом шифрування. Він піддавався ретельному криптоаналізу протягом 30 років, і самим практичним способом його зламування є метод перебору всіх можливих варіантів ключа. Ключ DES має довжину 56 біт, тому існує 256 можливих варіантів такого ключа. Якщо припустити, що суперкомп'ютер може випробувати мільйон варіантів ключа за секунду, то потрібно 2285 років для знаходження правильного ключа [9].

Однак у 1997 році DES був розкритий прямим перебором ключів з використанням розподілених обчислень через Internet [10]. За 96 днів після перебору приблизно чверті всіх можливих комбінацій був знайдений правильний ключ, який дозволив розшифрувати шифр-текст.

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

Розглянемо схему триразового шифрування DES із двома ключами [9,11]. Блок відкритого тексту Р змінюється три рази за допомогою двох ключів K1 і K2. Процедура шифрування така:

С = Ек1(Dк2к1(Р))),

тобто блок відкритого тексту Р спочатку шифрується ключем K1, потім розшифровується ключем К2 і остаточно шифрується ключем K1.

Цей режим іноді називають режимом EDE (encrypt-decrypt-encrypt). Введення в дану схему операції розшифрування DK2 дозволяє забезпечити сумісність цієї схеми зі схемою однократного використання алгоритму DES. Процедура розшифрування виконується в зворотному порядку:

P = Dк1(Eк2 (Dк1(C))),

тобто блок шифртекста C спочатку розшифровується ключем K1, потім шифрується ключем К2 і остаточно розшифровується ключем K1.

Якщо вихідний блоковий алгоритм має n-бітовий ключ, то схема триразового шифрування має 2n-бітовий ключ. Дана схема приводиться в стандартах Х9.17 і ISO 8732 як засіб поліпшення характеристик алгоритму DES[9].

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

С = Ек3(Dк2к1(Р))),

P = Dк1(Eк2 (Dк3(C))).

Трьохключевий варіант має ще більшу стійкість. Очевидно, якщо потрібно підвищити безпеку великого парку устаткування, що використовує DES, то набагато дешевше переключитися на схеми триразових DES, чим переходити на інші криптографічні алгоритми.

2.2.3 Інші блочні алгоритми

Алгоритм IDEA (International Data Encryption Algorithm) є блоковим шифром. Він оперує 64-бітовими блоками відкритого тексту. Достоїнством алгоритму є те, що його ключ має довжину 128 біт. Алгоритм шифрування і для розшифрування один і той же. В алгоритмі використовуються наступні арифметичні операції:

· Порозрядне підсумовування по модулю 2.

· Підсумовування беззнакових цілих по модулю 216.

· Множення беззнакових цілих по модулі (216+1).

Комбінування цих трьох операцій забезпечує комплексне перетворення вхідного тексту, істотно утрудняючи криптоаналіз IDEA у порівнянні з DES, який базується винятково на операції порозрядного підсумовування по модулю 2 [9].

Алгоритм IDEA може працювати в будь-якому режимі блокового шифру, передбаченому для алгоритму DES. Існуючі програмні реалізації алгоритму IDEA приблизно удвічі швидше реалізацій алгоритму DES [9,10,11,].

Алгоритм RC2 спроектований Роном Райвестом для корпорації RSA Data Security. RC2 являє собою шифр із 64-бітовим блоком і перемінною довжиною ключа. Програмні реалізації RC2 утроє швидше DES[11]. Алгоритм дозволяє використовувати ключ перемінної довжини від 0 байт до максимальної довжини рядка, яка підтримується операційною системою. Швидкість шифрування від розміру ключа не залежить. Ключ попередньо обробляється для заповнення 128-байтової таблиці, що залежить від ключа. Тому дійсно різних ключів може бути 21024.

Алгоритм CAST був розроблений у Канаді Карлайслом Адамсом і Стафордом Таваресом. В алгоритмі застосовується 64-бітовий блок і 64-бітовий ключ. Алгоритм стійкий до лінійного і диференціального аналізу. Його можна зламати тільки прямим перебором ключів [11].

Алгоритм Blowfish розроблений Брюсом Шнайєром для реалізації на великих мікропроцесорах. Довжина ключа Blowfish перемінна і може досягати 448 біт. Алгоритм оптимизовано для застосування в системах, що не практикують частої зміни ключа. Наприклад, у лініях зв'язку і програмах автоматичного шифрування файлів. При реалізації на 32-бітових мікропроцесорах типу Pentium чи PowerPC, алгоритм Blowfish значно швидше DES [11].

Стандарт AES (Advanced Encryption Standard) [16] являється стандартом шифрування США, принятим в 2000-му році. Цей алгоритм представляє собою симметричний блочний шифр, який працює с блоками дліною 128 біт і використовує ключі дліною 128, 192 та 256 біт (версії AES-128; AES-192 та AES-256). В червні 2003 року Агентство національної безпеки США постановило, что шифр AES являється достатньо надійним, щоб використовувати його для захисту інформації, що є державною таємницею. Аж до рівня SECRET було дозволено використовувати ключі дліною 128 біт, для рівня TOP SECRET потрібні ключі дліною 192 або 256 біт. Алгоритм AES може використовуватись в режимах ECB, CBC, OFB, CFB.

3 АСИМЕТРИЧНІ АЛГОРИТМИ ШИФРУВАННЯ

 

Асиметричні алгоритми для шифрування інформації викоритстовують ключову пару <КО, КС>, де КО – відкритий (public) ключ, КС – секретний (private) ключ. Між відкритим і секретним ключем існує взаємно однозначна відповідність. Тобто, якщо змінити відкритий ключ, то зміниться секретний, і навпаки, якщо знінити секретний ключ, то зміниться відкритий. Якщо інформацію шифрувати відкритим ключем, то розшифровувати треба секретним, і навпаки, якщо шифрувати секретним, то розшифровувати треба відкритим. Відкритий ключ може бути опублікований для використання всіма користувачами системи обміну інформацією. Часто асиметричні алгоритми шифрування називають шифрами з відкритим ключем.

Зауважимо, що асиметричні алгоритми шифрування в сотні раз повільніші симетричних алгоритмів. Тому для шифрування інформації використовують симетричні алгоритми. Асиметричні алгоритми (алгоритми з відкритим ключем) в основному використовують для роботи з електроним цифровим підписом (ЕЦП), та для обміну секретними ключами між користувачами розподілених інформаційних систем.

 







Дата добавления: 2015-09-15; просмотров: 2154. Нарушение авторских прав; Мы поможем в написании вашей работы!



Вычисление основной дактилоскопической формулы Вычислением основной дактоформулы обычно занимается следователь. Для этого все десять пальцев разбиваются на пять пар...

Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...

Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...

Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...

Метод Фольгарда (роданометрия или тиоцианатометрия) Метод Фольгарда основан на применении в качестве осадителя титрованного раствора, содержащего роданид-ионы SCN...

Потенциометрия. Потенциометрическое определение рН растворов Потенциометрия - это электрохимический метод иссле­дования и анализа веществ, основанный на зависимости равновесного электродного потенциала Е от активности (концентрации) определяемого вещества в исследуемом рас­творе...

Гальванического элемента При контакте двух любых фаз на границе их раздела возникает двойной электрический слой (ДЭС), состоящий из равных по величине, но противоположных по знаку электрических зарядов...

Травматическая окклюзия и ее клинические признаки При пародонтите и парадонтозе резистентность тканей пародонта падает...

Подкожное введение сывороток по методу Безредки. С целью предупреждения развития анафилактического шока и других аллергических реак­ций при введении иммунных сывороток используют метод Безредки для определения реакции больного на введение сыворотки...

Принципы и методы управления в таможенных органах Под принципами управления понимаются идеи, правила, основные положения и нормы поведения, которыми руководствуются общие, частные и организационно-технологические принципы...

Studopedia.info - Студопедия - 2014-2024 год . (0.011 сек.) русская версия | украинская версия