Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методи та засоби захисту інформації.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
246.27 Кб
Скачать

Надійність криптографічних систем. Криптоаналіз. Основні методи криптоаналізу. Приклади застосування.

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

1. скористатися відомим алгоритмом, порівняно давно опублікованим в спеціальному виданні, присвяченому проблемам криптографії (якщо ніхто поки не повідомив про те, що зумів розкрити цей алгоритм. значить на нього слід звернути увагу);

2. довіритися відомій фірмі, що спеціалізується на продажу засобів шифрування (навряд чи ця фірма буде ризикувати своїм добрим ім'ям. торгуючи нестійкими криптографічними алгоритмами);

3. звернутися до незалежного експерта (неупередженість в думці дозволить йому об'єктивно оцінити достоїнства і недоліки різних криптографічних алгоритмів);

4. звернутися за підтримкою у відповідне урядове відомство (навряд чи уряд буде вводити своїх громадян в оману. даючи їм помилкові поради щодо стійкості того пли іншого криптографічного алгоритму);

5. спробувати створити власний криптографічний алгоритм.В даний час криптографія успішно використовується майже у всіх інформаційних системах - від Internet до баз даних.

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

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

2. вони розроблялися тоді, коли дана довжина використовуваного ключа вважалася більш ніж достатньою для забезпечення необхідного рівня криптографічного захисту;

3. на них поширюються експортні обмеження, які встановлюють допустиму довжину ключа на рівні, що не відповідає сучасним вимогам.

Першим надійним криптографічним алгоритмом, який впритул зіткнувся з проблемою вибору адекватної довжини ключа, став RSA. Справа в тому, що його розтин вимагає розкладання на множники (факторизації) дуже великих чисел. У березні 1994 р. за цілком прийнятний час було факторізовано 428-бітове число, а на сьогоднішній день досить реальним представляється факторизація 512-бітових чисел. Досягнутий прогрес у вирішенні завдання факторизації дуже великих чисел пов'язаний не тільки з ростом обчислювальних потужностей сучасного комп'ютерного парку, але і з розробкою нових ефективних алгоритмів. На тому, що це завдання є дуже трудомісткою, ще зовсім недавно була заснована надійність криптографічного алгоритму, використовуваного в поширеною програмі PGP. Тому можна стверджувати, що сьогодні розкладання на множники є однією з найбільш динамічно розвиваються областей криптографії. На початку 1998 р. через занадто малої довжини ключа (56 біт) фактично "наказав довго жити" DES-алгоритм, довгий час був офіційним стандартом шифрування даних у США. Зараз американським Національним інститутом стандартів оголошено конкурс на новий стандарт шифрування даних Advanced Encryption Standard (AES). Згідно з умовами цього конкурсу, кандидати на роль AES повинні представляти собою симетричні алгоритми шифрування з ключем довжиною понад 128 біт. Криптоаналіз — розділ криптології, що займається математичними методами порушення конфіденційності і цілісності інформації без знання ключа. Термін був введений американським криптографом Вільямом Ф. Фрідманом в 1920 році. У більшості випадків під Криптоаналізом розуміється з'ясування ключа; криптоаналіз включає також методи виявлення уразливості криптографічних алгоритмів або протоколів. Спочатку методи криптоаналізу грунтувалися на лінгвістичних закономірностях природного тексту і реалізовувалися з використанням тільки олівця та паперу. З часом в криптоаналізі наростає роль чисто математичних методів, для реалізації яких використовуються спеціалізовані криптоаналітичні комп'ютери. Спробу розкриття конкретного шифру із застосуванням методів криптоаналізу називають криптографічною атакою на цей шифр. Криптографічну атаку, в ході якої розкрити шифр вдалося, називають зломом або розкриттям. Основні методи криптоаналізу:

  1. Атака на основі шифротексту

  2. Атака на основі відкритих текстів і відповідних шифротекстів

  3. Атака на основі підібраного відкритого тексту (можливість вибрати текст для шифрування)

  4. Атака на основі адаптивно підібраного відкритого тексту

Додаткові методи криптоаналізу:

  1. Атака на основі підібраного шифротексту

  2. Атака на основі підібраного ключа

  3. Бандитський криптоаналіз

Припустимо, отримано наступний шифротекст:

nj sdms, ne lebe4cwn6 d6y6 yc de5rki, 76m6h 7n6ls 1rmeje5e, yc 4jmcvyi drkiw, oef kcyr 1rmejeleki, i hyilme, i jmszi fske 4rhye, fske zsnr, nj m646 m64szrw. nj ley676 q sjmcvyr s 7ryaa dem6 jme4 4emexs... enewhi n i kcyr i 5emr - 476 lejrys i lekrys he 7cde5e fe5c dekrnr7n… lebe4cwn6 nc 47nc4cwn6, jcwhcyr lem4in6 i 4mcxe2 qke2 jme4'2 4ek2 ejmelin6. i d6y6 4 76d'v 46krjiw, 4 76d'v 4ekpyiw, ye4iw, y6 qcfshpn6 led'nysnr y6qkrd nrbrd 7ke4ed.

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

e6r4yimcknsjdl7whnf5qv2bzax1pogtu

де "е"- зустрічається 44 рази,"6"-25 раз і т.д. Еталонна послідовність для української мови виглядає так:

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

Таким чином припускаємо що знак "е" у шифротексті відповідає літері "о" відкритого тексту, "6" відповідає "а", "r" відповідає "н" і т.д. Отримаємо гаданий відкритий текст:

гс руер, го дойовтпга уаиа ит уоянкі, маеаб мгадр шнеосояо, ит всетжиі ункіп, ьоз ктин шнеосодокі, і биідео, і серхі зрко внбио, зрко хргн, гс еава еаврхнп. гс доиама є рсетжин р мницц уоеа сеов воеочр... огопбі г і ктин і яоен - вма доснир і докнир бо мтуояо зоят уокнгнмг… дойовтпга гт вмгтвтпга, стпбтин доевіга і ветчої єкої сеов'ї вокї осеодіга. і уаиа в мау'ж вакнсіп, в мау'ж вокщиіп, иовіп, иа єтзрбщга доу'гиргн иаєкну гнйну мковоу.

Як бачимо, він все одно не читається. Існують декілька шляхів виходу з такого становища:

1. Переставляти знаки послідовності доти, доки не отримаємо осмислений відкритий текст. На сучасних комп'ютерах це легко реалізується, але потребує великої кількості обчислень, що не раціонально. (скажімо необхідно переставити 15 символів, що потребує 15 ! операцій (порядок 10).

2. Метод словника. Ефективніший метод ніж попередній. Полягає в тому, що вибирається слово і перевіряються поєднані з ним слова. Наприклад, слово "дойовтпга" (4 те слово). Якщо припустити, що літери "о" та "в" вибрані правильно, залишається знайти в словнику слово яке містить 2 та 4-ту літери "о" та 5-ту літеру "в": " *о*ов**** ", таких слів буде небагато. Знайшовши це слово, отримуємо більше літер, які використовуємо для наступних слів