justify;">Коли надійність криптографічного алгоритму забезпечується за рахунок збереження в таємниці суті самого алгоритму, такий алгоритм шифрування називається обмеженим. Обмежені алгоритми становлять значний інтерес з погляду історії криптографії, однак зовсім непридатні при сучасних вимогах, які висуваються до шифрування. Адже, в цьому випадку, кожна група користувачів, які бажають обмінюватися секретними повідомленнями, повинна мати свої оригінальні алгоритми шифрування.
У сучасній криптографії зазначені вище проблеми вирішуються за допомогою використання ключа, який потрібно вибирати серед значень, що належать безлічі (ключовий простір). Функції шифрування і розшифровки залежать від цього ключа. Деякі алгоритми шифрування використовують різні ключі для шифрування і розшифровування. Це означає, що ключ шифрування відрізняється від ключа розшифровування [6].
Надійність алгоритму шифрування з використанням ключів досягається за рахунок їх належного вибору і наступного збереження в найсуворішому секреті. Це означає, що такий алгоритм не потрібно тримати в таємниці. Можна організувати масове виробництво криптографічних засобів, в основу функціонування яких покладений даний алгоритм. Навіть знаючи криптографічний алгоритм, зловмисник не зможе прочитати зашифровані повідомлення, оскільки він не знає секретний ключ, використаний для його зашифровування.
Симетричні алгоритми шифрування поділяються на:
потокові;
блокові.
Алгоритми, у яких відкритий текст обробляється побітно, називаються потоковими алгоритмами або потоковими шифрами. В інших алгоритмах відкритий текст розбивається на блоки, що складаються з декількох біт. Такі алгоритми називаються блоковими або блоковими шифрами. У сучасних комп'ютерних алгоритмах блокового шифрування довжина блоку звичайно складає 64 біта. Симетричні алгоритми при виявленні в них яких-небудь слабкостей можуть бути дороблені шляхом внесення невеликих змін, а для несиметричних – така можливість відсутня.
Симетричні алгоритми працюють значно швидше, ніж алгоритми з відкритим ключем. На практиці несиметричні алгоритми шифрування часто застосовуються в сукупності з симетричними алгоритмами: відкритий текст зашифровується симетричним алгоритмом, а секретний ключ цього симетричного алгоритму зашифровується на відкритому ключі несиметричного алгоритму. Такий механізм називають цифровим конвертом (digital envelope). Найширше в даний час застосовуються наступні алгоритми шифрування:
DES (Data Encryption Standard) ;
Blowfish;
IDEA (International Decryption-Encryption Algorithm) ;
ГОСТ 28147-89;
RSA (автори: Rivest, Shamir і Alderman) ;
PGP.
У симетричних криптоалгоритмах (DES, ДСТ, Blowfish, RC5, IDEA) для шифрування і розшифровки інформації використовується той самий секретний ключ. Перевагами таких алгоритмів є:
- простота програмної та апаратної реалізації;
- висока швидкість роботи в прямому і зворотному напрямках;
- забезпечення необхідного рівня захисту інформації при використанні коротких ключів.
До основних недоліків цих криптоалгоритмів варто віднести збільшення витрат по забезпеченню додаткових заходів таємності при поширенні ключів, а також те, що алгоритм із секретним ключем виконує свою задачу тільки в умовах повної довіри кореспондентів один одному.
У несиметричних криптоалгоритмах (RSA, PGP, ECC) пряме і зворотне перетворення виконуються з використанням відкритого і секретного ключів, що не мають взаємозв'язку, що дозволяє по одному ключу обчислити інший. За допомогою відкритого ключа практично будь-який користувач може зашифрувати своє повідомлення або перевірити електронно-цифровий підпис. Розшифрувати таке повідомлення або поставити підпис може тільки власник секретного ключа. Такі алгоритми дозволяють реалізувати протоколи типу цифрового підпису, забезпечують відкрите поширення ключів і надійну аутентифікацію в мережі, стійку навіть до повного перехоплення трафіка [8].
РОЗДІЛ 2. КРИПТОГРАФІЧНІ ЗАСОБИ ЗАХИСТУ
2.1. Криптосистеми та принципи їх роботи
Криптографічними засобами захисту називаються спеціальні засоби і методи перетворення інформації, в результаті яких маскується її зміст. Основними видами криптографічного захисту є шифрування і кодування захищених даних. При цьому шифрування є таким видом захисту, при якому самостійному перетворенню підлягає кожен символ. При кодуванні дані, які захищаються, поділяються на блоки, що мають смислове значення, і кожен такий блок замінюється цифровим, літерним або комбінованим кодом. При цьому використовується декілька різних систем шифрування: заміною, перестановкою, гамуванням, аналітичним перетворенням шифрованих даних. Широке поширення набули комбіновані шифри, коли початковий текст послідовно перетворюється з використанням двох або навіть трьох різних шифрів.
Криптосистема працює за певною методологією (процедурою). Вона складається з: - одного або більш алгоритмів шифрування (математичних формул) ; - ключів, використовуваних цими алгоритмами шифрування; - системи управління ключами; - незашифрованого тексту; - зашифрованого тексту (шифртексту).
Згідно з методологією спочатку до тексту застосовуються алгоритм шифрування і ключ для отримання з нього шифртексту. Потім шифротекст передається до місця призначення, де той же самий алгоритм використовується для його розшифровки, щоб отримати знову текст. Також в методологію входять процедури створення ключів та їх розповсюдження. Типовий приклад (шифрування) зображений на рис. 2. 1:
Рисунок 2. 1 – Зображення ситуації – завдання криптографії
На рис. 2. 1. А і В – законні користувачі захищеної інформації, вони хочуть обмінюватися інформацією по загальнодоступному каналу зв'язку. П – незаконний користувач (супротивник, хакер), який хоче перехоплювати надіслані через з'єднання повідомлення і спробувати витягнути з них цікаву для нього інформацію. Цю просту схему можна вважати моделлю типової ситуації, в якій застосовуються криптографічні методи захисту інформації або просто шифрування. Історично в криптографії закріпилися деякі військові слова (супротивник, атака на шифр та ін.) Вони найбільш точно відображають сенс відповідних криптографічних понять. Разом з тим широко відома військова термінологія, заснована на понятті коду (військово –