Симетричні алгоритми шифрування.

Шифрування інформації.

Програмні засоби захисту інформації.

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

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

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

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

 

Класична модель симетричного шифрування вперше була запропонована Клодом Шенноном у 1949 році (рис 4.2). В даній моделі три учасники: відправник, одержувач, зловмисник. Задача відправника полягає в тому, щоб по відкритому каналу передати деяке повідомлення в захищеному виді. Для цього він на ключі к зашифровує відкритий текст X і передає зашифрований текст Y. Задача одержувача полягає в тому, щоб розшифрувати Y і прочитати повідомлення X.

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

 

 

Рис. 4.2. Модель симетричного шифрування

 

Найбільш популярним стандартним симетричним алгоритмом шифрування даних є DES (Data Encription Standard). Суть алгоритму полягає в наступному (рис. 4.3).

 

Рис. 4.3. Схема шифрування по алгоритму DES

 

Дані шифруються поблочно. Перед шифруванням будь-яка форма представлення даних перетворюється в числову. Ці числа одержують шляхом будь-якої відкритої процедури перетворення блоку тексту в число. Наприклад, ними могли бути значення двійкових чисел, отриманих злиттям ASCII-кодів послідовних символів відповідного блоку тексту в число. На вхід функції, що шифрує, надходить блок даних розміром 64 біта (див. рис. 4.3), він поділяється навпіл на ліву (L) і праву (R) частини. На першому етапі на місце лівої частини результуючого блоку міститься права частина вихідного блоку. Права частина результуючого блоку обчислюється як сума по модулю 2 (операція ХОR) лівої і правої частин вихідного блоку. Потім на основі випадкової двійкової послідовності за визначеною схемою в отриманому результаті виконуються побітні заміни і перестановки. Двійкова послідовність, що використовується, представляє собою ключ даного алгоритму, має довжину 64 біта, з яких 56 дійсно випадкові, а 8 призначені для контролю ключа.

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