Гибридная криптосистема
Гибри́дная (или комбини́рованная) криптосисте́ма — это система шифрования, совмещающая преимущества криптосистемы с открытым ключом с производительностью симметричных криптосистем. Симметричное шифрование имеет высокую скорость и короткие ключи, но требует передачи ключа в защищённом виде, асимметричное позволяет передавать стойкий ключ открыто, но имеет невысокую производительность. В гибридной же системе симметричный ключ используется для шифрования данных, а асимметричный для шифрования самого симметричного ключа, иначе это называется числовой упаковкой[1].
Принцип
Криптографические системы используют преимущества двух основных криптосистем: симметричной и асимметричной криптографии. На этом принципе построены такие протоколы, как PGP и TLS.
Основной недостаток асимметричной криптографии состоит в низкой скорости из-за сложных вычислений, требуемых её алгоритмами, в то время как симметричная криптография традиционно показывает высокую скорость работы. Однако симметричные криптосистемы имеет один существенный недостаток — её использование предполагает наличие защищённого канала для передачи ключей. Для преодоления этого недостатка прибегают к асимметричным криптосистемам, которые используют пару ключей: открытый и закрытый[2].
Пример гибридного алгоритма (схема Диффи-Хелмана)
Этап отправки:
- Алиса генерирует случайный сеансовый ключ
- сообщение Алисы шифруется сеансовым ключом (с помощью симметричного алгоритма)
- сеансовый ключ шифруется открытым ключом Боба (асимметричным алгоритмом)
- Алиса посылает Бобу зашифрованное сообщение и зашифрованный сеансовый ключ[3]
Этап приёма:
- Боб получает зашифрованное сообщение Алисы и зашифрованный сеансовый ключ
- Боб расшифровывает сеансовый ключ своим закрытым ключом
- при помощи полученного, таким образом, сеансового ключа Боб расшифровывает зашифрованное сообщение Алисы[3]
Шифрование
Большинство гибридных систем работают следующим образом. Для симметричного алгоритма (3DES, IDEA, AES или любого другого) генерируется случайный сеансовый ключ. Такой ключ как правило имеет размер от 128 до 512 бит (в зависимости от алгоритма)[3]. Затем используется симметричный алгоритм для шифрования сообщения. В случае блочного шифрования необходимо использовать режим шифрования (например CBC), что позволит шифровать сообщение с длиной, превышающей длину блока. Что касается самого случайного ключа, он должен быть зашифрован с помощью открытого ключа получателя сообщения, и именно на этом этапе применяется криптосистема с открытым ключом (RSA или Алгоритм Диффи — Хеллмана). Поскольку сеансовый ключ короткий, его шифрование занимает немного времени. Шифрование набора сообщений с помощью асимметричного алгоритма — это задача вычислительно более сложная, поэтому здесь предпочтительнее использовать симметричное шифрование. Затем достаточно отправить сообщение, зашифрованное симметричным алгоритмом, а также соответствующий ключ в зашифрованном виде. Получатель сначала расшифровывает ключ с помощью своего секретного ключа, а затем с помощью полученного ключа получает и всё сообщение[3].
См. также
Примечания
- З. Гибридная криптосистема . Ozlib. Дата обращения: 9 октября 2021.
- Нестеренко Алексей Юрьевич, Пугачев Андрей Васильевич. Об одной схеме гибридного шифрования // Прикладная дискретная математика. — 2015. — Вып. 4 (30). — С. 56–71. — ISSN 2071-0410.
- Лекция №17 — YZTM.RU (рус.) ?. Дата обращения: 9 октября 2021.