Короткий огляд основ криптографії
Криптологія (від грецьк. cryptos – таємний та logos – слово) – наука, що займається шифруванням та дешифруванням. Криптологія складається з двох частин – криптографії та криптоаналізу. Криптографія - наука про побудову криптографічних систем, що використовуються з метою захисту інформації. Криптоаналіз - наука про методи аналізу криптографічних систем, мета аналізу - розробка методів розкриття інформації, що захищається криптосистемою. Протягом усієї історії людства основним фактором розвитку криптології було протиборство методів захисту інформації та методів її розкриття.
Основні поняття криптографії.
Криптографія- самостійна наука з особливим предметом досліджень та специфічними методами дослідження, і, безсумнівно, ця наука має математичну природу. Найбільш виразне різноманіття зв'язків криптології з математикою виявилося у ХХ столітті. Великий вплив на це мала поява фундаментальної праці К. Шеннона «Теорія зв'язку в секретних системах». Втім і до цієї події історія криптології була відзначена чудовими науковими працями та практичним внеском у криптоаналітичні розробки багатьох математиків, таких, як Л. Б. Альберті (XV ст.), Б. Виженер, Ф. Вієта (XVI-XVII ст.), Л .Ейлер (XVIII ст.) та ін [1]
Сучасна криптологія
Сучасна криптологія базується на багатьох математичних дисциплінах: лінійна алгебра, теорія груп, напівгруп, теорія автоматів, математичний аналіз, теорія дискретних функцій, теорія чисел, комбінаторний аналіз, теорія ймовірностей та математична статистика, теорія кодування, теорія інформації, теорія інформації описи наукових основ криптології слід згадати фізичні та інженерні науки, такі як теоріязв'язку, теорія електромагнітного поля, квантова фізика, комп'ютерні науки та ін. Методи дослідження в криптографії і криптоаналіз багато в чому схожі, але завдання цих розділів криптології різняться істотно.
Криптографічна система
Криптографічна система застосовується на вирішення різних завдань захисту інформації відповідними дійовими особами чи сторонами, у своїй встановлюється певний порядок взаємодії сторін, званий криптографічним протоколом. Сімейство криптографічних функцій разом із використовуваними криптографическими протоколами утворюють криптосистему (криптографическую систему). Функції криптосистеми залежить від параметра k, званого ключем криптосистемы. Ключ криптосистеми належить кінцевому множині допустимих значень ключа, яке називається ключовим безліччю криптосистеми. Вибраний ключ k однозначно визначає криптографічну функцію криптосистеми.
Ключ криптосистеми
Аутентифікація сторін
Здатність криптосистеми протистояти атакам криптоаналітика називається її криптографічної стійкістю. Як правило, криптографічна стійкість системи вимірюється обчислювальними та тимчасовими витратами, достатніми для її розтину, у деяких випадках – обсягом матеріальних витрат. За величиною стійкості криптографічні системи класифікуються на системи тимчасової стійкості та гарантованої стійкості. Останні забезпечують захист інформації протягом тривалого часу, незважаючи на зусилля порушника, який має значні матеріальні, інтелектуальні та обчислювальні ресурси. Отже, криптосистема гарантованої стійкості має бути здатна реалізувати велику кількість різних функцій, інакше секретна інформація може бути розкрита за допомогоютотального перебору функцій розшифрування Більше того, пристрій системи гарантованої стійкості повинен пов'язувати будь-яку спробу її злому з неминучим рішенням трудомісткої задачі, а саме, задачі, що не вирішується з використанням найсучасніших технологій протягом практично прийнятного часового періоду.
Класифікація криптосистем.
За принципами використання ключів криптосистеми поділені на системи із секретним та відкритим ключем.

Симетричні криптосистеми
В даний час симетричні шифри - це:
Блочні шифри.Обробляють інформацію блоками певної довжини (зазвичай 64, 128 біт), застосовуючи до блоку ключ у встановленому порядку, як правило, кількома циклами перемішування та підстановки, званими раундами. Результатом повторення раундів є лавинний ефект — втрата відповідності бітів, що наростає, між блоками відкритих і зашифрованих даних.
Поточні шифри,в яких шифрування проводиться над кожним бітом або байтом вихідного (відкритого) тексту з використанням гамування. Поточний шифр може бути легко створений на основі блокового (наприклад, ГОСТ 28147-89 у режимі гамування), запущеного у спеціальному режимі.
Більшість симетричних шифрів використовують складну комбінацію великої кількості підстановок та перестановок. Багато таких шифри виконуються в кілька (іноді до 80) проходів, використовуючи кожному проході «ключ проходу». Безліч «ключів проходу» всім проходів називається «розкладом ключів» (key schedule). Як правило, воно створюється з ключа виконанням над ним деяких операцій, у тому числі перестановок та підстановок.
p align="justify"> Типовим способом побудови алгоритмів симетричного шифрування є мережа Фейстеля. Алгоритм будує схему шифрування наоснові функціїF(D, K), деD— порція даних, розміром вдвічі менша за блок шифрування, аK— «ключ проходу» для даного проходу. Від функції не вимагається оборотність — зворотна функція може бути невідома. Переваги мережі Фейстеля — майже повний збіг дешифрування з шифруванням (єдина відмінність — зворотний порядок «ключів проходу» в розкладі), що полегшує апаратну реалізацію. Операція перестановки перемішує біти повідомлення за законом. У апаратних реалізаціях вона очевидно реалізується як переплутування провідників. Саме операції перестановки дають можливість досягнення ефекту лавини.
Операція перестановки лінійна -
Операції підстановки виконуються як заміна значення певної частини повідомлення (часто 4, 6 або 8 біт) на стандартне, жорстко вбудоване в алгоритм інше число шляхом звернення до константного масиву. Операція підстановки вносить у алгоритм нелінійність.
Найчастіше стійкість алгоритму, особливо до диференціального криптоаналізу, залежить від вибору значень таблицях підстановки (S-блоках). Як мінімум вважається небажаною наявність нерухомих елементівS(x) = x, а також відсутність впливу якогось біта вхідного байта на якийсь біт результату - тобто випадки, коли біт результату однаковий для всіх пар вхідних слів , що відрізняються тільки в даному биті.
Криптосистема з відкритим ключем
НехайK- простір ключів,а eіd- ключі шифрування та розшифрування відповідно.E— функція шифрування для довільного ключаeϵK, така що:
Тутc, деC- простір шифротекстів, аmϵM, деM- простір повідомлень. D – функція розшифрування, за допомогою якої можна знайти вихіднеповідомленняm, знаючи шифротекст c:
- набір шифрування, а- відповідний набір для розшифрування. Кожна пара(E, D)має властивість: знаючиE, неможливо вирішити рівнянняE(m)=c, тобто для даного довільного шифротекстуcϵC, неможливо знайти повідомленняmϵM. Це означає, що з даного e неможливо визначити відповідний ключ розшифруванняd.Eє односторонньою функцією, аd- лазівкою. Нижче показано схему передачі інформації особою А особі В. Вони можуть бути як фізичними особами, так і організаціями і так далі. Але для легшого сприйняття прийнято учасників передачі ототожнювати з людьми, найчастіше звані Аліса і Боб. Учасника, який прагне перехопити та розшифрувати повідомлення Аліси та Боба, найчастіше називають Євою.
1. Боб вибирає пару(e,d)і шле ключ шифруванняe(відкритий ключ) Алісі по відкритому каналу, а ключ розшифруванняd(закритий ключ) захищений і секретний (він не повинен передаватися відкритим каналом).
2. Щоб надіслати повідомленняmБобу, Аліса застосовує функцію шифрування, визначену відкритим ключемe: E(m)=c, c- отриманий шифротекст.
3. Боб розшифровує шифротекстc, застосовуючи зворотне перетворенняD, однозначно визначене значеннямd.
Переваги та недоліки криптосистем
Загальновизнана перевага симетричних систем полягає у більш високій швидкості шифрування, у менших розмірах використовуваного ключа, що забезпечує стійкість, та у більш високому ступені наукової обґрунтованості криптографічної стійкості. Однак асиметричні криптосистеми дозволяють реалізувати протоколи, що помітно розширюють область застосування криптографічного захисту інформації. ТомуНерідко використовуються гібридні криптосистеми, що поєднують важливі переваги як симетричних, і асиметричних криптосистем. Найвигіднішим є протокол секретного зв'язку з використанням гібридної криптосистеми, в якому асиметричний алгоритм використовується для засекречування і розподілу ключів зв'язку, а алгоритм із секретним ключем зв'язку використовується для захисту даних. Крім того, такий протокол допускає знищення секретного сеансового ключа одразу після завершення сеансу, що суттєво знижує небезпеку його компрометації.