5.8. Шифрування даних

 

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

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

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

 

Таблиця 3. Шифрування і розшифровка даних

Шифрування

Код

Відкритий текст

(дані, що підлягають шифруванню)

10110110

PN-дані, що згенерували

за допомогою ключа

01101101

Зашифровані дані

11011011

Розшифровка

Код

Зашифровані дані

11011011

PN-дані, що згенерували

за допомогою ключа

01101101

Відкритий текст (розшифровані дані)

10110110

 

Головні проблеми системи шифрування з використанням секретного ключа пов’язані з адмініструванням і розподілом ключів. Оскільки обидві сторони, що беруть участь в обміні даними, використовують однаковий ключ, існує вірогідність того, що із збільшенням числа користувачів, що беруть участь в обміні, ключ перестане бути таємним. Крім того, великі проблеми виникають при адмініструванні і розподілі секретних ключів, оскільки для кожної пари (відправник і одержувач) потрібний свій секретний ключ. Внаслідок цих причин система шифрування з використанням секретного ключа не набула широкого поширення в середовищі World Wide Web. У системі з використанням відкритого ключа будь-який користувач, звертаючись на захищений web-вузол, отримує відкритий ключ, за допомогою якого шифрує свої дані і відправляє їх на вузол, де вони будуть розшифровані із застосуванням секретного ключа, який відомий тільки на цьому вузлі.

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