Студопедия

Главная страница Случайная страница

Разделы сайта

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






Базові поняття криптографії






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

Крім забезпечення конфіденційності, криптографія застосову­ється для розв'язання таких задач, як:

перевірка справж ності (автентифікація). Одержувач може встановити відправника, а зловмисник не може під нього маскува­тися;

цілісність. Отримувач може перевірити несанкціоновану моди­фікацію в тексті, а зловмисник не може видати підробний текст за справжній;

н е заперечення авт орства. Відправник не може в подальшому заперечувати відсилку даних.

Сучасна криптографія містить у собі чотири базові розділи: • сішетрич)н криптосистеми (системи з секретним ключем або одноключові);

Початкове повідомлення називають відкритим текстом Р (plaintext), а процес приховування його семантичного змісту назива­ють шифруванням і позначають Е (encipher). В результаті шифруван­ня утворюється шифрогекст С (ciphertext), а одержання початкового відкритого тексту здійснюється в процесі розшифрування D (decipher) шифротексту (криптограми). Ця послідовність показана на рис.5-8. В математичній формі функція шифрування і розшифрування відповід­но записується як Е(Р)=С і D(C)=P, а оскільки ЕЧС) є відновлення Р, то справедливо D(E(P))=P. симетричні криптографічні системи (системи з відкритим ключем або двоключові);

криптографічні протоколи;

керування ключами.

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

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

Сучасна криптографія вирішує ці проблеми за допомогою ключа К. (key), що використовується в функціях Е і D може приймати будь-яке значення і бути обраним з великої множини, яку називають про­стором ключів. Ключовий простір розглядаються як потужність множини ключів, які використовують для даного шифра. Тоді відно­сно К функції Е і D приймають вигляд Лк (Р) = С, Dk (С) = Р, при

цьому справедлива рівність Dk(Ek(PJ) = Р (див. рис.6.9).

Для деяких алгоритмів при шифруванні і розшифруванні викори­стовуються різні ключі Кі - для шифрування, К2 - для розшифру­вання, то в цьому випадку Ак (Р) = С, Dkt(C) = P,

Dki (Ekt (P)) = Р (див. рис. 6.10).

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

В криптографії існують дві базові методології з використаїшям ключів - симетрична (див. рис. 5.9) і асиметрична (див. рис. 6.10) і які відповідно називають із секретним і відкритим ключем. Кожна ме-тодолоітя використовує свої власні процедури, свої способи розподі­лу ключів, їх типи, алгоритми шифрування і розшифрування ключів.

Для сучасних криптографічних систем захисту інформації існу­ ють загальні вимоги, до яких відносяться:

• шифротекст (С) повинен піддаватися читанню тільки при на­явності ключа (к);

• число операцій, необхідних для визначення ключа (к) шиф­рування, за фрагментом шифротсксту (С) і відповідного йому відк­ритого тексту (Р), повинно бути не менше загального числа мож­ливих ключів (к);

• число операцій, необхідних для розшифровування (D(Q) шляхом перебору всіх можливих k (лобова атака), повинно мати строгу нижню оцінку і виходити за межі можливостей сучасних та перспективних комп'ютерних систем та мереж;

• знання алгоритму шифрування не повинно впливати на на­дійність криптографічного захисту;

• незначна зміна ключа (к) повинна приводити до істотної змі­ни шифротексту (С);

, • структурні елементи алгоритму шифрування повинні бути незмінними;

• довжина шифрованого тексту (С) повинна бути близькою до­вжині відкритого тексту (Р);

• не повинно бути простих і легко встановлюваних залежнос­тей між ключами, що використовуються в процесі шифрування (D(C)); • алгоритм повинен допускати, як програмну, так і апаратну реалізацію, при цьому зміна довжини ключа (к) не повинна вести до якісного погіршення алгоритму шифрування.

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

Основне припущення криптоаналізу, вперше сформульоване в дев'ятнадцятому столітті Датчманом А. Керкгофом (Dutchman A. Kerckhoffs) - безпека повинна цілком визначатися ключем, а крип-тоаналітик має повний опис алгоритму і його реалізації.

Покажемо відомі типи розкриття, які засновуються на припущен­ні, що криптоаналітик має всю повноту знання про використовува­ний алгоритм шифрування.

1. Розкриття на основі тільки шифротексту. У криптоана-
літика є шифротексти (/V,, jV2,..., iV,) декількох відкритих текстів

І, Р2,..., РІ), зашифрованих одним алгоритмом. Криптоаналітик

розкриває як можна більшу кількість криптограм (визначення Р), або ключів шифрування з метою розкриття інших шифротекстів, заши­фрованих тим самим ключем (ключами). Іншими словами маючи #, =ад), N2 = Ek(P2),..., N; = Ek(P,)

можна визначити і, Р2,..., Рі)тді k або алгоритм відновлення

Рміз См = Екм).

2. Розкриття на основі відкритого тексту. У криптоаналіти-
ка є доступ до шифротекстів (NV! V2,..., N.)\ їх відкритих текстів

1, Р2,..., РІ). Він розкриває ключ (ключі) з метою розшифрування

інших шифротекстів, зашифрованих тим же ключем (ключами). Ін­шими словами маючи

P^=Ek{Ps), P2A^Ek{P2)? 2,..., Pi, Ni = Ek(Pi) можна визначити k або алгоритм відновлення РМЬ Смкм).

3. Розкриття на основі підібраного відкритого тексту. У
криптоаналітика є шифровані і відкриті тексти декількох повідом­
лень, а також можливість підібрати відкритий текст для шифруван­
ня. Це надає більше варіантів ніж розкриття на основі відкритого
тексту, оскільки криптоаналі гик здійснює вибір блоків відкритого тексту, що підлягають шифруванню і це може дати більше інформа­ції про ключ. Криптоаналітик одержує ключ (ключі), шифрування чи алгоритм, що дозволяє розкрити нові повідомлення, зашифровані тим же ключем (ключами). Іншими словами, маючи

РГД = ВД), Р2Л = Ек2), -, Р; Д = ВД) та можливість вибирати ], Р2,..., РІ) визначається k або алго­ритм знаходження

Рм\з Смкм).

4. Розкриття на основі адаптивно підібраного відкритого тексту. Криптоаналітик може вибирати відкритий текст, що підля­гає шифруванню, також уточнювати наступний вибір на базі раніше отриманих результатів шифрування. При розкритті з використанням підібраного відкритого тексту криптоаналітик бере для шифрування тільки один великий блок відкритого тексту, а при адаптивному ви­бирається менший блок і потім наступний, використовуючи резуль­тати першого вибору і т. д.

5- Розкриття з використанням підібраного шифротекста. Криптоаналітик для розкриття може вибирає різні шифротексти і має доступ до розшифрованих відкритих текстів. Наприклад, маючи " чорний ящик", що реалізує автоматичне розшифрування, необхідно одержати ключ. Іншими словами, маючи

#, /» - Dk{q), jv2p2 = /Л(С),.... ffa = Dk(C,)

визначаємо к. Таке розкриття зазвичай застосовується до систем з відкритим ключем, але іноді буває ефективним і для симетричних алгоритмів. (Часто розкритгя третього і п'ятого тину разом назива­ють розкриттям на основі підібраного тексту.)

6. Розкриття на основі підібраного ключа. Криптоаналітик має деяку інформацію про зв'язок між різними ключами. Цей тип розкриття часто буває дуже практичний і відрізняеіься від всіх ра­ніше розглянутих. Криптоаналітик вибирає зв'язок між парою неві­домих ключів, за допомогою яких зашифровані дані. В варіанті з відомим відкритим текстом є відкритий і шифрований двома клю­чами текст, а в варіанті з підібраним - криптоаналітик вибирає відк­ритий текст для шифрування двома ключами.

7. Бандитський криптоаншііз. Криптоаналітик загрожує, ви­користовує тортури чи шантажує кого-небудь, поки не знайде ключ.

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

Базові шифри. Підстановочні і перестановочні шифри. До по­яви комп'ютерів криптографія складалася з алгоритмів на символь­ній основі, які або заміняли одні символи іншими, або реалізовували їх перестановку. Кращі алгоритми робили і заміни (підстановки) і перестановки (перемішування) з циклічними повторами.

Сучасні зміни полягають у тому, що алгоритми стали працювати з бітами, а не символами, що важливо хоча б з погляду розміру ал­фавіту (перехід з 26 елементів до двох). Більшісгь криптографічних алгоритмів комбінують підстановки і перестановки.

Підстановочмим називають такий шифр, у якому кожний сим­вол відкритого тексту в гиифротексті замінюється іншим симво­лом. Одержувач інвертує підстановку шифротекста, відновлюючи відкритий текст. У криптографії використовують чотири типи підс-тановочних шифрів (рис. 5.11).

Знаменит и й шифр Цезаря, є простим підстановочним шифром і дійсно дуже простим, тому, що алфавіт шифротекста є зміщеним, а не випадково розподіленим.

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

Однозвучні підстановочні шифр и використовувалися вже в 1401 році в герцогстві Мантуа. Вони більш складні для розкриття, хоча і не ховають усіх статистичних властивостей мови відкритого тексту. На основі розкриття з відомим відкритим текстом ці шифри зламу­ються тривіально, а на основі тільки шифротекста - складніше, але використовуючи комп'ютер це займе декілька секунд.

Поліграмні підстановочні шифри кодують відразу групи симво­лів. Частинним випадком поліграмного шифру є біграмний Play-fair.

По.піалфавітні підстановочн і шифри були винайдені Ліном Бат-тістой (Lean Battista) у 1568 році. Вони використовувалися армією Сполучених Штатів у ході Громадянської війни в Америці. Шифр (квадрат) Віженера (Vigenere), який вперше опублікований у 1586 році і шифр Бофора (Beaufort) також є прикладами поліалфавітних підстановочних шифрів.

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

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

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

Відповідно до базових методологій використання ключів є два відповідних базових типів алгоритмів: симетричні і асиметричні

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

У більшості симетричних алгоритмів ключі шифрування і деши­фрування ті самі (див. рис. 5.9). Ці алгоритми, також називають ал­горитмами ІЗ секретним ключем (передається секретним каналом) чи алгоритмами з одним ключем, вимагають, щоб відправник і оде­ржувач погодили використовуваний ключ перед початком безпечної передачі повідомлень. Безпека симетричного алгоритму визначаєть­ся ключем, знання якого дозволяє розшифрувати повідомлення. То­му, поки повідомлення є секретними, ключ повинний не розкрива­тися.

Симет ричн і алго ритми поділя ються н а дві категорії.

1) Алгоритми, що обробляють відкритий текст побітово (іноді побайтово) називаються потоковими чи алгоритмами з потоко­вими шифрами.

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

Алгоритми з відкритим ключем (асиметричні алгоритми) ро­зроблені таким чином, що ключ, використовуваний для шифруван­ня, відрізняється від ключа дешифрування (див. рис. 5.10). Більше того, ключ дешифрування не може бути (принаймні протягом пев­ного інтервалу часу) розрахований за ключем шифрування. Алгори­тми називаються " з відкритим ключем" тому, що ключ шифрування може бути відкритим і хто завгодно може використовувати його (отримуючи не секретним каналом) для шифрування відкритого тек­сту, але тільки власник відповідного ключа дешифрування може ро­зшифрувати повідомлення. У цих системах ключ шифрування часто називається відкритим, а розшифрування - закритим.

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

Криптографія більше цікавиться криптосистемами, що важко зламати обчислювальним способом.

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

Термін " доступні ресурси" є досить розпливчастим. Складність роз криття можна визначити різними способами (див, рис. 6.12).

_.— —— .f -t ------------------------ -------- Ґ^г.

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

Складність виражається порядком величини. Якщо складність обробки для даного алгоритму складає 2128, то 2і' операцій погрібно для розкриття алгоритму (ці операції можуть бути складними і три­валими). Так, якщо передбачається, що обчислювальні потужності здатні виконувати мільйон операцій у секунду, і для рішення задачі використовується мільйон паралельних процесорів, одержання клю-ча займе у понад 10 років, що в мільярд раз перевищує час існу­вання всесвіту. У той час, як складність розкриття залишається пос­тійною (поки будь-який криптоаналітик не придумає кращого спо­собу розкриття), потужність комп'ютерів зростає. За останні піввіку обчислювальні потужності феноменально виросли і немас ніяких причин підозрювати, що ця тенденція не буде продовжена. Багато криптографічних зломів придатні для паралельних комп'ютерів. За­дача розбивається на мільярди маленьких шматочків, рішення яких не вимагає міжпроцесорної взаємодії. Оголошення алгоритму безпе­чним просто тому, що його нелегко зламати, використовуючи су-часігу техніку, у кращому випадку ненадійно. Якісні криптосистеми проекгуються стійкими до злому з урахуванням розвитку обчислю­вальних засобів на багато років вперед.

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

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

Окрема особа може виконати деякі дії, вирішуючи певну задачу (наприклад, запису на дискету), але це не протокол. Нарешті, " приз­начений для вирішення певної задачі" означає, що протокол повинен приводити до якогось результату. У протоколів є також і інші харак­теристики (див. рис. 6.13).

Виконання протоколу реалізуються діями, лінійно, поки не буде команди перейти до наступної дії, кожна з яких за меншою мірою містить в собі:

• обчислення, що виконуються однієї чи декількома сторонами;

• або повідомлення, якими обмінюються сторони.

Передача інформації і використанням симетричної крипто­графії.

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

Симетричні криптосистеми мають наступні недоліки:

• Розподіл ключів повинен проводитися в секреті. Ключі насті­льки ж важливі, як і всі шифротексти, зашифровані цими ключами, тому що знання ключа дозволяє розкрити криптограми. Розподіл ключів є серйозною задачею і часто кур'єри особисто доставляють ключі за призначенням.

• Якщо ключ скомігрометований (украдений, розгаданий, випи­таний, отриманий за хабар і т. ін.), то можна розшифрувати всі кри­птограми, зашифровані цим ключем.

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

Поняття однонаправленої функції є центральним у криптографії з відкритими ключами. Односпрямовані {однонаправлені) функції відносно легко обчислюються, але інвертуються досить складно.Хорошим прикладом такої функції може бути розбита на тисячу малесеньких шматочків ваза, яку нелегко знову скласти з цих шма­точків.

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

слити х, але набагато складніше X х

Однонаправлена функція з секретом (функція-пастка) - це особливий тип однонаправленої функції із секретним люком. ЇЇ легко обчислити в одному напрямку і важко - у зворотному. Але якщо вам відомий секрет, ви можете легко розрахувати і зворотну функцію. Тобто, легко обчислити f(xj за відомим х, але важко за відомою f(x) обчислити х. Однак, існує невелика секретна інформація, у, що до­зволяє, при знанні f(x) і у, легко обчислити х.

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

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


Суть хеш-функції полягає в одержанні цифрового відбитку проо­бразу, тобто утворення значення, за яким можна встановити іденти-

Хеш-функції, які довгий час використовувалися в комп'ютерних науках є математичними чи іншими функціями, які одержують на вході рядок змінної довжини (прообраз) і перетворюють його в ря­док фіксованої, зазвичай меншої, довжини (значення хеш-функції, згортка). Приклад такої згортки може бути реалізовано за допомо­гою бінарної функції XOR шляхом одержання прообразу і повер­тання байта, утвореного виконанням операції побітового складання за модулем 2 (®) всіх бітів вхідних байтів, дечність отриманого прообразу і дійсного. Оскільки хеш-функція є співвідношенням " багато до одного", то неможливо з усією визначе­ністю сказати, що два цифрові відбитки різних документів не збіга­ються, але хеш-функцію можна використовувати, для оцінки з при­йнятною точністю.

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

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

Код перевірки дійсності повідомлення (message authentication code, MAC), відомий також як код перевірки дійсності даних (data authentication code, DAG), є однонаправленою хеш-функцією з дода­ванням секретного ключа. Тоді значення хеш-функції залежить від і прообразу і ключа. У цьому випадку теорія залишається тією самою, що і для хеш-функцій, але тільки той, хто знає ключ, може перевіри­ти значення функції.

Організація зв'язку з використанням асиметричної крипто­графії.

У 1976 році Уітфілд Діффі і Мартін Хеллман змінили парадигму криптографії (яка засновувалась на одноключових системах), описа­вши асиметричну криптографію, що базується на двох різних клю­чах - відкритому і закритому. Визначення закритого ключа за відк­ритим вимагає величезних обчислювальних ресурсів. Хто завгодно, використовуючи відкритий ключ може зашифрувати повідомлення, але не розшифрувати його. Розшифрувати шифротекст може тільки власник закритого ключа. Це схоже на поштову скриньку, де процес шифрування з відкритим ключем можна порівняти з опусканням у її проріз листа, що може зробити кожний. Розшифрування закритим ключем нагадує витягування листа з поштової скриньки, що набага­то складніше і може знадобитися зварювальний агрегат, але якщо знати секрет (код замка від поштової скриньки), можна легко дістати лист.

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

Слід зазначити, що криптографія з відкритими ключами усуває проблему розподілу ключів, властиву симетричним криптосистемам.

Зазвичай ціла мережа користувачів приймає для використання певну асиметричігу криптосистему. У кожного з них є відкритий і закритий ключ, при цьому відкриті ключі містяться в загальнодо­ступній базі даних. Ось як на основі цієї криптографії відправник може переправити повідомлення одержувачу:

1. Відправник і одержувач домовляються використовувати аси­метричну криптосистему.

2. Одержувач посилає відправнику свій відкритий ключ.

3. Відправник шифрує своє повідомлення, використовуючи відк­ритий ключ одержувача і відсилає його.

4. Одержувач приймає і розшифровує повідомлення своїм секре­тним ключем.

Змішані (гібридні) криптосистеми. Алгоритми з відкритими ключами не заміняють симетричні алгоритми і використовуються не для шифрування повідомлень, а для шифрування ключів за наступ­ними двома причинами:

1. Алгоритми з відкритими ключами працюють повільно. Симе­тричні алгоритми принаймні в 1000 разів швидше, ніж алгоритми з відкритими ключами. Так, комп'ютери стають усе швидше і швидше і років через 15 криптографія з відкритими ключами досягне швид­костей, порівнянних із сьогоднішньою швидкістю симетричної кри­птографії. Але вимоги до обсягу переданої інформації також зрос­тають, і завжди буде вимагатися шифрувати дані швидше, ніж це зможе зробити криптографія з відкритими ключами.

2. Криптосистеми з відкритими ключами уразливі стосовно ро­зкриття на основі підібраного відкритого тексту. Криптоаналітик не зможе розкрити к, але зможе визначити Р.

Розкриття на основі підібраного відкритого тексту може бути особливо ефективним, якщо число можливих шифротекстів віднос­но мале. Наприклад, якщо Р - це грошова сума в доларах, менша ніж

$1000000, то таке розкриття спрацює, криптоаналітик перебере весь мільйон значень. Навіть якщо Р не так добре визначене, таке розк­риття може бути дуже ефективним. Корисним може бути також про­сте знання того, що шифротекст не відповідає конкретному відкри­тому тексту. Симетричні криптосистеми не чуттєві до розкрипів такого типу, тому що криптоаналітик не може виконати тестових розшифрувань з невідомим ключем.

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

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

 

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.