Методи шифрування даних – блог веб-програміста. Криптографія та основні способи шифрування інформації

Тема: "Криптографія. Шифри, їх види та властивості"


Вступ

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

2. Шифри, їх види та властивості

Висновок

Список літератури


Вступ

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

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

Метою даної є знайомство з криптографією; шифрами, їх видами та властивостями.

Ознайомитись із криптографією

Розглянути шифри, їх види та властивості


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

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

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

Автентичність інформації полягає у справжності авторства та цілісності.

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

Алфавіт - кінцева множина використовуваних для кодування інформації знаків.

Текст - впорядкований набір елементів алфавіту. Як приклади алфавітів можна навести такі:

алфавіт Z 33 - 32 літери російського алфавіту (виключаючи "е") та пробіл;

алфавіт Z 256 - символи, що входять до стандартних кодів ASCII та КОІ-8;

двійковий алфавіт – Z 2 = (0, 1);

вісімковий або шістнадцятковий алфавіт

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

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

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

Простір ключів K – це набір можливих значень ключа.

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

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

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

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

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

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

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

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

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

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

2. Етап формальної криптографії (кінець XV - початок XX ст) пов'язаний з появою формалізованих і відносно стійких до ручного криптоаналізу шифрів. У європейських країнах це сталося в епоху Відродження, коли розвиток науки та торгівлі викликав попит на надійні засоби захисту інформації. Важлива роль цьому етапі належить Леону Батісте Альберті, італійському архітектору, який одним із перших запропонував багатоалфавітну підстановку. Цей шифр, який отримав ім'я дипломата XVI ст. Блеза Віжінера, полягав у послідовному "складанні" букв вихідного тексту з ключем (процедуру можна полегшити за допомогою спеціальної таблиці). Його робота "Трактат про шифр" вважається першою науковою роботою з криптології. Однією з перших друкованих праць, у якій узагальнено та сформульовано відомі на той момент алгоритми шифрування, є праця "Поліграфія" німецького абата Йоганна Трисемуса. Йому належать два невеликі, але важливі відкриття: спосіб заповнення полібіанського квадрата (перші позиції заповнюються за допомогою легко запам'ятовуваного ключового слова, решта - літерами алфавіту, що залишилися) і шифрування пар літер (біграм). Простим, але стійким способом багатоалфавітної заміни (підстановки біграм) є шифр Плейфера, який було відкрито на початку ХІХ ст. Чарльзом Вітстоном. Вітстон належить і важливе вдосконалення - шифрування "подвійним квадратом". Шифри Плейфера і Уітстона використовувалися до першої світової війни, оскільки важко піддавалися ручному криптоаналізу. У ХІХ ст. голландець Керкхофф сформулював головну вимогу до криптографічних систем, яка залишається актуальною і донині: секретність шифрів має бути заснована на секретності ключа, але не алгоритму.

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

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

Практичне поширення роторні машини набули лише на початку XX ст. Однією з перших машин, що практично використовуються, стала німецька Enigma, розроблена в 1917 р. Едвардом Хеберном і вдосконалена Артуром Кірхом. Роторні машини активно використовувалися під час Другої світової війни. Крім німецької машини Enigma використовувалися також пристрої Sigaba (США), Турех (Великобританія), Red, Orange та Purple (Японія). Роторні системи - вершина формальної криптографії, оскільки щодо просто реалізовували дуже стійкі шифри. Успішні криптоатаки на роторні системи стали можливі лише з появою ЕОМ на початку 40-х років.

3. Головна відмінність наукової криптографії (1930 - 60-ті рр.) - поява криптосистем із суворим математичним обгрунтуванням криптостойкости. На початку 30-х років. остаточно сформувалися розділи математики, що є науковою основою криптології: теорія ймовірностей та математична статистика, загальна алгебра, теорія чисел, почали активно розвиватись теорія алгоритмів, теорія інформації, кібернетика. Своєрідним вододілом стала робота Клода Шеннона "Теорія зв'язку в секретних системах", яка підвела наукову базу під криптографію та криптоаналіз. З цього часу почали говорити про криптологію (від грецького криптос - таємний і logos - повідомлення) - науку про перетворення інформації для забезпечення її секретності. Етап розвитку криптографії та криптоаналізу до 1949 р. стали називати донауковою криптологією.

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

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

Першим класом криптосистем, практичне застосування яких стало можливим з появою потужних і компактних обчислювальних засобів, стали блокові шифри. У 70-ті роки. було розроблено американський стандарт шифрування DES. Один з його авторів Хорст Фейстель описав модель блокових шифрів, на основі якої були побудовані інші, більш стійкі симетричні криптосистеми, у тому числі вітчизняний стандарт шифрування ГОСТ 28147-89.

З появою DES збагатився і криптоаналіз, для атак на американський алгоритм було створено кілька нових видів криптоаналізу (лінійний, диференціальний і т.д.), практична реалізація яких знову ж таки була можлива лише з появою потужних обчислювальних систем. У середині 70-х років. ХХ століття відбувся справжній прорив у сучасній криптографії – поява асиметричних криптосистем, які не вимагали передачі секретного ключа між сторонами. Тут відправною точкою прийнято вважати роботу, опубліковану Вітфілдом Діффі та Мартіном Хеллманом у 1976 р. під назвою "Нові напрямки в сучасній криптографії". У ній уперше сформульовано принципи обміну шифрованою інформацією без обміну секретним ключем. Незалежно від ідеї асиметричних криптосистем підійшов Ральф Мерклі. Декількома роками пізніше Рон Рівест, Аді Шамір і Леонард Адлеман відкрили систему RSA, першу практичну асиметричну криптосистему, стійкість якої була заснована на проблемі факторизації великих простих чисел. Асиметрична криптографія відкрила відразу кілька нових прикладних напрямів, зокрема системи електронного цифрового підпису (ЕЦП) та електронних грошей.

У 1980-90-ті роки. з'явилися нові напрями криптографії: ймовірнісне шифрування, квантова криптографія та інші. Усвідомлення їхньої практичної цінності ще попереду. Актуальним залишається завдання вдосконалення симетричних криптосистем. У цей період були розроблені нефейстелевские шифри (SAFER, RC6 та інших.), а 2000 р. після відкритого міжнародного конкурсу було прийнято новий національний стандарт шифрування США - AES.

Таким чином, ми дізналися наступне:

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

Криптоаналіз - наука (і практика її застосування) про методи та способи розкриття шифрів.

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


2. Шифри, їх види та властивості

У криптографії криптографічні системи (або шифри) класифікуються так:

симетричні криптосистеми

асиметричні криптосистеми

2.1 Симетричні криптографічні системи

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

I. Моно - та багатоалфавітні підстановки.

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

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


Вихідні символи тексту, що шифрується. а б в г д е ж з і до л м н про п р з т у ф
Замінні символи s р x l r z i m a y e d w t b g v n j o

Використовуючи цю таблицю, зашифруємо слово «перемога». Отримаємо таке: btpzrs

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

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

НЕХАЙ БУДЕ ТАК, ЯК МИ ХОТІЛИ

вийде такий шифротекст:

ЛІТО ХИМКА ККАТТ ЄДУБЪ ТСУП

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

ОІЛЕТ ОХИМК АККАТ ТЕДУБ ЬТСУП

ІІІ. Блокові шифри – сімейство оборотних перетворень блоків (частин фіксованої довжини) вихідного тексту. Фактично блоковий шифр – це система підстановки на алфавіті блоків. Вона може бути моно- або багатоалфавітною залежно від режиму блокового шифру. Інакше висловлюючись, при блочному шифруванні інформація розбивається на блоки фіксованої довжини і шифрується поблочно. Блокові шифри бувають двох основних видів: шифри перестановки (transposition, permutation, P-блоки) та шифри заміни (підстановки, substitution, S-блоки). Нині блокові шифри найпоширеніші практично.

Американський стандарт криптографічного закриття даних DES (Data Encryption Standard), прийнятий у 1978 р., є типовим представником сімейства блокових шифрів та одним із найбільш поширених криптографічних стандартів на шифрування даних, що застосовуються у США. Цей шифр допускає ефективну апаратну та програмну реалізацію, причому можливе досягнення швидкостей шифрування до кількох мегабайт на секунду. Спочатку метод, що лежить в основі цього стандарту, був розроблений фірмою IBM для своїх цілей. Він був перевірений Агентством Національної Безпеки США, яке не виявило в ньому статистичних чи математичних вад.

DES має блоки по 64 біт і заснований на 16-кратної перестановки даних, також для шифрування використовує ключ 56 біт. Існує кілька режимів DES: Electronic Code Book (ECB) та Cipher Block Chaining (CBC). 56 біт – це 8 семибітових символів, тобто. пароль не може бути більшим ніж вісім літер. Якщо також використовувати тільки літери і цифри, то кількість можливих варіантів буде істотно меншою за максимально можливі 2 56 . Однак даний алгоритм, будучи першим досвідом стандарту шифрування, має ряд недоліків. За час, що минув після створення DES, комп'ютерна техніка розвинулася настільки швидко, що виявилося можливим здійснювати вичерпний перебір ключів і тим самим розкривати шифр. У 1998 р. була побудована машина, здатна відновити ключ за середній час у три доби. Таким чином, DES, при його використанні стандартним чином, вже став далеко не оптимальним вибором для задоволення вимог скритності даних. Пізніше стали з'являтися модифікації DESa, однією з яких є Triple Des ("потрійний DES" - оскільки тричі шифрує інформацію звичайним DES). Він вільний від основного недоліку колишнього варіанту - короткого ключа: він тут вдвічі довший. Зате, як виявилося, Triple DES успадкував інші слабкі сторони свого попередника: відсутність можливості для паралельних обчислень при шифруванні та низьку швидкість.

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

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

2.2 Асиметричні криптографічні системи

Ще одним великим класом криптографічних систем є звані асиметричні чи двухключевые системи. Ці системи характеризуються тим, що для шифрування і розшифрування використовуються різні ключі, пов'язані між собою деякою залежністю. Застосування таких шифрів стало можливим завдяки К. Шеннону, який запропонував будувати шифр таким способом, щоб його розкриття було еквівалентне вирішення математичної задачі, що вимагає виконання обсягів обчислень, що перевершують можливості сучасних ЕОМ (наприклад, операції з великими простими числами та їх творами). Один із ключів (наприклад, ключ шифрування) може бути зроблений загальнодоступним, і в цьому випадку проблема отримання загального секретного ключа зв'язку відпадає. Якщо зробити загальнодоступним ключ розшифрування, то на базі отриманої системи можна побудувати систему автентифікації повідомлень, що передаються. Оскільки в більшості випадків один ключ із пари стає загальнодоступним, такі системи отримали назву криптосистем з відкритим ключем. Перший ключ не секретний і може бути опублікований для використання всіма користувачами системи, які зашифровують дані. Розшифрування даних за допомогою відомого ключа неможливе. Для розшифрування даних одержувач зашифрованої інформації використовує другий ключ, секретний. Зрозуміло, що ключ розшифрування не може бути визначений із ключа зашифрування.

Центральним поняттям у асиметричних криптографічних системах є поняття односторонньої функції.

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

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

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

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

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

Наприклад виберемо два дуже великих простих числа (великі вихідні числа необхідних побудови великих криптостойких ключів). Визначимо параметр n як наслідок перемноження р і q. Виберемо велике випадкове число і назвемо його d, причому воно має бути взаємно простим з результатом множення (р – 1) * (q – 1). Знайдемо таке число e, для якого вірне співвідношення:

(e * d) mod ((р - 1) * (q - 1)) = 1

(mod - залишок від розподілу, тобто. якщо e, помножене на d, поділити на ((р - 1) * (q - 1)), то в залишку отримаємо 1).

Відкритим ключем є пара чисел e та n, а закритим - d та n. При шифруванні вихідний текст розглядається як числовий ряд, і над кожним його числом ми здійснюємо операцію:

C(i) = (M(i) e) mod n

В результаті виходить послідовність C(i), яка і складе криптотекст.д.екодування інформації відбувається за формулою

M(i) = (C(i) d) mod n

Як бачите, розшифровка передбачає знання секретного ключа.

Спробуємо на невеликих числах. Встановимо р = 3, q ​​= 7. Тоді n=р*q=21. Вибираємо d як 5. З формули (e * 5) mod 12 = 1 обчислюємо e = 17. Відкритий ключ 17, 21, секретний – 5, 21.

Зашифруємо послідовність "2345":

C (2) = 2 17 mod 21 = 11

C (3) = 3 17 mod 21 = 12

C (4) = 4 17 mod 21 = 16

C (5) = 5 17 mod 21 = 17

Криптотекст – 11 12 16 17.

Перевіримо розшифровкою:

M (2) = 11 5 mod 21 = 2

M (3) = 12 5 mod 21 = 3

M (4) = 16 5 mod 21 = 4

M (5) = 17 5 mod 21 = 5

Як бачимо, результат збігся.

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

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


Висновок

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

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


Список літератури

1. Златопольський Д.М. Найпростіші методи шифрування тексту. / Д.М. Златопольський – М.: Чисті ставки, 2007

2. Молдовян А. Криптографія. /А. Молдов'ян, Н.А. Молдов'ян, Б.Я. Порад - СПб: Лань, 2001

3. Яковлєв А.В., Безбогів А.А., Родін В.В., Шамкін В.М. Криптографічний захист інформації. /Навчальний посібник – Тамбов: Вид-во Тамб. держ. техн. ун-ту, 2006

4. http://ua. wikipedia.org

5. http://cryptoblog.ru

6. http://Stfw.ru

7. http://www.contrterror. tsure.ru


Молдовян А. Криптографія./А. Молдовян, Н. А. Молдовян, Б. Я. Рад - СПб: Лань, 2001

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

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

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

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

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

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


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

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

Число варіантів подвійної перестановки швидко зростає зі збільшенням розміру таблиці: для таблиці 3×3 - 36 варіантів, для таблиці 4×4 - 576 варіантів, для таблиці 5×5 - 14400 варіантів. Однак подвійна перестановка не відрізняється високою стійкістю і порівняно просто "зламується" за будь-якого розміру таблиці шифрування.

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

Система шифрування Цезаря . Шифр Цезаря є окремим випадком шифру простої заміни (одноалфавітної підстановки). Свою назву цей шифр отримав на ім'я римського імператора Гая Юлія Цезаря, який використовував цей шифр під час листування.

При шифруванні вихідного тексту кожна літера замінювалася іншою літерою тієї ж алфавіту за наступним правилом. Замінювальна літера визначалася шляхом зміщення за абеткою mвід вихідної літери на kлітер. При досягненні кінця алфавіту виконувався циклічний перехід до його початку. Цезар використовував латинську абетку m= 26 та шифр заміни при зміщенні k= 3. Такий шифр заміни можна встановити таблицею підстановок, що містить відповідні пари букв відкритого тексту та шифротексту. Сукупність можливих підстановок для k= 3 показано у таблиці 6.1.

Таблиця 6.1 – одноалфавітні підстановки (k = 3, m = 26)

Система шифрування Цезаря утворює, по суті, сімейство одноалфавітних підстановок для значень ключа, що вибираються. k, причому 0 £ k < m. Перевагою системи шифрування Цезаря є простота шифрування та розшифрування.

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

Підстановки, які виконуються відповідно до системи Цезаря, не маскують частот появи різних букв вихідного відкритого тексту;

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

Число можливих ключів k мало;

Шифр Цезаря легко розкривається з урахуванням аналізу частот появи літер у шифротексті.

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

Афінна система підстановок Цезаря.У цьому перетворенні літера, що відповідає числу t, замінюється на букву, що відповідає числовому значенню ( at + b) за модулем m. Таке перетворення є взаємно однозначним відображенням на алфавіті тоді і тільки тоді, коли НОД ( a, m) - найбільший загальний дільник чисел a і m дорівнює одиниці, тобто. якщо a і m – взаємно прості числа.

Достоїнством афінної системи є зручне управління ключами: ключі шифрування та дешифрування видаються у компактній формі у вигляді пари чисел ( a, b). Недоліки афінної системи подібні до недоліків системи шифрування Цезаря. Насправді афінна система використовувалася кілька століть тому.

Шифри складної заміни . Шифри складної заміни називають багатоалфавітними, тому що для шифрування кожного символу вихідного повідомлення застосовують свій шифр простої заміни. Багатоалфавітна підстановка послідовно і циклічно змінює алфавіти, що використовуються. При r-алфавіту символ підстановки x 0 вихідного повідомлення замінюється символом y 0 із алфавіту B 0 , символ x 1 - символом y 1 з алфавіту B 1 і т. д.; символ x r-1 замінюється символом y r-1 з алфавіту B r-1 , символ x rзамінюється символом y rзнову з алфавіту B 0 , і т.д.

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

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

Вона має два входи:

Верхній рядок підкреслених символів, що використовується для читання чергової літери вихідного відкритого тексту;

Крайній лівий стовпець ключа.

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

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

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

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

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

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

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

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

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

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

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

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

Основні алгоритми шифрування

Основні поняття та визначення

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

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

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

Сучасна криптографія включає 4 основні розділи:

1. Симетричні криптосистеми.

2. Криптосистеми із відкритим ключем.

3. Системи електронного підпису.

4. Управління ключами.

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

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

Алфавіт- Кінцева множина використовуваних для кодування інформації знаків. Приклади:

ü алфавіт Z33 – містить 32 літери російського алфавіту та пробіл;

ü алфавіт Z256 – символи, що входять до стандартних кодів ASCII та КОІ-8;

ü бінарний алфавіт Z2 – два символи (0 та 1);

ü вісімковий або шістнадцятковий алфавіти.

Текст– впорядкований набір елементів алфавіту.

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

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

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

Криптографічна системає сімейством Т [Т 1 , Т 2 , …, Т к ] перетворень відкритого тексту. Члени цього сімейства індексуються або позначаються символом до; параметр доє ключем. Простір ключів – це набір можливих значень ключа. Зазвичай ключ є послідовним рядом знаків алфавіту.

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

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

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

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

кількість всіх можливих ключів;

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

Вимоги до криптосистем

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

Загальноприйняті вимоги до криптографічних систем:

· Зашифроване повідомлення має піддаватися читанню лише за наявності ключа;

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

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

· знання алгоритму шифрування має впливати на надійність захисту;

· Незначна зміна ключа має призводити до суттєвої зміни виду зашифрованого повідомлення;

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

· Додаткові біти, що вводяться в повідомлення в процесі шифрування, повинні бути повністю та надійно приховані у шифрованому тексті;

· Довжина шифрованого тексту повинна бути рівною довжині вихідного тексту;

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

· Будь-який ключ з безлічі можливих повинен забезпечувати надійний захист інформації;

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

Основні алгоритми шифрування

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

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

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

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



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

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

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

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

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

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

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

Процес передачі зашифрованої інформації в асиметричній криптосистемі здійснюється в такий спосіб.

Підготовчий етап:

· Абонент В генерує пару ключів: секретний ключ k в і відкритий ключ К в;

· Відкритий ключ До посилається абоненту А та іншим абонентам (або робиться доступним, наприклад на поділюваному ресурсі).

Використання (обмін інформацією між А та В ):

· Абонент А зашифровує повідомлення за допомогою відкритого ключа До абонента В і відправляє шифротекст абоненту В;

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

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

Перевагиасиметричних криптографічних систем перед симетричними криптосистемами:

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

ü зникає квадратична залежність числа ключів від числа користувачів; в асиметричній криптосистемі число використовуваних ключів пов'язане з числом абонентів лінійною залежністю (у системі N користувачів використовується 2N ключів), а не квадратичної, як у симетричних системах;

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

Недолікиасиметричних криптосистем:

ü на даний момент немає математичного доказу незворотності функцій, що використовуються в асиметричних алгортмах;

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

ü необхідність захисту відкритих ключів від заміни.

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

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

Багато якісних криптографічних алгоритмів доступні широко. Найбільш відомими симетричними алгоритмами є DES та IDEA; найкращий асиметричний алгоритм – RSA. У Росії її за стандарт шифрування прийнято ГОСТ 28147-89.

У таблиці 1 наведено класифікацію криптографічного закриття інформації.

Таблиця 1

Види перетворення Способи перетворень Різновиди способу Спосіб реалізації
Шифрування Заміна (підстановка) Проста (одноалфавітна) Прогр.
Багатоалфавітна одноконтурна звичайна Прогр.
Багатоалфавітна одноконтурна монофонічна Прогр.
Прогр.
Перестановка Проста Прогр.
Ускладнена за таблицею Прогр.
Ускладнена маршрутами Прогр.
Аналітичне перетворення За правилами алгебри матриць Прогр.
За особливими залежностями Прогр.
Гамування З кінцевою короткою гамою Аппар.-прогр.
З кінцевою довгою гамою Аппар.-прогр.
З нескінченною гамою Аппар.-прогр.
Комбіновані Заміна+перестановка Аппар.-прогр.
Заміна+гамування Аппар.-прогр.
Перестановка+гамування Аппар.-прогр.
Гамування+гамування Аппар.-прогр.
Кодування Смислове За спеціальними таблицями (словниками) Прогр.
Символьне За кодовим алфавітом Прогр.
Інші види Розсічення-рознесення Смислове Аппар.-прогр.
Механічне Прогр.
Стиснення-розширення

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

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

Різновиди способу заміна (підстановка ):

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

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

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

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

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

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

Шифрування простою перестановкою здійснюється так:

· Вибирається ключове слово з неповторними символами;

· Зашифрований текст записується послідовними рядками під символами ключового слова;

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

Приклад:

відкритий текст: БУДЬТЕ ОБЕРЕЖНІ

ключ: 5 8 1 3 7 4 6 2

схема шифрування:

Б У Д Ь Т І q О (де q – пробіл)

СТОРОЖНІ

Групуємо по 2 символи та отримуємо зашифрований текст:

ДООИЬРЕЖБСqНТОУТ

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

Ускладнена перестановка за таблицямиполягає в тому, що для запису символів тексту, що шифрується, використовується спеціальна таблиця, в яку введені деякі ускладнюючі елементи. Таблиця є матрицею, розміри якої можуть бути обрані довільно. У неї, як у разі простої перестановки, записуються знаки тексту, що шифрується. Ускладнення у тому, що кілька клітин таблиці не використовуються. Кількість і розташування елементів, що не використовуються, є додатковим ключем шифрування. Шифрований текст блоками ( m x nS) елементів записується до таблиці ( m x n –розмір таблиці, S –кількість елементів, що не використовуються). Далі процедура шифрування аналогічна простій перестановці.

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

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

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

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

t c = (t p + t g) mod K, де t c, t p,t g -символи відповідно до зашифрованого тексту, вихідного тексту та гами.

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

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

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

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

Типовим прикладом комбінованого шифру є національний стандарт США криптографічного закриття даних (DES).

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

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

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

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

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

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

Хеш-функції

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

Спочатку функції хешування використовувалися як функції створення унікального образу інформаційних послідовностей довільної довжини з метою ідентифікації та визначення їх справжності. Сам образ має бути невеликим блоком фіксованої довжини, як правило, 30, 60, 64, 128, 256, або 512 біт. Тому операції пошуку сортування та інші з великими масивами чи базами даних значно спрощуються, тобто. займають набагато менший час. Для забезпечення необхідної ймовірності помилки необхідно забезпечувати низку вимог до функції хешування:

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

хеш-функція повинна мати властивість незворотності, тобто завдання підбору документа M", який мав би необхідне значення хеш-функції, має бути обчислювально нерозв'язною;

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

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

Більшість хеш-функцій будується на основі односпрямованої функції f( )яка утворює вихідне значення довжиною nпри заданні двох вхідних значень завдовжки n. Цими входами є блок вихідного тексту Miта хеш-значення Hi-1попереднього блоку тексту (рис.1):

Hi = f (Mi, Hi-1).

Хеш-значення, обчислюване під час введення останнього блоку тексту, стає хеш-значенням всього повідомлення M.

Рис.1. Схема односпрямованої хеш-функції

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

Цього дня своє професійне свято відзначає Криптографічна служба Росії.

«Криптографія»з давньогрецької означає "тайнопис".

Як раніше ховали слова?

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

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

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

АіФ.ru зробив добірку цікавих фактів з історії шифрування.

Усі таємнописи мають системи

1. Акростих- Осмислений текст (слово, словосполучення або речення), складений з початкових букв кожного рядка вірша.

Ось, наприклад, вірш-загадка з розгадкою у перших літерах:

Ддовільно ім'ям відома я своїм;
Равно клянеться шахрай і непорочний їм,
Утехою в лихах всього буваю більше,
Жмука солодша при мені і в найкращій частці.
Блаженству чистих душ можу служити одна,
Аміж лиходіями - не бути створена.
Юрій Неледінський-Мілецький
Сергій Єсенін, Ганна Ахматова, Валентин Загорянський часто користувалися фарбуванням.

2. Літорея- Рід шифрованого листа, що вживався в давньоруській рукописній літературі. Буває проста і мудра. Просту називають тарабарською грамотою, вона полягає в наступному: поставивши приголосні літери у два ряди в порядку:

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

Мудра літореяпередбачає більш складні правила підстановки.

3. "ROT1"- Шифр ​​для дітей?

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

А замінюється на Б, Б замінюється на В і таке інше. "ROT1" буквально означає "крутити на 1 букву вперед за алфавітом". Фраза «Я люблю борщ»перетвориться на секретну фразу «А мявмя впсъ». Цей шифр призначений для розваги, його легко зрозуміти та розшифрувати, навіть якщо ключ використовується у зворотному напрямку.

4. Від перестановки доданків...

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

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

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

5. Зсувний шифр Цезаря

Він складається з 33 різних шифрів, по одному на кожну букву алфавіту (кількість шифрів змінюється залежно від алфавіту мови, що використовується). Людина мала знати, який шифр Юлія Цезаря використовуватиме для того, щоб розшифрувати повідомлення. Наприклад, якщо використовується шифр Е, то А стає Е, Б стає Ж, В стає З і так далі за абеткою. Якщо використовується шифр Ю, то А стає Ю, Б стає Я, стає А і так далі. Даний алгоритм є основою для багатьох складніших шифрів, але сам по собі не забезпечує надійний захист таємниці повідомлень, оскільки перевірка 33 різних ключів шифру займе відносно невеликий час.

Ніхто не зміг. Спробуйте ви

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

Криптос. Скульптура, створена художником Джимом Санборном, розташована перед штаб-квартирою Центрального розвідувального управління у Ленглі, Вірджинія. Скульптура містить чотири шифрування, розкрити код четвертої не вдається досі. У 2010 році було розкрито, що символи 64-69 NYPVTT у четвертій частині означають слово Берлін.

Тепер, коли ви прочитали статтю, то, напевно, зможете розгадати три простих шифри.

Свої варіанти залишайте у коментарях до цієї статті. Відповідь з'явиться о 13.00 13 травня 2014 року.

Відповідь:

1) Стравецько

2) Слоненяті все набридло

3) Гарна погода