- RSA-KEM
-
RSA-KEM (RSA Key Encapsulation Method) — механизм шифрования ключа для передачи в криптосистемах с открытым ключом.
Содержание
Описание
Введение
RSA-KEM является популярным механизмом шифрования ключа, сочетающим в себе ложные перестановки RSA и KDF (Key Derivation Function). Обладает простотой и превосходными защитными свойствами, по сравнению с OAEP или OAEP+. Основной недостаток состоит в том, что шифротекст немного больше исходного текста.
Процесс шифрования можно коротко представить следующим образом:
- Генерируется случайное входное w.
- Шифруется w с использованием RSA для передачи принимающему.
- Генерируется материал ключа y = KDF(w) для использования в последующем шифровании.
Принимающий может восстановить w из принятого шифртекста и затем сгенерировать y, чтоб и отправитель и принимающий могли согласиться с одинаковым симметричным ключом.
Параметры
Механизм шифрования ключа имеет следующие системные параметры:
- RSAKeyGen: алгоритм генерации ключа RSA.
- KDF: A key derivation function.
- KeyLen: положительное целое число.
Генерация ключа
Открытый ключ состоит из RSA коэффициента
, который является произведением двух больших простых чисел и экспоненты
, где
(
— наибольший общий делитель). Это так же выделяет key derivation function KDF. Пусть nLen обозначает длину n в байтах. Секретный ключ состоит из дешифровой экспоненты d, где
. Алгоритм генерации ключа ничего не принимает на вход и выполняется следующим образом:
- Вычисление (n, e, d) = RSAKeyGen().
- Получение открытого ключа PK(public key).
- Получение закрытого ключа pk(privite key).
n, e, d — целые положительные числа.
Шифрование
Целью алгоритма шифрования является произвести псевдослучайный ключ K длинны KeyLen и шифротекст
, который шифрует K. Алгоритм шифрования принимает следующее: — открытый ключ, состоящий из целого положительного n и e. — нет опций шифрования. Выполняется следующим образом:
- Генерация случайного числа
.
- Вычисление
.
- Вычисление
.
- Вычисление
.
- Получение шифротекста
и ключа K.
Дешифрование
Алгоритм дешифрования принимает на вход следующее: — закрытый ключ, состоящий из целого положительного n и d. — шифротекст
. Выполняется следующим образом:
- Проверка
, иначе провал.
- Установка
.
- Проверка
, если нет, то провал.
- Вычисление
.
- Вычисление
.
- Вывод ключа
Анализ безопасности
Безопасность RSA-KEM может быть проанализирована в случайной модели предсказаний, в которой моделируется вызов KDF как случайной предсказательной очереди. Легко показать, что
-
-
.
-
где:
— это алгоритм для решения случайного случая RSA задачи, который происходит примерно за то же время, что и
.
— это граница числа дешифровок очередей предсказания сделанных
.
— это меньшая граница n.
RSA-KEM предоставляет намного лучшую безопасность, чем RSA-OAEP+ или RSA-OAEP.
Безопасность RSA-KEM не ухудшается при увеличении длины шифротекста. Однако, это верно только тогда, когда число
в алгоритме шифрования выбрано однородно модулю
, или по меньшей мере не неотличимо отклоняется от постоянного распределения. Это отличает RSA-OAEP+, где безопасность снижается линейно от величины шифротекста.
Примечания
Ссылки
Категория:- Криптография
Wikimedia Foundation. 2010.