Криптографічні ключі - основні поняття криптографії (інтернет огляд різних джерел)

Як секретної інформації використовуються криптографічні ключі.

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

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

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

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

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

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

У асиметричної криптографії застосовуються так звані ключові пари (key pairs). Кожна така пара складається з двох пов'язаних між собою ключів. Один з цих ключів - закритий (private key). Він відомий тільки власнику ключа і ні за яких умов не повинен бути доступний нікому іншому. Інший ключ - відкритий (public key), він може бути доступний будь-кому.

Ключова пара, яка використовується для роботи з ЕЦП (вироблення і перевірки ЕЦП), називається ключами підпису (signature keys). Ключова пара, яка використовується для шифрування і розшифрування повідомлень, називається ключами обміну (exchange keys).

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

У процесі шифрування насамперед створюється одноразовий (так званий сеансовий) ключ шифрування (session encryption key). Це симетричний ключ, тобто один і той же ключ використовується і для шифрування, і для розшифрування. Одноразовим або сеансовим він називається тому, що використовується для шифрування / розшифрування тільки одного повідомлення.

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

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

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

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

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

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