Двійковий алфавіт Z2 = {0, 1



Скачати 285.88 Kb.
Дата конвертації21.05.2018
Розмір285.88 Kb.
Назва файлуКриптологія.docx

Криптологія

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

алфавіт Z33, що налічує 33 літери української абетки без додаткових символів

для апострофа, розділових знаків, цифр, великих літер;

двійковий алфавіт Z2 = {0, 1);

алфавіт Z256, що складається з символів ASCII та КОІ 8;

алфавіт Zie, що використовує 26 літер латинської абетки без додаткових сим-волів, розділових знаків, цифр, великих літер.

Для шифрування й дешифрування потрібні додатково ключ або ключі (рис. 1.1).

Алгоритм шифрування й дешифрування утворює криптосистему, або шифр. Роз-глянемо два здавна відомі шифри.

Шифр Цезаря (100-44 р. до н. є.).

Його названо за іменем римського імператора Гая Юлія Цезаря, який доручав Цицерону складати шифровані повідомлення для керування військами. Літери абетки тут ототожнені з цифрами. В системі Цезаря використано 26 символів (26 літер ла-тинської абетки), які перенумеровані числами від 0 до 25 (табл. 1.1). Шифр ґрунтується на підстановці:

00 (а) -> 03 (d); 01 (b) -> 04 (e); 02 (с) -> 05 (f);...; 25 (z) -> 02 (с).

Це означає, що в шифрограмі кожну літеру явного тексту замінюють на літеру, розташовану в абетці на три позиції далі. Висловлюючись сучасною мовою, римляни застосовували операцію додавання до номера літери числа З за модулем 26: С = Р + 3(mod 26), де С - номер літери в криптограмі, а Р - номер відповідної літери в явному тексті. Наприклад, латинському слову ітреrіит (імперія) відповідає криптогра-ма lpshulxp, а латинському тексту Veni, vidi, vici (прийшов, побачив, переміг - крилата фраза Цезаря), коли з нього викинути коми й пропуски між словами, відповідає крип-тограма yhqlylglylfl.

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

Шифр Цезаря є шифром зсуву на три позиції.

© Шифр частоколу.

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

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

Явний текст Р, зашифрований за допомогою ключа К, будемо позначати через Ек(Р) = С, а явний текст, отриманий з криптограми С за допомогою ключа К, - через DкC = P. Такі позначення передбачають, що знаємо, який ключ шифрування або де-шифрування використовують.

З огляду на використання ключів розрізняють два методи шифрування: метод, що використовує симетричні алгоритми, та метод, що використовує асиметричні алгоритмами.

Симетричні алгоритми - це алгоритми, де ключ для шифрування та ключ для де-шифрування є одним і тим самим (рис. 1.2).

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

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

Головне припущення криптоаналізу, вперше сформульоване в XIX ст. Дутчманом А.Керкхофсом [6], полягає в тому, що безпека шифру повністю визначена ключем. Керкхофс припустив, що в криптоаналітика є повний опис алгоритму і його реалізації (звичайно ж, ЦРУ не має звички повідомляти Моссад про свої криптографічні алго-ритми, але Моссад намагатиметься все одно їх роздобути). Хоча в реальному світі криптоаналітики не завжди мають відповідну детальну інформацію, таке припущення є доб-рою гіпотезою. Якщо супротивник не зможе зламати алгоритм, навіть знаючи те, як він працює, то тим більше цей зловмисник не зможе розкрити алгоритм без цієї інформації.

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

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

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

Атака, що оперує тільки відомими криптограмами (атака типу ciphertext only). Зловмисник має лише криптотекст Ек(Р) або певну кількість криптотекстів Ек(Р1),..., Ек(Р1), зашифрованих тим самим ключем, але не має інформації про відповідні їм явні тексти.

Атака з відомим явним текстом (атака типу known plaintext). Крім ЕК(Р), певні пари Eк(P1) і Р1,..., Ек(Р1) і Р1 є відомими, та ці пари не можуть бути вибрані зловмисником.

Атака з вибраним явним текстом (атака типу chosen plaintext). Зловмисник має криптограму ЕК(Р) для довільно вибраного явного тексту Р. Атака такого типу можлива, коли є змога шифрувати за допомогою криптографічного при-строю, проте ключ К невідомий.

Атака з вибраною криптограмою (атака типу chosen ciphertext). Зловмисник може отримати явні тексти Dк (C1),..., DK(C1) для довільно вибраних крипто-грам С1,..., С1. Така ситуація виникає, коли зловмисник має змогу дешифрувати за допомогою криптографічного пристрою, проте не має ключа.

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

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

Ларс Кнудсен розрізняє розкриття алгоритмів шифрування за такими катего-ріями, наведеними в порядку зменшення їхньої важливості.

Повне розкриття. Криптоаналітик отримав такий ключ К, що Dк(С) = P.

Глобальна дедукція. Криптоаналітик отримав альтернативний алгоритм, що дає змогу відтворити Dк( C), не знаючи ключа К.

Часткова (локальна) дедукція. Криптоаналітик отримав відкритий текст для певного перехопленого криптотексту.

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

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

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

складністю даних - обсягом даних, які використовують на вході операції розкриття;

складністю опрацювання - часом, потрібним для зламування;

вимогами до пам'яті - обсягом пам'яті, необхідної для зламування.

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

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

Застосування шифрувань

Захист даних від несанкціонованого доступу

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

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

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

Підписування документів

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

за допомогою публічного ключа абонента В будь-яка особа може відтворити оригінальний текст;

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

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

Захист таємниці електронної пошти

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

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

Абонент А бере публічний ключ абонента В.

Абонент А шифрує текст свого листа до абонента В за допомогою його пуб-лічного ключа й надсилає зашифрований лист електронною поштою.

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

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

Електронний нотаріус

До нотаріуса звертаємось у двох важливих ситуаціях:

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

коли хочемо гарантувати, що у певному документі, наприклад у торговій уго-ді, недобросовісний партнер не зробив змін.

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

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

для кожного тексту X легко обчислити Н(Х);

Н(Х) має однакову довжину для всіх текстів X (тому довжина Н(Х) не дає жодної інформації про текст X);

практично неможливо для заданого У знайти таке X, що Н(Х) = Y.

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

З метою „нотаріального" підтвердження власності на документ X потрібно об-числити значення функції Н(Х) і опублікувати або розмістити його в нотаріуса. У цьому разі роль нотаріуса може відігравати спеціальна мережева програма. Пізніше, коли треба довести власність на документ X, достатньо навести X і зазначити місце, де раніше помістили значення Н(Х). Підтвердження полягає в обчисленні значення Н(Х) для наведеного тексту X і порівнянні його із попередньо опублікованим або депонова-ним у нотаріуса.

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

Історія криптографії

Історія криптографії пов'язана з великою кількістю дипломатичних та військових таємниць і тому оповита туманом легенд. Свій слід в історії криптографії залишило багато відомих історичних осіб. Найповніша книга з історії криптографії містить понад тисячу сторінок. Вона опублікована 1967 р. і українською мовою не перекладена (Kahn David. The Story of Secret Writing. New York: Macmillan, 1967).

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

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

Криптоаналіз уперше застосували арабські дослідники. Опис частотного аналізу є в їхніх писемних джерелах початку XV ст.

На початку XVI ст. був запропонований шифр Play-fair (чесна гра; або в іншій модифікації - шифр чотирьох квадратів). Відомий математик Кардано, автор формули для розв'язування кубічного рівняння, запропонував один із варіантів шифру переста-новки. Гомоморфний шифр заміни створив видатний німецький математик Карл Фрідріх Гаусе.

Французький криптограф XVI ст. Блез де Віженер запропонував шифр заміни, який кілька століть уважали надійним. Як одиниці явного тексту він вибрав блоки, скла-дені з k літер. Потім пересував кожний блок на певне "кодове слово" довжини к. Лише в 60-х роках XIX ст. офіцер прусського війська Касискі виявив, що цей шифр можна час-тотно аналізувати.

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

У 1917 р. інженери Г.Вернам та М. Моборн із фірми AT&T винайшли шифр одно-разового блокнота для застосування в телетайпному зв'язку. Цей шифр можна вважати узагальненням шифру Віженера на випадок, коли довжина ключа збігається з довжиною тексту. Шифр одноразового блокнота абсолютно надійний, і лише деякі обставини зву-жують сферу його застосування. Зокрема, застосування цього шифру передбачає вико-ристання безпечного каналу зв'язку для обміну довгими ключами шифрування. Назва шифру походить від того, що агент, який виконував шифрування вручну, отримував копії своїх ключів, записані на окремих сторінках блокнота. Як тільки ключ використа-но, сторінку з ним відразу ж знищували. Саме шифр одноразового блокнота застосову-вали для захисту від підслуховування гарячої лінії зв'язку, встановленої під час холод-ної війни між Вашингтоном і Москвою.

Попередником сучасних шифрувальних пристроїв була роторна машина, винай-дена 1917 р. Едвардом Хепберном з Окленда, Каліфорнія. На цих машинах ґрунтувалась уся військова криптографія упродовж майже 50 років. Базовими елементами роторної машини є сам ротор та механічне колесо, що слугує для виконання операції підстановки.

У початковому варіанті роторна машина мала клавіатуру та чотири колеса, що оберталися на одній осі. На кожному колесі з лівого й правого боку було по 25 елект-ричних контактних майданчиків, що відповідали 25 символам латинської абетки (літери J та.J ототожнені). Контактні майданчики лівого й правого боку були в певному порядку попарно з'єднані всередині колеса 25 комутаційними провідниками. Наприклад, ротор могли використовувати для заміни А на L, В на U, С на Z і так далі. Під час руху колеса складалися разом, і їхні контакти, доторкаючись один до одного, забезпечували про-ходження електричних імпульсів через усі чотири колеса. Наприклад, у чотири роторній машині перший ротор міг замінювати А на L, другий - L на V, третій - V на D і четвертий - D на S. Літера S була остаточним символом шифротексту (рис. 1.4).

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

Отже, для дешифрування повідомлення треба було знати внутрішні з'єднання в кожному колесі (статична ключова інформація) і ключ шифрування (динамічна ключова інформація). Конструкція роторної машини виявилась дуже вдалою в сенсі стійкості до криптоаналізу вручну. Знаючи внутрішні з'єднання в колесах, для зламування шифру необхідно перебрати 254 = 390 625 можливих варіантів з метою відтворення ключа шифрування, а коли ще й внутрішні з'єднання невідомі, то 258 = 1,51011 варіантів.

Надалі шифрувальні роторні машини розвивалися в напрямі збільшення кількості коліс та розширення використовуваного алфавіту. Шифрування на базі роторних машин реалізувало багаторазову композицію шифрів Віженера.

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

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

Становлення криптографії як науки відбулося багато в чому завдяки працям видатного американського вченого Клода Шеннона. У 1949 р. в журналі Bell System Technical Journal надруковано статтю "Теорія зв'язку секретних систем" ("The Com-munication Theory of Secrecy Systems"), яка була результатом досліджень Шеннона під час другої світової війни. Матеріал, викладений у цій статті, первісно був змістом таємної доповіді "Математична теорія криптографії", яку датували 1945 р. Після війни статтю розсекретили. і

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

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

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

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

Справжня революція з погляду розвитку криптографії сталася в 70-х роках (1976), коли Діффі й Хелман винайшли нову систему шифрування, що ґрунтується на публічних ключах, тобто з відкриттям асиметричних шифрувальних алгоритмів. Якщо раніше ключ, за допомогою якого виконували шифрування, збігався з ключем для роз-шифровування (тобто це був практично один і той самий ключ), то тепер ситуація змі-нилася. Для шифрування інформації використовують один ключ, який є доступним для всіх, хто бажає переслати повідомлення (публічний ключ). Водночас для розшифруван-ня повідомлення використовують інший ключ, відмінний від першого, який доступний лише тому, кому призначене повідомлення (приватний ключ). Отже, попереднє поняття єдиного ключа в симетричних системах шифрування було замінене на поняття пари ключів (публічний ключ-приватний ключ) в асиметричних системах шифрування. З поняттям асиметричної системи тісно пов'язане поняття односторонньої функ-ції та односторонньої функції з секретом. Це функції, прямі значення яких легко об-числити, а обчислення значень оберненої функції без знання певного числа (секрету) є важкою обчислювальною задачею. Конкретні односторонні функції збудовані Діффі й Хелманом (дискретний логарифм у скінченому полі); Райвестом, Шаміром та Адлеманом (піднесення до степеня за модулем певного цілого числа); Ель-Гамалем (підне-сення до квадрата за модулем цілого числа); Бен-Ціоном і Хором (задача про "запов-нення рюкзака"); Кобліцом і Міллером (додавання координат точок еліптичних кривих). На підставі цих односторонніх функцій збудовано різноманітні асиметричні крипто-графічні системи.

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

Законодавство України в галузі криптографії

Відповідальність користувачів за правопорушення під час роботи з конфіденцій-ною інформацією в комп'ютерних системах у розвинутих країнах (США, Великобри-танія, Франція, Німеччина, Японія, Канада) законодавчо регламентоване років 15 тому. Українське законодавство в цій галузі помітно слабкіше. Це пояснюють загальним від-ставанням України у використанні комп'ютерної техніки широкими верствами населен-ня. Зокрема, в Україні досі не затверджено ні стандарту шифрування даних, ні стан-дарту електронного цифрового підпису, які досить давно діють у розвинутих країнах. Лише в спадок від колишнього СРСР Україні залишився досить слабенький з погляду сьогодення стандарт шифрування ГОСТ 28147-89.

Законодавство України в галузі криптографії [6, 8] має такі законодавчі акти.*

Закон "Про інформацію" від 02.10.1992 р.

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

Закон "Про державну таємницю" від 21.01.1994 р.

У цьому законі регламентовано інформаційні відносини, пов'язані з доступом до державної секретної інформації.

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

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

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

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

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

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

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

У розвинутих країнах світу захист комерційної таємниці ґрунтується на відповід-ній правовій базі.

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

Закон "Про захист інформації в автоматизованих системах" від 05.07.1994 р.

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

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

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

Положення "Про технічний захист інформації в Україні" (затверджене

Указом Президента України від 27.09.1999 p.).

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

Положення "Про порядок здійснення криптографічного захисту інформації в

Україні" (затверджене Указом Президента України від 22.05.1998 р., зміни

внесені Указами від 15.09.1998 р. та 27.09.1999 p.).

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

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

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

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

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

Стаття 57. Шпіонаж:.

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

Стаття 67. Розголошення державної таємниці.

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

Стаття 68-1. Передача іноземним організаціям відомостей, які становлять

службову таємницю.

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

Стаття 198-1. Порушення роботи автоматизованих систем.

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

Класичні техніки шифрування

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

Підстановки

Абетка в'язниці.

Шифр дає змогу шляхом перестукування спілкуватися в’язням із різних камер. Для шифрування й дешифрування використовують ключ у вигляді квадрата (табл. 1.3), у який вписано літери абетки, наприклад, української (33 літери та знаки " . " (крапка), " , " (кома), " ' "(апостроф) - усього 36 клітинок). Кожну літеру або знак відкритого тексту замінюють парою цифр - номером рядка й номером стовпця в табл. 1.3, на перетині яких міститься цей символ.

Наприклад, для тексту "хто тут" криптограма виглядає так: 52 45 41 45 46 45.

В'язні вистукують кожну цифру криптограми, роблячи паузи між окремими цифра-ми: ***** ** **** ***** **** * **** ***** **** ****** **** *****

Шифр пар.

Ключем є фраза, яка містить половину літер абетки. У випадку української абет-ки можна заміняти в текстах літеру "ї", яка зрідка трапляється, на літеру "і". Тоді ви-користовують 32 літери. Ключова фраза повинна мати 16 різних літер (але може бути довшою, ніж 16 літер, тобто деякі літери можуть повторюватися). Шифрування вико-нують так. Передусім послідовно записують різні літери, що є в ключі, у першому рядку. Під ним вписують послідовні літери абетки, пропускаючи вже наявні в ключі. Таким способом отримують відповідні пари літер.

Нехай ключем буде фраза Реве та стогне Дніпр широкий:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

р е в т а с о г н д і п ш и к й

б г є ж з л м у ф х ц ч щ ь ю я

Тоді пари літер української абетки будуть такі:

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

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

Явний текст зустріч відмінено в цьому разі переходить у криптограму аглжбцпецхоцфгфм.

Шифр Play-fair.

Цей шифр початково розроблено для латинської абетки. Зрідка вживану в текстах літеру J замінено на літеру І; всі розділові знаки відкинемо. Ключем є чотири квадрати розміру 5 х 5, у які вписані окремо всі літери абетки в певній послідовності. Шифр Play-fair є прикладом системи, у якій використовують блоки літер довжиною два. Це усклад-нює відгадування ключа.

Припустимо, для прикладу, що хочемо зашифрувати пару CR за допомогою та-кого ключа:

Літери С і R визначають прямокутник, у двох інших вершинах якого є літери М і О. За правилом шифрування CR заміняємо на МО, а слово CRYPTOGRAPHY переходить у MOPWTIOMFXNS.

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

Шифр Віженера.

Для явного тексту й криптограми використовують той самий алфавіт. У цьому разі функція підстановки (пересування) означає таке. Нехай х і у - дві літери з абетки (не обов'язково латинської). Тоді х+у є результатом зсуву літери х праворуч в абетці на кількість позицій, яка відповідає номеру літери у в абетці. Нумерація літер починається від нуля. Для української мови маємо: а+а = а, б+а = б, б+в = г і т.д. Цю операцію відображає таблиця Віженера (табл. 1.4).

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

у п а р о з п о ч н е н а с т у п ч е р е з д в а д н і

ш у х е в и ч ш у х е в и ч ш у х е в и ч ш у х е в и ч

о з х ц р п й й н з ї п и л н й і а ж ь а ґ ш ч е є ч д

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

Така система шифрування (за малих довжин ключа), як і система Play-fair, гаран-тує лише дуже невеликий рівень безпеки. Слабкістю шифрів, які ґрунтуються на підстановках, є те, що їх можна зламати за допомогою аналізу частоти появлення літер або блоків літер абетки. Аналіз цих частот у зашифрованих текстах дає змогу здогадатися про деякі значення заміни. Наприклад, частоти появлення літер у текстах в українській мові наведено в табл.1.5, а в англійській-у табл. 1.6 [1].

Для кожної мови частота літер визначена кількістю появлення літери у достатньо довгому тексті, поділеною на загальну кількість літер у тексті. Наприклад, частота літери а в тексті садок вишневий коло хати становить 2/24 (з урахуванням пропуску між словами як окремого символу). Подібні таблиці можна отримати й для двох літер або для певних блоків літер.

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

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

S-блоки.

S-блоки (від англ. терміна substitution box - блок підстановки) є компонентами алгоритму DES (Data Encryption Standard - стандарт шифрування даних). Кожен S-блок означений матрицею розміру 4 х 16, рядки якої містять числа в межах від 0 до 15. На-приклад, S-блок з назвою S1 має вигляд, наведений у табл. 1.7.

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

перший і останній біти аргументу х утворюють у двійковій системі число, яке визначає номер рядка (рядки нумерують від 0 до 3);

решта 4 біти аргументу х визначають номер стовпця (стовпці нумерують від 0 до 15);

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

Наприклад, для аргументу 110110 (рядок 2, стовпець 11), отримуємо результат 7.

На практиці використовують S-блоки з назвами SI, S2,...,S8.

За допомогою S-блоків можна реалізувати ефект лавини - зміна окремого біта в явному тексті призводить до лавини змін у криптограмі. Оскільки S-блоки застосо-вують до бітів (х1, х2, хЗ, х4, х5, х6), то зміна х1 або х6 зумовлює зміну номера рядка, а рядки не відповідають один одному. Подібне явище маємо й щодо стовпців. Коли S-блоки застосовують багаторазово, тоді ефект лавини посилюється.

Властивості, що їх повинні задовольняти S-блоки, такі:

кожний рядок S-блока використовує всі цілі числа від 0 до 15. Ця властивість гарантує, що знання лише рядка не дає жодної інформації про остаточне зна-чення;

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

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

Перестановки

Нехай відображення р : У ---> У є перестановкою, а У - множиною використову-ваних літер. Явний текст at,a2,.--,an (aj є У ) шифрують як послідовність р(а1) р(а2)... р(аn)

У цьому випадку криптограму розшифровують як послідовність р-1(а1) р-1(а2)... р-1(аn)

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

Матричний шифр.

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

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

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

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

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

Розділимо криптограму на блоки довжини 4 і запишемо у вигляді

Криптоаналіз полягає в перестановці стовпців і ґрунтується на тому факті, що деякі пари літер практично не трапляються в українській мові. Бачимо, що не можуть бути поряд: стовпці 1 і 4 (бо опиняться поряд літери i та у), 1 і 3 (и та о), 2 і 4 (ї та ц). Отримуємо два можливі варіанти розташування стовпців: (1,2,3,4), що відповідає зашифрованому тексту, та (4, 3, 2, 1).

Останній варіант дає нам явний текст укріпіть позиції з тилу.

Шифр ADFGVX (шифр першої світової війни).

У шифрі використовують комбінацію двох способів шифрування: підстановку й перестановку. Спочатку виконують таку підстановку. Кожну літеру латинської абетки або цифру від 0 до 9 шифровано блоками довжини 2, які складаються з літер A, D, F, G, V і X на підставі таблиці розміру 6x6 (табл. 1.8).

Потім до отриманого криптотексту застосовують шифр перестановки - матрич-ний шифр з ключем.

Припустимо, для прикладу, що хочемо зашифрувати текст DON'T PUT IT OFF TILL TOMORROW (HE ВІДКЛАДАЙТЕ ЦЕ ДО ЗАВТРА). Із табл. 1.8 отримуємо

FXADFAXGVAGXXGGFXGADAVAVXGGFFFFFXGADDAADVXVXADFD.

Отримуємо криптограму



XGGDGFAXDAFVFGDDFGXAFAVFFXXAXFDVAXGVFDXDAVGAGXAA.

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

Поділіться з Вашими друзьями:


База даних захищена авторським правом ©refua.in.ua 2017
звернутися до адміністрації

    Головна сторінка
Контрольна робота
навчальної дисципліни
Методичні вказівки
Лабораторна робота
Методичні рекомендації
Загальна характеристика
курсової роботи
використаної літератури
охорони праці
Курсова робота
Список використаної
курсу групи
Зміст вступ
Виконав студент
Пояснювальна записка
Виконала студентка
Історія розвитку
Міністерство освіти
форми навчання
навчальних закладів
самостійної роботи
Теоретичні основи
навчальний заклад
Робоча програма
діяльності підприємства
Практичне заняття
молодших школярів
роботи студентів
Самостійна робота
вищої освіти
використаних джерел
студентка курсу
студент групи
загальноосвітніх навчальних
інтелектуальної власності
виконання курсової
студентів спеціальності
Курсовая работа
Загальні відомості
світової війни
охорони здоров
Історія виникнення
Конспект лекцій
студентка групи
Практична робота
навчального закладу
контрольної роботи
Теоретичні аспекти
Список літератури
напряму підготовки
внутрішніх справ