Реферат: Введення у криптографію. Книги Завантажити книги DJVU, PDF безкоштовно. Безкоштовна електронна бібліотека В.В. Ященко, Введення в криптографію

12.1. Вступ. До історії стеганографії та криптографії.

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

Розмірковуючи над завданням ТП, неважко дійти висновку, що є три можливості:

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

Прокоментуємо ці три можливості.

  • 1. При сучасному рівніРозвиток науки і техніки зробити такий канал зв'язку між віддаленими абонентами для неодноразової передачі великих обсягів інформації практично нереально.
  • 2. Розробкою засобів та методів приховання факту передачі повідомлення займається стеганографія.

Стеганографія як наука зараз перебуває у стані підйому, пов'язаного з процесом стрімкого розвиткуІнтернет. У перекладі з грецької «стеганографія» буквально означає «тайнопис» (steganos – таємниця; graphy – писати). Метою стеганографії є ​​приховування передачі; вона не може замінити криптографію, але разом із нею дозволяє здійснювати максимально безпечну передачуповідомлень.

На різному технологічному рівні, що відповідає своєму часу, ідея приховування інформації реалізовувалася ще з незапам'ятних часів. Читачам напевно відомо про використання в давнину дощечок з воском, що покриває повідомлення, або про активне застосування симпатичних чорнил вітчизняними революціонерами.

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

Головна особливість комп'ютерного тайнопису – приховування файлу-повідомленняусередині файлу-контейнера. У ролі контейнера зазвичай виступають поширені файли графічних форматів BMP, GIF, JPEG чи звукових WAV, хоча можливі інші - все залежить від конкретної реалізації. Сучасні комп'ютерні стеганографічні системи використовують переважно LSB-метод, чи спосіб заміни найменш значущого біта. Суть цього методу полягає у заміні значення біта найменшої значимості. Припустимо, ми хочемо приховати повідомлення всередині контейнера, у ролі якого виступає чорно-біла фотографія. У стандартному восьмибітовому цифрове зображеннязначення яскравості змінюється від 0 до 255, зміна значення останнього біта може збільшити чи зменшити значення яскравості на одиницю. Таким чином, середня зміна яскравості пікселя не перевищить одного відсотка. Додамо, що незначну зміну піддаються далеко не всі елементи зображення, а значить, вона не буде зовні відрізнятися від оригіналу. Зі сказаного слід, що візуально відрізнити зміну файла-контейнера важче, якщо він являє собою зображення з рівномірним контрастним шумом. Описаний вище метод застосовують і для приховування повідомлень у файлах звукових форматів, при цьому зміна оригіналу-контейнера на слух практично невиразна, а якісним контейнером може вважатися файл з великими шумами фону.

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

Незважаючи на відносну молодість напряму комп'ютерної стеганографії, за допомогою пошукових системв Інтернеті можна знайти достатньо як професійних, так і аматорських програм для тайнопису. Одним із найбільш вдалих є пакет Steganos Security Suite 4. Ця програма є потужним набором утиліт для забезпечення конфіденційності інформації. До її складу входять засоби захисту дисків і доступу до комп'ютера в цілому, шифрування поштових повідомлень, забезпечення безпеки роботи в Інтернеті, професійна утиліта для гарантовано невідновного видалення файлів і, звичайно ж, якісна стенографічна система. Для цікавих для нас цілей призначена утиліта Steganos File Manager. З її допомогою можна вибрати файл-контейнер із вже існуючих на диску користувача або за допомогою сканера або мікрофона самостійно створити файл відповідного формату. Програма може не тільки надійно сховати повідомлення у вибраний контейнер, але й створити архів, що саморозпаковується.

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

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

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

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

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

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

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

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

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

Історія криптографії пов'язана з великою кількістю дипломатичних та військових таємниць і тому оповита туманом легенд. Свої слід в історії криптографії залишили багато добре відомих історичних особистостей. Наведемо кілька найбільш яскравих прикладів. Перші відомості про використання шифрів у військовій справі пов'язані з ім'ям полководця спартанського Лісандра (шифр «Сцитала»). Цезар використовував у листуванні шифр, який увійшов до історії як «шифр Цезаря». У Стародавній Греції був винайдений вид шифру, який надалі став називатися «квадрат Політа». Одну з перших книг з криптографії написав абат І. Трителій (1462-1516), який жив у Німеччині. В 1566 відомий математик Д. Кардано опублікував роботу з описом винайденої ним системи шифрування («решітка Кардано»). Франція XVI століття залишила історія криптографії шифри короля Генріха IV і Рішельє. Було багато російських шифрів, зокрема і «цифірна абетка» 1700 року, автором якої був Петро Великий.

Деякі відомості про властивості шифрів та їх застосування можна знайти і в художній літературі, особливо у пригодницькій, детективній та військовій. Гарне детальне поясненняОсобливостей одного з найпростіших шифрів - шифру заміни та методів його розтину міститься у двох відомих оповіданнях: «Золотий жук» Еге.

Розглянемо два приклади.


Метод шифрування/дешифрування називають шифром (cipher). Деякі алгоритми шифрування ґрунтуються на тому, що сам метод шифрування (алгоритм) є секретним. Нині такі методи становлять лише історичний інтерес і не мають практичного значення. Усі сучасні алгоритми використовують ключдля управління шифруванням та дешифруванням; повідомлення може бути успішно дешифровано лише якщо відомий ключ. Ключ, який використовується для дешифрування, може не збігатися з ключем, який використовується для шифрування, однак у більшості алгоритмів ключі збігаються.

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

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

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

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

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

Багато якісних криптографічних алгоритмів доступні широко - в книгарні, бібліотеці, патентному бюро або в Інтернеті. До широко відомих симетричних алгоритмів відносяться DES та IDEA, напевно найкращим асиметричним алгоритмом є RSA.

Цифрові підписи

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

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

Цифрові підписи також можна використовувати для посвідчення ( сертифікації --- to certify) того, що документ належить певній особі. Це робиться так: відкритий ключ та інформація про те, кому він належить підписуються стороною, якій довіряємо. При цьому довіряти стороні, що підписує, ми можемо на підставі того, що її ключ був підписаний третьою стороною. У такий спосіб виникає ієрархія довіри. Очевидно, що деякий ключ має бути коренем ієрархії (тобто йому ми довіряємо не тому, що він кимось підписаний, а тому, що ми віримо a-priori, що йому можна довіряти). У централізованій інфраструктурі ключівє дуже невелика кількість кореневих ключів мережі (наприклад, наділені повноваженнями державні агенства; їх також називають сертифікаційними агенствами --- certification authorities). У розподіленої інфраструктуринемає необхідності мати універсальні для всіх кореневі ключі, і кожна зі сторін може довіряти своєму набору кореневих ключів (скажімо своєму власному ключу та ключам, підписаним нею). Ця концепція має назву мережі довіри (web of trust) і реалізована, наприклад, PGP.

Цифровий підпис документа зазвичай створюється так: із документа генерується так званий дайджест (message digest) і до нього додається інформація про те, хто підписує документ, штамп часу та інше. Рядок, що вийшов, далі зашифровується секретним ключем підписувача з використанням того чи іншого алгоритму. Зашифрований набір біт і є підписом. До підпису зазвичай прикладається відкритий ключ підписувача. Одержувач спочатку вирішує для себе, чи він довіряє тому, що відкритий ключ належить саме тому, кому повинен належати (за допомогою мережі довіри або апріорного знання), а потім дешифрує підпис за допомогою відкритого ключа. Якщо підпис нормально дешифрувався, і його вміст відповідає документу (дайджест та ін.), то повідомлення вважається підтвердженим.

Доступні кілька методів створення та перевірки цифрових підписів. Найбільш відомим є алгоритм RSA.

Криптографічні хеш-функції

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

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

Багато хороших криптографічних хеш-функцій є безкоштовно. Широко відомі включають MD5 та SHA.

Криптографічні генератори випадкових чисел

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

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

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

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

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

Забезпечуваний шифром ступінь захисту

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

Теоретично будь-який шифрувальний алгоритм з використанням ключа може бути розкритий методом перебору всіх значень ключа. Якщо ключ підбирається методом грубої сили (brute force), потрібна потужність комп'ютера зростає експоненційно зі збільшенням довжини ключа. Ключ довжиною 32 біта вимагає 2^32 (близько 10^9) кроків. Таке завдання під силу будь-якому дилетанту і вирішується домашньому комп'ютері. Системи з 40-бітним ключем (наприклад, експортний американський варіант алгоритму RC4) вимагають 240 кроків --- такі комп'ютерні потужності є в більшості університетів і навіть у невеликих компаніях. Системи з 56-бітними ключами (DES) вимагають розкриття помітних зусиль, проте можуть бути легко розкриті за допомогою спеціальної апаратури. Вартість такої апаратури значна, але доступна для мафії, великих компаній та урядів. Ключі довжиною 64 біта зараз, можливо, можуть бути розкриті великими державами і вже в найближчі кілька років будуть доступні для розкриття злочинними організаціями, великими компаніями та невеликими державами. Ключі довжиною 80 біт можуть у майбутньому стати вразливими. Ключі довжиною 128 біт ймовірно залишаться недоступними для розтину методом грубої сили в найближчому майбутньому. Можна використовувати і довші ключі. У межі неважко домогтися того, щоб енергія, необхідна для розтину (вважаючи, що на один крок витрачається мінімальний квантово-механічний квант енергії) перевершить масу сонця або всесвіту.

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

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

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

Щоб дати уявлення про рівень складності розтину RSA, скажімо, що модулі довжиною 256 біт легко факторизуються звичайними програмістами. Ключі в 384 біти можуть бути розкриті дослідницькою групою університету чи компанії. 512-бітові ключі перебувають у межах досяжності великих держав. Ключі довжиною 768 біт ймовірно не будуть надійні тривалий час. Ключі довжиною в 1024 біт можуть вважатися безпечними доти, доки не буде суттєвого прогресу в алгоритмі факторизації; ключі завдовжки 2048 року більшість вважає надійними на десятиліття. Більш детальну інформацію про довжини ключів RSA можна отримати зі статті Брюса Шнайєра (Bruce Scheier).

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

Криптоаналіз та атаки на криптосистеми

Криптоаналіз - це наука про дешифрування закодованих повідомлень, не знаючи ключів. Є багато криптоаналітичних підходів. Деякі з найважливіших для розробників наведені нижче.
  • Атака зі знанням лише шифрованого тексту (ciphertext-тільки attack): Це ситуація, коли атакуючий не знає нічого про зміст повідомлення, і йому доводиться працювати лише з самим шифрованим текстом. На практиці часто можна зробити правдоподібні припущення про структуру тексту, оскільки багато повідомлень мають стандартні заголовки. Навіть звичайні листи та документи починаються з легко передбачуваної інформації. Часто можна припустити, що деякий блок інформації містить задане слово.
  • Атака зі знанням вмісту шифрування (known-plaintext attack): Атакуючий знає чи може вгадати вміст всього або частини зашифрованого тексту. Завдання полягає у розшифровці решти повідомлення. Це можна зробити або обчислення ключа шифрування, або оминаючи це.
  • Атака з заданим текстом (chosen-plaintext attack): Атакуючий може отримати шифрований документ для будь-якого потрібного йому тексту, але не знає ключа. Завданням є знаходження ключа. Деякі методи шифрування і, зокрема, RSA, дуже вразливі атак цього типу. При використанні таких алгоритмів треба ретельно стежити, щоб атакуючий не міг зашифрувати заданий текст.
  • Атака з підставкою (Man-in-the-middle attack): Атака спрямовано обмін шифрованими повідомленнями і, особливо, на протокол обміну ключами. Ідея полягає в тому, що коли дві сторони обмінюються ключами для секретної комунікації (наприклад, використовуючи шифр Діффі-Хелмана, Diffie-Hellman), противник впроваджується між ними лінії обміну повідомленнями. Далі супротивник видає кожній стороні свої ключі. У результаті кожна зі сторін матиме різні ключі, кожен з яких відомий противнику. Тепер противник розшифровуватиме кожне повідомлення своїм ключем і потім зашифровуватиме його за допомогою іншого ключа перед відправкою адресату. Сторони матимуть ілюзію секретного листування, тоді як насправді противник читає всі повідомлення.

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

  • Атака за допомогою таймера (timing attack): Цей новий тип атак заснований на послідовному вимірі часів, що витрачаються на виконання операції зведення в стіну по модулю цілого числа. Їй схильні до Крайній мірінаступні шифри: RSA, Діффі-Хеллман та метод еліптичних кривих. Додаткову інформацію дивіться в оригінальній статті та у безлічі статей.
Є безліч інших криптографічних атак та криптоаналітичних підходів. Однак наведені вище є, мабуть, найважливішими для практичної розробки систем. Якщо хтось збирається створювати свій алгоритм шифрування, йому необхідно розуміти ці питання значно глибше. Одне з місць, де можна почати систематичне вивчення інформації - це чудова книга Брюса Шнейера "Прикладна криптографія" (Bruce Schneier, Applied Cryptography).

Disclaimer. Всі наведені тут думки та висновки є суб'єктивною точкою зору автора, і автор не може нести відповідальність за їхню сильність.

Історичний процес розвитку засобів та методів захисту інформації виробив три основні способи захисту.

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

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

використанням «невидимих» носіїв інформації (мікроплівок);

Застосуванням симпатичного чорнила, яке стає видимим при відповідній хімічній обробці носія інформації;

Маскування секретної інформації звичайним посланням і т.д.

У сучасній стеганографії є ​​досить широкий спектр методів захисту інформації.

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

1.1. Основні поняття та визначення криптографії

Розглянемо основні поняття, прийняті криптографії , і спочатку визначимо, що таке криптография.

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

Історично центральним поняттям криптографії є ​​поняття шифру. Шифромназивається сукупність оборотних криптографічних перетворень безлічі відкритих текстів на безліч зашифрованих текстів, які з метою їхнього захисту. Конкретний вид криптографічного перетворення відкритого тексту визначається за допомогою ключашифрування. Відкритим текстомназивають вихідне повідомлення, яке підлягає зашифруванню. Під зашифруваннямрозуміється процес застосування оборотного криптографічного перетворення до відкритого тексту, а результат цього перетворення називається шифртекстомабо криптограмою. Відповідно, процес зворотного криптографічного перетворення криптограми у відкритий текст називається розшифруванням.



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

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

Класифікація криптосистем представлена ​​рис. 1.1.

Мал. 1.1. Класифікація криптосистем

Більш повна класифікація криптосистем наведена, наприклад, у .

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

Мал. 1.2. Спрощена структурна схема симетричної криптосистеми

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

По виду криптографічного перетворення – на шифри перестановки, шифри заміни та композиційні шифри;

За конструктивними принципами – на потокові криптосистеми та блокові криптосистеми.

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

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

Мал. 1.3. Спрощена структурна схема асиметричної криптосистеми

1.2. З історії криптографії

На думку низки фахівців, криптографія за віком – ровесник єгипетських пірамід. У документах стародавніх цивілізацій (Індії, Єгипту, Месопотамії) є відомості про системи та способи складання шифрованих листів.

У криптографії з давніх часів використовувалися два види шифрів: заміни (підстановки) та перестановки. Історичним прикладом шифру заміни є шифр Цезаря(I століття е.), описаний істориком Стародавнього Риму Светонием. Гай Юлій Цезар використовував у своєму листуванні шифр власного винаходу. Стосовно російської він полягає в наступному. Виписується алфавіт, а потім під ним виписується той же алфавіт, але з циклічним зрушенням на три літери вліво:

А Б У Г Д Е Е Ю Я
Г Д Е Ё Ж З А Б У

Зашифрування полягає у виборі літери з першого рядка і заміну її на літеру другого рядка, розшифрування є зворотною операцією. Наприклад, РИМ - УЛП. Ключом шифру Цезаря є величина циклічного зсуву. Гай Юлій Цезар все життя використовував один і той самий ключ - зрушення на 3 літери. Приймач Юлія Цезаря – Цезар Август використовував той самий шифр, але зі зсувом однією літеру. Світлоній не наводить фактів дешифрування шифру Цезаря, однак у часи, коли панувала загальна неграмотність, навіть звичайне відкрите послання могло залишитися непрочитаним.

Одним із перших фізичних приладів, що реалізують шифр перестановки є блукала. Він був винайдений у давній Спарті (V століття до н.е.). Окрім Стародавньої Греції прилад скитала використовувався широко і в Стародавньому Римі. Блукала (у перекладі - «жезл») є циліндром заданого діаметра. На циліндр намотувався ремінь із пергаменту, на який наносився текст повідомлення вздовж осі циліндра. Потім ремінь змотувався і відправлявся одержувачу повідомлення. Останній, маючи аналогічний циліндр, розшифровував повідомлення. Ключом шифру є діаметр поневіряння. Винахід дешифрувального пристрою приписується Арістотелю. Він запропонував використовувати для дешифрування конусоподібне «спис», на яке намотувався перехоплений ремінь, доки не з'являвся осмислений текст.

Одним із перших історичних імен, яке згадується у зв'язку з криптографією, це ім'я Енея – легендарного полководця, захисника Трої. В області тайнопису Енею належать два винаходи. Перше з них – так званий диск Енея. Його принцип простий. На диску розміром 10-15 см і товщиною 1-2 см висвердлювалися отвори за літерами алфавіту. У центрі диска закріплена котушка з ниткою. При зашифруванні нитка послідовно протягувалась через отвори відповідні буквам послання. Диск надсилався одержувачу, який витягував нитку з отворів та отримував повідомлення у зворотному порядку. Іншим пристроєм є лінійка Енея. Тут замість диска використовувалася лінійка з кількістю отворів, що дорівнює літерам в алфавіті. Літери отворами розташовувалися в довільному порядку. До лінійки прикріплювалася котушка з ниткою. При шифруванні нитка простягалася через отвір, що відповідає букві послання, що шифрується, при цьому на нитки в місці проходження отвору зав'язувався вузлик. Таким чином, зашифроване послання було ниткою з вузликами, в якій кожній літері ставилося у відповідність відстань між вузликами нитки. Ключом шифру був порядок проходження літер по отворах лінійки. Аналогічна лінійка Енея стос(вузликовий лист) набула широкого поширення в індіанців Центральної Америки.

Ще він винахід давніх греків - квадрат Полібія (Полібій - грецький державний діяч, полководець, історик III століття до н.е.):

A B C D E
A A B C D E
B F G H I,J K
C L M N O P
D Q R S T U
E V W X Y Z

Стосовно сучасного латинського алфавіту шифрування по цьому квадрату полягало в наступному. Літера, що шифрується, замінювалася на координати квадрата, в якому вона записана. Так буква R замінюється на DB. Під час розшифрування кожна пара літер визначає відповідну літеру повідомлення. Наприклад, TABLE - DDAAABCAAE. Ключем цього шифру є квадрат. Ускладнений варіант квадрата Полібія полягає у довільному порядку запису букв у квадраті. При цьому для запам'ятовування такого довільного порядку використовувалося гасло, яке являло собою слово, що записувалося без повтору букв у квадрат, а клітини квадрата, що залишилися, заповнювалися по порядку їх прямування іншими літерами алфавіту. Наприклад, THE APPLE відповідає THEAPL.

Цікаво відзначити, що у дещо зміненому вигляді квадрат Полібія дійшов до наших днів і одержав назву «тюремний шифр». Для його використання достатньо знати лише природний порядок букв у алфавіті. Сторони квадрата позначаються не літерами, а цифрами. Кожна цифра кодується певною кількістю стуків. При надсиланні повідомлення спочатку «відстукується» номер рядка, а потім номер стовпця. "Тюремний шифр" строго кажучи, не є шифром, це спосіб кодування повідомлення з метою його приведення до вигляду зручному для передачі по каналу зв'язку (тюремна стіна).

За часів середньовіччя європейська криптографія набула сумнівної слави, відлуння якої чутиметься й у наші дні. Справа в тому, що криптографію стали ототожнювати з чорною магією, астрологією, алхімією, до шифрування закликалися містичні сили. Для шифрування повідомлень рекомендовано використовувати магічні квадрати. Магія цих квадратів полягала в тому, що сума чисел за рядками, стовпцями та повними діагоналями дорівнювала одному числу. Шифрування по «магічному квадрату» полягало в наступному. Літери повідомлення вписувалися в квадрат відповідно до записаних у них числах, а порожні клітини вставлялися довільні букви. Шифртекст виписувався в заздалегідь визначеному порядку. Наприклад, повідомлення ПРИЇЖДАЮ СЬОГОДНІ зашифроване за допомогою «магічного квадрата»:

16У 13Д
10Е 11Г
12О
15Я 14Н

має вигляд УІРДЗЕГЮСЖАОЕЯНП. Цей шифр - звичайний шифр перестановки, проте вважалося, що особливу стійкість йому надає чаклунство "магічного квадрата".

У XV столітті абат Тритемій зробив дві новаторські пропозиції в галузі криптографії: він запропонував шифр «Аве Марія» і шифр, заснований на ключі, що періодично зрушується. Найбільш серйозна пропозиція Тритемія, що дійшла до наших днів, полягає у вигаданій ним таблиці:

A B C D W X Y Z
B C D E X Y Z A
C D E F Y Z A B
Y Z A B U V W X
Z A B C V W X Y

Перша буква тексту шифрується за першим рядком, друга літера за другим рядком тощо. Перший рядок одночасно є рядком букв відкритого тексту. Наприклад, FIGHT - FJIKX. У початковому варіанті у шифрі Тритемія був відсутній ключ. Секретом був сам метод шифрування. Подальше ускладнення шифру йшло двома шляхами: запровадженням довільного порядку розташування букв у таблиці; ускладненням порядку вибору рядків таблиці під час шифрування. Слід сказати, що шифр Цезаря є окремим випадком шифру Тритемія.

Шифр «Аве Марія» заснований на принципі заміни букв тексту, що шифрується, на цілі слова, з яких складалися зовні невинні повідомлення. Наприклад, Н - "Я", "ТУТ"; Е – «ЖДУ», «БУДУ»; Т – «БУДИНКИ», «ВЕЧОРОМ». Тоді відкритому повідомленню НІ можуть відповідати послання «Я ЧЕКАЮ БУДИНКУ», «ТУ БУДУ ВЕЧОРОМ».

У XVII столітті англійський філософ і вчений лорд-канцлер Френсіс Бекон висунув головні вимоги до шифрів: "Вони не повинні піддаватися дешифруванню, не повинні вимагати багато часу для написання та читання, не повинні збуджувати жодних підозр". Ці вимоги є актуальними і сьогодні.

Широко використовували шифри та братства «вільних мулярів» (масонів). Шифр «вільних мулярів»є шифром заміни і всупереч поширеній думці не є стійким, але представляє певний інтерес. Шифрування полягає у заміні букв відкритого тексту символами за правилом:

А: B: C: J. K. L. S T U
D: E: F: M. N. O. V W X
G: H: I: P. Q. R. Y Z

Наприклад, APPLE відповідає криптограмі виду:

: . . . :

При поході на Росію Наполеон використовував шифр «вільних мулярів» у нижчих ланках свого зв'язку, проте шифр досить швидко розкритий російськими дешифрувальниками.

У XVI столітті італієць Альберті вперше висунув ідею подвійного шифрування, тобто. текст після першого шифрування зазнавав повторного шифрування. Альберті також належить шифр, який він називав "шифром, гідним королів". Реалізація шифру здійснювалася з допомогою шифрувального диска. На зовнішній нерухомий диск наносилися букви та цифри під якими розташовувалися букви та цифри внутрішнього рухомого диска. Процес шифрування простий – буквам і цифрам відкритого тексту ставилися у відповідність букви та цифри внутрішнього диска. Після зашифрування слова послання внутрішній диск рухався на один крок. Початкове становище дисків заздалегідь обумовлювалося. Диск Альберті з незначними змінами використовувався до початку XX століття.

У XVI столітті помітний внесок у розвиток криптографії внесли Матео Ардженті, Жовані Батіста Белазо, Джованні Батіста Порта, Кордано та ін. Матео Ардженті був криптографом папи римського, саме йому належить ідея використання слова-гасла для надання алфавіту змішаного, що легко запам'ятовується. Ардженті також запропонував вставляти в шифртекст велику кількість літер «пустушок», усувати пунктуацію, не вставляти у шифртекст відкриті слова («клер»), замінювати літери шифртексту на цифри. Белазо та Порта розвинули ідеї Ардженті у своїх працях «Шифр сеньйора Белазо» та «Про таємне листування».

Істотний внесок у розвиток криптографії зробив математик, лікар і філософ Кордано. Запропонований ним шифр увійшов до історії під назвою «грати Кордано». «Грати Кордано»- Це шифр перестановки, суть якого полягає в наступному. Брався лист щільного матеріалу (картон, пергамент), що є квадратом у якому вирізані «вікна». При шифруванні квадрат накладався на аркуш паперу і повідомлення вписувалося у вікна, потім квадрат повертався на 90 градусів і повідомлення продовжували записувати у вікна повернутого квадрата. Така процедура тривала до повного повороту квадрата на 360 градусів. Головна вимога «решітки Кордано» - при всіх поворотах «вікна» не повинні потрапляти на дно і місце, а при повному повороті квадрата всі місця в шифртексті виявляються зайнятими. Шифртекст зчитувався рядками з отриманої таблиці. Запропонований Кордано шифр лежить в основі знаменитого шифру Рішельє, В якому шифрований текст зовні мав вигляд звичайного послання. Накладаючи на лист із таким посланням прямокутник прорізаними з вікнами, можна було прочитати повідомлення. Шифр Рішельє не ставитися ні до шифрів заміни, ні до шифрів перестановки, він був стеганографічний спосіб захисту інформації. Такого роду шифром користувався російський і державний діяч А.С. Грибоєдов, будучи послом у Персії.

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

Познайомившись у працями Тритемія, Белазо, Кордано та Альберті французький державний діяч Блез де Віженер розробив власний шифр, який отримав назву шифр Віженера. Суть шифру полягала в тому, що вибиралося секретне слово, яке було ключем шифру. Це слово виписувалося під відкритим повідомленням періодично. Верхня буква відкритого тексту відповідала стовпцю таблиці Тритемія, а нижня буква ключа – рядку таблиці Тритемія, буква, що стоїть перетин рядка і стовпця була буквою шифртекста. Шифр Віженера є шифр заміни. Надалі цей шифр був спрощений для практичного використання начальником першого в Німеччині державного дешифрувального відділу графом Гронсфельдом. Шифр Віженера і шифр Гронсфельда є насправді родоначальниками широко використовуваного нині шифру гамування. Шифр Віженера використовувався в різних варіантахдо XIX століття. Однією з найвідоміших модифікацій шифру Віженера є шифр англійського адмірала Бофора. Гідність шифру Бофора у тому, що правило зашифрування повідомлень та його розшифрування збігаються.

Широкий розвиток криптографії у XVI столітті було пов'язано у розвиток природничих наук, математики. У цей час у Європі з'являються перші спеціальні органи дипломатичної служби, які займалися питаннями шифрування власної кореспонденції та дешифрування перехопленої кореспонденції. XVII-XVIII століття увійшли до історії криптографії як епоха «чорних кабінетів». «Чорні кабінети»- спеціальний державний орган з перехоплення, перлюстрації та дешифрування листування, насамперед дипломатичного. У штат «чорних кабінетів» входили дешифрувальники, агенти з перехоплення пошти, переписувачі-копіювальники, перекладачі, фахівці з підробки печаток, хіміки, фахівці з підробки почерків тощо. Ці фахівці цінувалися дуже високо і перебували під особливим заступництвом влади, зрада дуже суворо каралася.

У ХІХ столітті з'являються перші механічні шифрувальні пристрої. Найбільш відомими є винаходи полковника американської армії Д. Уодсворта та англійського інженера Ч. Уітстона. Пристрій Уодсворта (1817 р.) представляв механічний шифратор основними елементами якого були два шифрувальні диски, на торці одного розташовувалися літери англійського алфавіту, а на торці другого літери і цифри від 2 до 8. Літери на другому диску били знімні, тексту. Диски поміщалися у футляр із прорізаними у ньому вікнами. При обертанні першого диска у верхньому вікні виставлялася буква відкритого повідомлення. Диски були з'єднані шестерним передачею, тому в нижньому вікні з'являлася відповідна буква шифртексту. Пристрій був оснащений спеціальною кнопкою для роз'єднання дисків. Це потрібно для того, щоб забезпечувати встановлення пристрою в задане початкове положення. У пристрої Уодсворта проглядаються ідеї Альберті, Тритемія, Віженера. Незважаючи на те, що пристрій був досить громіздким, до того ж у цей час панували «ручні» шифри, які не вимагали спеціальних пристроїв, воно послужило поштовхом до розвитку механічних пристроїв для шифрування та розшифрування повідомлень.

Цікаву пропозицію щодо створення механічного пристрою шифрування зробив Ч. Вітстон у другій половині XX століття. У пристрої Уітстона проглядаються ідеї Альберті, а також Уодсворта. Зовні пристрій Вітстон нагадує диск Альберті, проте в ньому реалізована парадоксальна ідея - алфавіт відкритого тексту містить більше знаків, ніж шифрованого. Проблема неоднозначності у визначенні букв відкритого повідомлення вирішена Уітстоном блискуче. На рис. 1.4 представлений зовнішній вигляд пристрою Уітстона.

Зовнішній диск, диск алфавіту відкритого тексту, складався з 27 знаків (26 літер англійського алфавіту та спеціального знака "+", що означає пропуск). Внутрішній алфавіт визначає алфавіт відкритого тексту і складається з 26 звичайних літер, розташованих у довільному ключовому порядку. На тій же осі, що і диски (алфавіти) пристрою, з'єднані шестернями розміром 27×26 відповідно, розташовані дві стрілки, як у сучасному годиннику.

Мал. 1.4. Зовнішній вигляд пристрою Ч. Уітстона

На початку шифрування велика (довга) стрілка вказує на знак "+". Мала стрілка, пов'язана з великою різьбовою шестернею, ставилася на те саме становище, тобто. "годинник" показував "12.00". Набір літер відкритого тексту проводився поворотом великої стрілки у напрямку годинникового руху. Після такого повороту мала стрілка вказує на знак шифрованого тексту. Таким чином, при повному повороті великого дискамалий диск зміщувався на одиницю по відношенню до вихідного взаємного стану двох дисків, що призводило до зміни алфавіту зрушення шифрованого тексту по відношенню до алфавіту відкритого тексту. Після закінчення кожного слова велика стрілка ставала на знак "+", літера, яку при цьому вказувала коротка стрілка, записувалася як знак шифрованого тексту. Щоб уникнути неоднозначності розшифрування, подвоєння букв у відкритому тексті не допускається. Повторну літеру слід або пропустити, або ставити замість неї якусь рідкісну літеру, наприклад Q. Наприклад, слово THE APPLE при шифруванні записується як +THE+APLE+ або +THE+APQLE+.

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

На початку XX століття значний внесок у розвиток криптографії зробив американець Г. Вернам. У 1917 року він, будучи співробітником телеграфної компанії, запропонував ідею автоматичного шифрування телеграфних повідомлень, суть якої у наступному. Відкритий текст подається в коді Бодо (у вигляді п'ятизначних "імпульсних комбінацій"). У цьому коді, наприклад, літера "А" мала вигляд (+ + - - -). На папері знак "+" означав отвір, а знак "-" - його відсутність. При зчитуванні зі стрічки п'ятірка металевих щупів "впізнавала" отвори (за наявності отвору щуп замикав) електричний ланцюг). У лінію зв'язку посилалися імпульси струму. Вернам запропонував електромеханічно покоординатно складувати імпульси знаків секретного тексту з імпульсами секретного ключа, що представляє собою хаотичний набір букв того самого алфавіту. Додавання, за сучасною термінологією, здійснювалося за модулем 2. Г. Вернам створив пристрій, що виробляє операції шифрування автоматично, без участі шифрувальника, тим самим було започатковано так зване "лінійне шифрування", коли процеси шифрування і передачі повідомлення відбуваються одночасно. До того часу шифрування було попереднім, тому лінійне шифрування значно підвищувало оперативність зв'язку. Шифр Вернама має виняткову криптографічну стійкість. У той же час очевидним є і недолік цієї системи шифрування - ключ повинен мати ту ж довжину, що і відкритий текст. Для розшифрування на приймальному кінці зв'язку туди потрібно передати (за таємними, захищеними каналами) ключ достатньої довжини. При практичній реалізації це породжує проблеми, причому дуже суттєві, що й визначило скромне поширення шифрів Вернама. Сам Вернам не був математиком-криптографом, проте він наполягав на тому, що ключ шифру не повинен повторюватися при шифруванні, і в цьому, як показала історія криптографії, він мав рацію. Його ідеї породили нові підходи до надійного захисту інформації під час передачі великих обсягів повідомлень.

Перша половина XX століття стала "золотим століттям" електромеханічних шифрувальних машин. Найбільшу популярність здобула родина німецьких електромеханічних шифрувальних машин Enigma. Різні модифікації цієї шифрувальної машини використовувалися німецькими військами з кінця 1923 року до 1945 року. 1943 року союзникам з антигітлерівської коаліції вдалося «зламати» машину Enigma, що відіграло велику роль у перемозі у Другій світовій війні. Для передачі найбільш таємних повідомлень під час Другої світової війни німцями використовувалася шифрувальна машина Lorenz. В американській армії з 1923 по 1943 використовувався механічний пристрій для шифрування М-94. В основу цього пристрою є диск Альберті. Для захисту дипломатичного листування США використовувалася машина Хеберна MarkII. Шведський криптограф Б. Хагелін розробив для французької секретної поліції шифрувальний пристрій CD-57, а для французьких спецслужб - шифрувальну машину М-209. Модифікація цієї машини використовувалася також американськими військовими у Другій світовій війні. З 1939 по 1952 рік японці використовували шифрувальну машину для захисту дипломатичного листування під назвою «Тип 97» та її модифікацію. У ці машини отримали барвисте позначення «Пурпурний код» і «Червоний код». У СРСР перед війною та в роки Великої Вітчизняної війни широко використовувалася малогабаритна дискова кодувальна машина К-37 «Кристал». Лише у 1940 році було випущено 100 комплектів цієї машини. Після війни було підбито підсумки експлуатації К-37 і проводилася робота щодо її подальшого вдосконалення.

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

"Яка криптографія, навіщо? Мені приховувати нема чого!" - подібні твердження часто можна чути від користувачів, якщо мова заходить про шифрування даних. На жаль, багато в чому стараннями мас-медіа, криптографія та шифрування у простого обивателя чітко асоціюються зі шпигунами, хакерами чи іншими представниками андеграунду. Однак, якщо поставити питання по-іншому, чи хочуть вони, щоб їхнє листування в соціальних мережах, вміст поштової скриньки або облікові дані від банківського рахунку стали надбанням широкому загалу, то відповідь буде суто негативною.

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

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

Отже, Аліса хоче надіслати повідомлення Бобу...

Симетричне шифрування

Отже, Аліса хоче надіслати повідомлення Бобу, але так, щоб цікава Єва не могла ознайомитись з його вмістом. Де і як буде передаватися повідомлення - Аліса не знає, але знає, що Єва - особа вкрай цікава і при нагоді обов'язково суне ніс у них з Бобом листування.

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

Привіт Боб

у послідовність чисел:

3/9 1/8 5/1 7/1 2/2 6/3 4/3 1/5 1/13

Тепер це повідомлення можна сміливо передавати незахищеними каналами, але ні Боб, ні Єва не можуть прочитати його, оскільки не володіють ключем. Що таке ключ? У нашому випадку це цілком певна сторінкацілком певної книги. Навіть знаючи яким саме текстом зашифроване це повідомлення Єва не зможе його прочитати, доки точно не знатиме видання, оскільки в іншій книзі на вказаній сторінці, у вказаних позиціях можуть опинитися зовсім інші літери.

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

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

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

Отже, Аліса успішно зашифрувала повідомлення та відправила його Бобу. Але виникає нова складність – яким чином передати Бобові ключ?

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

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

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

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

Алгоритм Діффі-Хеллмана

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

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

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

Отже, Аліса хоче надіслати повідомлення Бобу...

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

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

У випадку з обчисленнями по модулю це вимагатиме практично повного перебору всіх можливих вихідних значень, що здатне зайняти дуже багато часу, якщо вихідні дані 1024 і 2048-бітові числа.

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

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

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

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

Асиметричне шифрування

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

Повернемося до наших героїв.

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

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

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

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

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

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

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

Атака "Людина посередині"

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

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

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

В даному випадку ми показали класичний приклад атаки на RSA, але таким же чином Меллорі може здійснити атаку і на алгоритм Діффі-Хеллмана.

Хто вразливий перед такими атаками? Насамперед користувачі самопідписаних сертифікатів. Існує поширений міф, що шифрування за допомогою таких сертифікатів є ненадійним, проте це не так, за стійкістю шифру самопідписані сертифікати не відрізняються від тих, які видаються за гроші, але є одна велика різниця. Якщо ми не знаємо, хто саме випустив цей сертифікат, то ризикуємо замість сертифіката Аліси прийняти сертифікат від Меллорі з усіма, хто витікає.

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

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

Посвідчувальний центр

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

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

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

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

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

Також Аліса може випустити та передати Бобу сертифікат свого посвідчувального центру (CA, Certification authority), який містить відкритий ключ, що дозволяє перевірити справжність будь-якого випущеного Алісою за допомогою цього сертифіката, що засвідчує центру. Тут виникає ще один цікавий момент. Сертифікат CA не містить секретних відомостей, але його не слід передавати незахищеними каналами, а також зберігати його так, щоб уникнути доступу до нього третіх осіб.

Чому так? Все питання в довірі, якщо Боб довіряє Алісі, він довіряє її УЦ, а встановивши сертифікат УЦ він автоматично довірятиме будь-якому випущеному Алісою сертифікату. Тому якщо Меллорі підмінить сертифікат "по дорозі" або зробить це пізніше, у незахищеному сховищі, то Боб автоматично довірятиме сертифікатам Меллорі, думаючи, що це сертифікати Аліси.

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

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

Як же бути? Вихід простий: буде потрібна третя сторона, чий авторитет незаперечний і яка може бути гарантом справжності, скажімо, нотаріус.

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

Якщо сертифікат не містить підпису Трента, то Боб не може перевірити, чи належить цей сертифікат Алісі, чи це витівки Меллорі і тому, за неможливості точно перевірити справжність, такі (самопідписані) сертифікати слід відхиляти.

Чи може Меллорі підписати свій сертифікат у Трента? Цілком, але вона зможе підписати його тільки від свого імені та представитися Алісою у неї вже не вийде.

У сучасній інфраструктурі відкритих ключів (PKI, Public Key Infrastructure) роль нотаріуса Трента виконують довірені кореневі центри сертифікації, сертифікати яких поставляються у складі операційної системи та розміщуються у захищеному сховищі.

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

DV -Domain Validation- Найпростіший і недорогий вид сертифікату, який можна отримати дуже швидко, а з деяких пір і безкоштовно. Цей видсертифіката лише засвідчує факт володіння доменом, тобто. для його отримання необхідно виконати деякі дії доступні тільки власнику домену, наприклад, розмістити файл у певному місці на сайті або ввести код надісланий на Поштова скринька, Вказаний у WHOIS.

З'єднання з сайтом, що використовує DV-сертифікат, виглядає наступним чином, а в полі Суб'єкт сертифіката знаходиться тільки доменне ім'я:

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

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

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

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

Зовнішнє з'єднання з таким сайтом нічим не відрізняється від сайту з DV-сертифікатом, але поле Суб'єкт містить додаткові відомостіпро власника.

Дані сертифікати широко використовуються в бізнес-цілях, коли потрібно не лише підтвердити факт безпечного з'єднанняз цим ресурсом, а й факт його належності певної компанії чи фізособи. Так вперше потрапивши на новий сайт Аліси та перевіривши поле суб'єкт в OV-сертифікаті Боб може бути впевнений, що належить цей сайт саме Алісі, а не Єві чи Меллорі.

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

EV - Extended Validation- сертифікат з розширеною перевіркою, видається лише компаніям і лише після низки додаткових перевірок. Зокрема, перевіряється не лише факт існування компанії, а й відповідність зазначених відомостей дійсності, наприклад, перевіряється наявність компанії за вказаною адресою, належність компанії вказаних телефонів та можливість за ними зв'язатися тощо, тощо.

З'єднання з сайтом, що володіє таким сертифікатом, візуально відрізняється великою вказівкою компанії власника прямо в адресному рядку браузера, а також повідомленням, що достовірність компанії підтверджена. У полі Суб'єкт також є додаткові відомості.

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

Однак не слід впадати в ейфорію і читати EV-сертифікат запорукою сумлінності компанії або високої якості її роботи, він лише підтверджує, що компанія не тільки існує, а й веде свою діяльність за зазначеними координатами, ні більше, ні менше. Так наявність у Пошти Росії DV-сертифіката анітрохи не зменшить рівень довіри до них, як наявність у ТОВ "Роги і копита" сертифіката рівня EV довіри до них не підвищить.

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

  • Теги:

Please enable JavaScript to view the

Книги Завантажити книги DJVU, PDF безкоштовно. Безкоштовна електронна бібліотека
В.В. Ященко, Введення в криптографію

Ви можете (програма відмітить жовтим кольором)
Ви можете переглянути список книг з вищої математики з сортуванням за абеткою.
Ви можете переглянути список книг з вищої фізики з сортуванням за абеткою.

• Безкоштовно завантажити книгу, об'єм 1.69 Мб, формат.djvu
Видання друге за ред. Ященко В.В., вересень 1999 року

Шановні пані та панове!! Для того, щоб завантажити файли електронних публікацій без "глюків", натисніть на підкреслене посилання з файлом ПРАВОЮ кнопкою миші, виберіть команду "Save target as ..." ("Зберегти об'єкт як...") та збережіть файл електронної публікації на локальному комп'ютері. Електронні публікаціїзазвичай представлені у форматах Adobe PDFта DJVU.

Глава 1. Основні поняття криптографії
1. Введення
2. Предмет криптографії
3. Математичні основи
4. Нові напрямки
5. Висновок

Глава 2. Криптографія та теорія складності
1. Введення
2. Криптографія та гіпотеза
3. Односторонні функції
4. Псевдовипадкові генератори
5. Докази з нульовим розголошенням

Глава 3. Криптографічні протоколи
1. Введення
2. Цілісність. Протоколи аутентифікації та електронного підпису
3. Неналежність. Електронні гроші
4. Протоколи типу "підкидання монети по телефону"
5. Ще раз про поділ секрету
6. Пограємо у "кубнки". Протоколи голосування
7. За межами стандартних припущень. Конфіденційна передача повідомлень
8. Замість ув'язнення

Розділ 4. Алгоритмічні проблеми теорії чисел
1. Введення
2. Система шифрування RSA
3. Складність теоретико-числових алгоритмів
4. Як відрізнити складову кількість від простого
5. Як будувати великі прості числа
6. Як перевірити велике числона простоту
7. Як розкладають складові числана множники
8. Дискретне логарифмування
9. Висновок

Розділ 5. Математика поділу секрету
1. Введення
2. Поділ секрету для довільних структур доступу
3. Лінійний поділ секрету
4. Ідеальний поділ секрету та матроїди

Розділ 6. Комп'ютер та криптографія
1. Замість введення
2. Трохи теорії
3. Як зашифрувати файл?
4. Повчимося на чужих помилках
5. Замість ув'язнення

Глава 7. Олімпіади з криптографії для школярів
1. Введення
2. Шифри заміни
3. Шифри перестановки
4. Багатоалфавітні шифри заміни з періодичним ключем
5. Умови завдань олімпіад з математики та криптографії
6. Вказівки та рішення

Додаток: уривок із статті К. Шеннона "Теорія зв'язку в секретних системах"

Коротка анотація книги

За заг. ред. В.В.Ященко. Авторський колектив: Ст. .Девянін, В. Г. Проскурін, А. В. Черемушкін (глава 6), П. А. Гирдимов, А. Ю. Зубов, А. В. Зязін, В. Н. Овчинников (глава 7).

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

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

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

Популярний виклад наукових основ криптографії ( мова йдетільки про "недержавну" криптографію; розділи криптографії, пов'язані з державною безпекою, повинні залишатися секретними) - ціль справжньої книги. Її можна використовувати і як навчального посібника. Російською мовою аналогічних книг поки що немає. Матеріали низки розділів публікувалися авторами раніше в інших виданнях (глава 1 - у книзі С. А. Доріченка, В. В. Ященка, "25 етюдів про шифри", М.: ТЕІС, 1994; глави 1,2,4,5 - в журналі "Математичне просвітництво", третя серія, випуск 2, М.: МЦНМО, 1998; глава 7 - в газеті "Інформатика" (тижневий додаток до газети "Перше вересня"), N 4, січень 1998). Під час підготовки даного видання ці матеріали були перероблені та доповнені. Виклад матеріалу розрахований на читача з математичним складом розуму.

В основному глави не залежать один від одного (це досягнуто за рахунок деяких повторів) та їх можна читати у довільному порядку. Главу 1 - вступну - рекомендується прочитати всім, оскільки в ній на популярному рівні роз'яснюються всі основні поняття сучасної криптографії: шифр, ключ, стійкість, електронний цифровий підпис, криптографічний протоколта ін В інших розділах частина матеріалу повторюється, але вже більш поглиблено. У розділах 2, 3, 4, 5 використовуються деякі відомості з вищої математики, відомі учням математичних класів та студентам. Глава 6 орієнтована на знавців комп'ютерних технологій. Глава 7 містить матеріали олімпіад з криптографії для школярів і тому її читання ніяких знань, які виходять межі шкільної програми, не требуется.

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

Криптографія була поставлена ​​на наукову основу завдяки роботам видатного американського вченого Клода Шеннона. Його доповідь "Математична теорія криптографії" була підготовлена ​​в секретному варіанті в 1945 р., розсекречена і опублікована в 1948 р., перекладена російською мовою в 1963 р. Оскільки "Роботи з теорії інформації та кібернетиці" (1963 р.) К. Шеннона стали бібліографічною рідкістю, ми включили додаток основну частину статті К. Шеннона "Теорія зв'язку в секретних системах". Цю основну роботу рекомендується прочитати всім, хто цікавиться криптографією.

Для професійного розуміння криптографічних алгоритмів та вміння оцінювати їх сильні та слабкі сторонипотрібна вже серйозна математична підготовка (на рівні математичних факультетів університетів). Це пояснюється тим, що сучасна криптографія заснована на глибоких результатах таких розділів математики, як теорія складності обчислень, теорія чисел, алгебра, теорія інформації та ін. Варновського Н. П., Сідельникова Ст М., Ященко Ст Ст, М.: МІФІ, 1997.

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

Розмірковуючи над завданням ТП, неважко дійти висновку, що є три можливості.
1. Створити абсолютно надійний, недоступний іншим каналам зв'язку між абонентами.
2. Використовувати загальнодоступний канал зв'язку, але приховати факт передачі інформації.
3. Використовувати загальнодоступний канал зв'язку, але передавати ним потрібну інформацію в так перетвореному вигляді, щоб відновити її міг тільки адресат.

Прокоментуємо ці три можливості.
1. За сучасного розвитку науки і техніки зробити такий канал зв'язку між віддаленими абонентами для неодноразової передачі великих обсягів інформації практично нереально.
2. Розробкою засобів та методів приховання факту передачі повідомлення займається стеганографія.

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

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

В даний час у зв'язку з широким поширенням комп'ютерів відомо багато тонких методів "заховування" інформації, що захищається всередині великих обсягів інформації, що зберігається в комп'ютері. Наочний приклад зберігання текстового файлу в графічний можна знайти в Інтернеті; він же наведений у журналі "Комп'ютерра", N48 (225) від 1 грудня 1997 р., на стор. тексти, але, взагалі кажучи, стеганографія і криптографія - принципово різні напрями в теорії та практиці захисту інформації.)

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

Шифрування (зашифрування) - процес застосування шифру до інформації, що захищається, т. Е. Перетворення інформації, що захищається (відкритого тексту) в шифроване повідомлення (шифртекст, криптограму) за допомогою певних правил, що містяться в шифрі.

Дешифрування - процес, зворотний шифрування, т. е. перетворення шифрованого повідомлення в інформацію, що захищається за допомогою певних правил, що містяться в шифрі.

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

Предмет криптографії. Що ж предмет криптографії? Для відповіді на це питання повернемося до завдання ТП, щоб уточнити ситуацію та поняття, що використовуються. Насамперед зауважимо, що це завдання виникає лише для інформації, яка потребує захисту. Зазвичай у таких випадках говорять, що інформація містить таємницю або є приватною, конфіденційною, секретною. Для найбільш типових ситуацій такого типу, що часто зустрічаються, введені навіть спеціальні поняття:
- Державна таємниця;
- військова таємниця;
- комерційна таємниця;
- юридична таємниця;
- Лікарська таємниця і т. д.

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

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

,
З 2017 року відновлюємо мобільну версію веб-сайту для мобільних телефонів (скорочений текстовий дизайн, технологія WAP) – верхня кнопка у лівому верхньому кутку веб-сторінки. Якщо у Вас немає доступу до Інтернету через персональний комп'ютерабо інтернет-термінал, Ви можете скористатися Вашим мобільним телефоном для відвідування нашого веб-сайту (скорочений дизайн) та за необхідності зберегти дані з веб-сайту на згадку про Ваш мобільний телефон. Зберігайте книги та статті на Ваш мобільний телефон (мобільний інтернет) та завантажуйте їх з Вашого телефону на комп'ютер. Зручне скачування книг через мобільний телефон (на згадку про телефон) і на Ваш комп'ютер через мобільний інтерфейс. Швидкий Інтернет без зайвих тегів, безкоштовно (за ціною послуг Інтернет) та без паролів. Матеріал наведено для ознайомлення. Прямі посилання на файли книг та статей на веб-сайті та їх продаж третіми особами заборонені.

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