Математичні основи криптографії
Великий вплив на розвиток криптографії зробили роботи американського математика Клода Шеннона, що з'явилися в середині XX століття. У цих роботах були закладені основи теорії інформації, а також був розроблений математичний апарат для досліджень в багатьох галузях науки, пов'язаних з інформацією. Більш того, прийнято вважати, що теорія інформації як наука народилася в 1948 році після публікації роботи К. Шенона "Математична теорія зв’язку"). У своїй роботі "Теорія зв'язку в секретних системах" Клод Шеннон узагальнив накопичений до нього досвід розробки шифрів. Виявилось, що навіть в дуже складних шифрах як типові компоненти можна виділити такі прості шифри як шифри заміни, шифри перестановки або їх поєднання. Шифр заміни є простим, найбільш популярним шифром. Типовими прикладами є шифр Цезаря. Як видно з назви, шифр заміни здійснює перетворення заміни букв або інших "частин" відкритого тексту на аналогічні "частини" шифрованого тексту. Легко дати математичний опис шифру заміни. Нехай Шифр перестановки, як видно з назви, здійснює перетворення перестановки букв у відкритому тексті. Типовим прикладом шифру перестановки є шифр "Сцитала". Зазвичай відкритий текст розбивається на відрізки рівної довжини і кожен відрізок шифрується незалежно. Нехай, наприклад, довжина відрізків рівна
Найважливішим для розвитку криптографії був результат Шенона про існування і єдиність абсолютно стійкого шифру. Єдиним таким шифром є яка-небудь форма так званої стрічки однократного використання, в якій відкритий текст "об’єднується" з повністю випадковим ключем такої ж довжини. Цей результат був доведений К. Шенноном за допомогою розробленого ним теоретико-інформаційного методу дослідження шифрів. Обговоримо особливості будови абсолютно стійкого шифру і можливості його практичного використання. Типовим і найбільш простим прикладом реалізації абсолютно стійкого шифру є шифр Вернама, який здійснює побітове додавання Тут Підкреслимо, що для абсолютної стійкості істотною є кожна з наступних вимог до стрічки однократного використання: 1) повна випадковість (рівноймовірність) ключа (це, зокрема, означає, що ключ не можна виробляти за допомогою якого-небудь детермінованого пристрою); 2) рівність довжини ключа і довжини відкритого тексту; 3) однократність використання ключа. У випадку порушення хоч би однієї з цих умов шифр перестає бути абсолютно стійким і з'являються принципові можливості для його злому (хоча вони можуть бути такими, що важко реалізовуються). Але, виявляється, саме ці умови і роблять абсолютно стійкий шифр дуже дорогим і непрактичним. Перш ніж користуватися таким шифром, ми повинні забезпечити всіх абонентів достатнім запасом випадкових ключів і унеможливити їх повторне використання. А це зробити надзвичайно важко і дорого. Через вказані причини абсолютно стійкі шифри застосовуються лише в мережах зв'язку з невеликим обсягом передаваної інформації, звичайно це мережі для передачі особливо важливої державної інформації.
Тепер уже зрозуміло, що найчастіше для захисту своєї інформації законні користувачі вимушені застосовувати неабсолютно стійкі шифри. Такі шифри, принаймні теоретично, можуть бути розкриті. Питання лише в тому, чи вистачить у противника сил, засобів і часу для розробки і реалізації відповідних алгоритмів. Зазвичай цю думку виражають так: противник з необмеженими ресурсами може розкрити будь-який неабсолютно стійкий шифр. Як же повинен діяти в цій ситуації законний користувач, вибираючи для себе шифр? Краще всього, звичайно, було б довести, що жоден супротивник не може розкрити вибраний шифр, скажімо, за 10 років і тим самим отримати теоретичну оцінку стійкості. На жаль, математична теорія ще не дає потрібних теорем - вони відносяться до невирішеної проблеми нижніх оцінок обчислювальної складності завдань. Тому у користувача залишається єдиний шлях - отримання практичних оцінок стійкості, і складається з таких етапів: - зрозуміти і чітко сформулювати, від якого противника ми збираємося захищати інформацію; необхідно з'ясувати, що саме противник знає або зможе дізнатися про систему шифру, а також які сили і засоби він зможе застосувати для його злому; - у думках стати в положення противника і намагатися з його позицій атакувати шифр, тобто розробляти різні алгоритми злому шифру; при цьому необхідно в максимальній мірі забезпечити моделювання сил, засобів і можливостей противника; - найкращий з розроблених алгоритмів використовувати для практичної оцінки стійкості шифру. Тут корисно для ілюстрації згадати про два прості методи злому шифру: випадкове вгадування ключа (він спрацьовує з маленькою вірогідністю, зате має маленьку складність) і перебір всіх підряд ключів аж до знаходження достеменного (він спрацьовує завжди, зате має дуже велику складність). Відзначимо також, що не завжди потрібна атака на ключ: для деяких шифрів можна відразу, навіть не знаючи ключа, відновлювати відкритий текст по шифрованому. Нові напрями Центральним поняттям є поняття однобічної функції. Однобічною називається функція а) існує поліноміальний алгоритм обчислення значень б) не існує поліноміального алгоритму інвертування функції
Відзначимо, що однобічна функція істотно відрізняється від функцій звичайних через обмеження на складність її обчислення та інвертування. Питання про існування однобічних функцій поки відкрите. Ще одним новим поняттям є поняття функції з секретом. Інколи ще використовується термін функція з пасткою. Функцією з секретом а) існує поліноміальний алгоритм обчислення значення б) не існує поліноміального алгоритму інвертування в) існує поліноміальний алгоритм інвертування Про існування функцій з секретом можна сказати те ж саме, що сказане про однобічні функції. Для практичних цілей криптографії було побудовано декілька функцій, які можуть виявитися функціями з секретом. Для них властивість б поки строго не доведено, але вважається, що завдання інвертування еквівалентне деякому важкому математичному завданню, що давно вивчається. Найбільш відомою і популярною з них є теоретико-числова функція, на якій побудований шифр RSA (детальніше про цьому див. п. 4). Використання функцій з секретом дозволяє: 1) організувати обмін шифрованими повідомленнями з використанням лише відкритих каналів зв'язку, тобто відмовитися від секретних каналів зв'язку для попереднього обміну ключами; 2) включити в шифрування важке математичне завдання і тим самим підвищити обґрунтованість стійкості шифру; 3) вирішувати нові криптографічні завдання, відмінні від шифрування (електронний цифровий підпис). Опишемо, наприклад, як можна реалізувати п. 1). Користувач
Описану систему називають криптосистемою з відкритим ключем, оскільки алгоритм шифрування Описану вище ідею Діффі і Хеллман запропонували використовувати також для електронного цифрового підпису повідомлень, який неможливо підроблювати за поліноміальний час. Нехай користувачеві Повідомлення, підписане цифровим підписом, можна уявити собі як пару 1) підписати повідомлення 2) перевірити достовірність підпису може будь-який абонент, що знає відкритий ключ, тобто саму функцію 3) при виникненні суперечок відмовитися від підпису неможливо через його непідробність; 4) підписані повідомлення Окрім принципу побудови криптосистеми з відкритим ключем, Діффі і Хеллман в тій же роботі запропонували ще одну нову ідею - відкритий розподіл ключів. Вони задалися питанням: чи можна організувати таку процедуру взаємодії абонентів по відкритих каналах зв'язку, аби вирішити такі завдання: 1) спочатку в 2) пасивний противник, який перехоплює всі передачі інформації і знає, що хочуть отримати Діффі і Хеллман запропонували вирішувати ці завдання за допомогою функції
де Сама процедура або, як прийнято говорити, протокол вироблення загального ключа описується таким чином. Абоненти незалежно один від одного випадково вибирають по одному натуральному числу - скажемо
(Числа Аналогічно чинить абонент Тим самим в З опису протоколу видно, що противник знає Успіхи, досягнуті в розробці схем цифрового підпису і відкритого розподілу ключів, дозволили застосувати ці ідеї також і до інших завдань взаємодії віддалених абонентів. Так виник великий новий напрям теоретичній криптографії - криптографічні протоколи. Об'єктом вивчення теорії криптографічних протоколів є віддалені абоненти, що взаємодіють, як правило, по відкритих каналах зв'язку. Метою взаємодії абонентів є рішення якоїсь задачі. Є також противник, який переслідує власні цілі. При цьому противник в різних завданнях може мати різні можливості: наприклад, може взаємодіяти з абонентами від імені інших абонентів або втручатися в обміни інформацією між абонентами, тощо. Противником може навіть виявитися один з абонентів або декілька абонентів, що вступили в змову. Наведемо ще декілька прикладів завдань, що вирішуються віддаленими абонентами. 1 Взаємодіють два абонента, що не довіряють один одному. Вони хочуть підписати контракт. Це треба зробити так, щоб не допустити наступну ситуацію: один з абонентів отримав підпис іншого, а сам не підписався. Протокол рішення цієї задачі прийнято називати протоколом підписання контракту. 2 Взаємодіють два абоненти, що не довіряють один одному. Вони хочуть кинути жереб за допомогою монети. Це треба зробити так, щоб абонент, що підкидає монету, не міг змінити результат підкидання після отримання здогадки від абонента, що вгадує цей результат. Протокол рішення цієї задачі прийнято називати протоколом підкидання монети. Опишемо один з простих протоколів підкидання монети по телефону (так звана схема Блюма-Мікалі). Для його реалізації у абонентів 1) 2) будь-які числа 3) за образом Роль підкидання монети відіграє випадковий і рівноймовірний вибір елементу а) б) в) г) 3 Взаємодіють два абоненти А і В (типовий приклад: А - клієнт банку, В - банк). Абонент А хоче довести абонентові В, що він саме А, а не противник. Протокол рішення цієї задачі прийнято називати протоколом ідентифікації абонента. 4 Взаємодіють декілька віддалених абонентів, що отримали накази з одного центру. Частина абонентів, включаючи центр, можуть бути противниками. Необхідно виробити єдину стратегію дій, виграшну для абонентів. Це завдання прийнято називати завданням про візантійських генералів, а протокол її рішення - протоколом візантійської угоди. Осмислення різних протоколів і методів їх побудови привело в 1985-1986 р.р. до появи двох плідних математичних моделей - інтерактивної системи доказу і доказу з нульовим розголошуванням. Математичні дослідження цих нових об'єктів дозволили довести багато тверджень, вельми корисних при розробці криптографічних. Під інтерактивною системою доказу 1) повнота - якщо 2) коректність – якщо Підкреслимо, що у визначенні системи 3) нульове розголошування - в результаті роботи протоколу
Читайте также: Буддизм: основи віровчення і культу Воспользуйтесь поиском по сайту: ![]() ©2015 - 2025 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|