На сайті 11893 реферати!

Усе доступно безкоштовно, тому ми не платимо винагороди за додавання.
Авторські права на реферати належать їх авторам.

Криптографічний алгоритм 3DES

Реферати > Комп'ютерні науки > Криптографічний алгоритм 3DES

Незважаючи на багаторічні зусилля дослідників, ефективних атак на DES не виявлено. Очевидний метод атаки – повний перебір всіх можливих ключів; цей процес виконується в середньому 2* *55 кроків. Спочатку передбачалося, що досвідчений нападаючий може побудувати спеціалізовану ЕОМ, здатну зламати DES, перебравши всі ключі впродовж розумного часу. Пізніше Hellman [Hel80] знайшов спосіб удосконалення повного перебору ключів за умови достатнього обсягу пам'яті. Крім того висувалися обвинувачення, що NSA навмисно зробило DES вразливим. Ці міркування дозволяли засумніватися в надійності DES, але незважаючи на все це, ніякого методу злому DES виявлено не було за винятком повного пошуку ключа. Вартість спеціалізованого комп'ютера для виконання такого повного пошуку (за умови знаходження ключа в середньому за 3.5 години) по оцінці Wiener становить один мільйон доларів [Wie94].

Недавно Wiener уточнив, що тепер рівний за вартістю комп'ютер знайде ключ за 35 хвилин. Перша атака на DES, більш ефективна ніж повний пошук, заявили Biham й Shamir [BS93a]; у ній використовувався новий метод відомий як диференціальний криптоаналіз. Ця атака вимагає шифрування 2* *47 відкритих текстів обраних нападаючим. Теоретично будучи крапкою розриву, ця атака непрактична через надмірні вимоги до підбору даних і складності організації атаки по обраному відкритому тексту. Самі автори цієї атаки Biham й Shamir заявили, що вважають DES захищеним.

Раніше Matsui [Mat94] розробив іншу атаку, відому як лінійний криптоаналіз Цей метод дозволяє відновити ключ DES за допомогою аналізу 2* *43 відомих відкритих текстів. Перший експериментальний криптоаналіз DES, заснований на відкритті Matsui, був успішно виконаний впродовж 50 днів на автоматизованих робочих місцях 12 HP 9735.

Зрозуміло, при таких витратах атака як і раніше вважається непрактичною. В одному з недавніх експериментів по злому DES ключ був знайдений за 22 години. На думку криптографів алгоритм DES одинарної довжини вже не є захищеним оскільки на сучасному рівні розвитку обчислювальної техніки 56-бітний ключ став вразливий для повного пошуку. Фактично DES уже заборонений для використання в державних структурах США й у цей час як стандарт використовується Triple DES (DES потрійної довжини), який буде замінений новим стандартом AES найближчим часом.

Надійність використання DES

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

Якщо використовувати DES для шифрування файлів на жорсткому диску, то часто міняти ключі малореально, тому що для цього необхідно розшифрувати а потім зашифрувати всі файли новим ключем. Замість цього можна створити головний ключ DES, яким буде зашифрований список ключів DES, використовуваних для шифрування файлів; у цьому випадку головний ключ можна змінювати так часто як це потрібно. Але тому що головний ключ більше привабливий для атаки чим окремі DES ключі, те його розумно шифрувати алгоритмом Triple DES.

На практиці використовуються трохи офіційно певні режими шифрування DES; кожний із цих режимів має різні властивості. Режим ECB (електронна кодова книга) послідовно шифрує кожен 64-бітний блок відкритого тексту тим самим 56-бітним ключем DES. У режимі CBC (формування ланцюжка блоку шифру) кожен 64-бітний блок відкритого тексту перед шифруванням DES ключем логічно підсумується (XOR) з попереднім блоком зашифрованого тексту. Таким чином, шифрування кожного наступного блоку залежить від попередніх блоків і тому той самий 64-бітний блок відкритого тексту може бути представлений різними блокам зашифрованого тексту залежно від його розміщення у вихідному повідомленні. CBC дозволяє захиститися від деяких атак, але не від повного пошуку або диференціального криптоаналіза. Режим CFB (шифрування зі зворотним зв'язком) дозволяє використати DES блоками довжиною менш 64 біт. Докладні описи різних режимів DES наведені в [NIS80]. Режим OFB власне кажучи дозволяє використати DES як потоковий шифр. З перерахованих режимів DES найбільше широко на практиці використається режим CBC, що є частиною декількох стандартів. Для підвищення захисту можна використати режим CBC з потрійним шифруванням.

Приклад шифрування:

BYTE buf[BUFFER_SIZE+8]; //8 - запас на padding

while(fSize)

{

if(!::ReadFile(hInFile,buf,BUFFER_SIZE,&dwLen,NULL)) //читаємо блок даних

break;

dwSzLow=dwLen;

if(!::CryptEncrypt(hKey,hHash,fSize<=BUFFER_SIZE,0,buf,&dwSzLow,sizeof(buf))) //шифруємо й хешируємо його

break;

if(!::WriteFile(hOutFile,buf,dwSzLow,&dwSzLow,NULL))

break;

fSize-=dwLen;

}

Застосування алгоритму шифрування 3DES

Операційна система Windows XP підтримує використання більш стійкого алгоритму симетричного шифрування, ніж використовуваного за умовчанням алгоритм DESX. Якщо користувачу потрібен симетричний алгоритм шифрування підвищеної стійкості, сумісний зі стандартом FIPS 140-1, потрібно включити алгоритм 3DES.

Включення алгоритму 3DES в системі Windows XP

Щоб включити алгоритм 3DES в операційній системі Windows XP, потрібно задіяти або політику локального комп’ютера, або відповідну групову політику в тому місці розміщення, домені чи організаційному підрозділі, де знаходяться відповідні комп’ютери.

Послідовно натисніть наступні елементи:

Computer configuration («Конфігурація комп’ютера»);

Windows settings («Конфігурація Windows»);

Security settings («Параметри безпеки»);

Local Policies («Локальні політики»);

Security Options («Параметри безпеки»).

Відкрийте об’єкт System cryptography: Use FIPS compliant algorithms for encryption («Системна криптографія: використати FIPS-сумісні алгоритми для шифрування»).

Виберіть перемикач Enabled («Ввімкнено»), як показано нижче, і натисніть кнопку OK.

Коли клієнт Windows XP ввімкнений, він може відкривати файли, зашифровані як алгоритмом DESX, так і алгоритмом 3DES. Але всі нові файли будуть шифруватися тільки новим алгоритмом 3DES.



Настройка об’єкта System cryptography: Use FIPS compliant algorithms («Системна криптографія: використовувати FIPS-сумісні алгоритми для шифрування»).

Не потрібно включати алгоритм 3DES, якщо користувачу потрібен доступ до зашифрованого файлу як з системи Windows 2000, так і з Windows XP. Операційна система Windows 2000 не підтримує алгоритм 3DES.

Стійкість ключів DES

Питання полягає в тому, що для двох довільних ключів k1 й k2 може існувати третій ключ k такий, що шифрування двома першими ключами еквівалентно шифруванню третім ключем, тобто Ek (m) = Ek1 (Ek2 (m)) для всіх повідомлень m. Якщо це так, то безліч всіх ключів утворить абстрактну групу, де закон сполучення k1 й k2 заміщається законом k., що досить знижує захищеність DES, оскільки допускає атаку “зустріч посередині”, при якій ключ DES може бути знайдений у приблизно за 2* *28 кроків замість звичайних 2* *56. Також при цьому стає марним множинне (подвійне й потрійне) шифрування двома різними ключами оскільки воно буде еквівалентно одинарному шифруванню деяким третім ключем. Однак, ключі DES не групуються. Ця проблема, очевидна спочатку, була зрештою вирішена в 1993 році. У результаті було встановлено, що методи подібні до потрійного шифрування дійсно збільшують захищеність DES. Проблема може бути сформульована в такий спосіб: нехай М позначає набір всіх можливих повідомлень і нехай K позначає набір всіх можливих ключів. Шифрування ключем k приналежної K виконується перестановкою Ek: М -> М. Набір EK = {Ek: k належить K} таких перестановок є подом-набором групи SМ всіх перестановок М -> М. Той факт, що EK (тобто DES) – не група, є тільки факт того, що EK створює підгрупу СМ, що є більшої чим набір EK. Фактично, розмір цієї підгрупи – принаймні 2* *8300 [CW93]. Зокрема багаторазове шифрування задає більший простір ключів.

Перейти на сторінку номер: 1  2  3  4  5  6 Версія для друкуВерсія для друку   Завантажити рефератЗавантажити реферат