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

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

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

Чому проблема використання криптографічних методів у інформаційних системах (ІС) стала зараз особливо актуальна?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

В якості прикладів алфавітів, що використовуються в сучасних ІС можна привести наступні:

· алфавіт Z33 — 32 букви російського алфавіту і пробіл;

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

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

· восьмеричний алфавіт або шістнадцятковий алфавіт;

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

Дешифрування — зворотний шифруванню процес. На основі ключа шифрований текст перетворюється у вихідний.
шифрований

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

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

Криптосистеми поділяються на симетричні і з відкритим ключем.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Моно – і многоалфавитной підстановки.

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

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

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

Гамування.

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

Блокові шифри.

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