Интернет магазин китайских планшетных компьютеров



Компьютеры - RSA-KEM

12 июня 2011


Оглавление:
1. RSA-KEM
2. Анализ безопасности



Описание

Введение

RSA-KEM является популярным механизмом шифрования ключа, сочетающим в себе ложные перестановки RSA и KDF. Обладает простотой и превосходными защитными свойствами, по сравнению с OAEP или OAEP+. Основной недостаток состоит в том, что шифротекст немного больше исходного текста.

Процесс шифрования можно коротко представить следующим образом:

  1. Генерируется случайное входное w.
  2. Шифруется w с использованием RSA для передачи принимающему.
  3. Генерируется материал ключа y = KDF для использования в последующем шифровании.

Принимающий может востановить w из принятого шифртекста и затем сгенерировать y, чтоб и отправитель и принимающий могли согласиться с одинаковым симметричным ключом.

Параметры

Механизм шифрования ключа имеет следующие системные параметры:

  1. RSAKeyGen: алгоритм генерации ключа RSA.
  2. KDF: A key derivation function.
  3. KeyLen: положительное целое число.

Генерация ключа

Открытый ключ состоит из RSA коэффициента n \,, который является произведением двух больших простых чисел и экспоненты e \,, где gcd) = 1 \,. Это так же выделяет key derivation function KDF. Пусть nLen обозначает длинну n в байтах. Секретный ключ состоит из дешифровой экспоненты d, где ed  =  1  mod  \phi \,. Алгоритм генерации ключа ничего не принимает на вход и выполняется следующим образом:

  1. Вычисление = RSAKeyGen.
  2. Получение открытого ключа PK.
  3. Получение закрытого ключа pk.

n, e, d - целые положительные числа.

Шифрование

Целью алгоритма шифрования является произвести псевдо-случайный ключ K длинны KeyLen и шифротекст C_0 \,, который шифрует K. Алгоритм шифрования принимает следующее: - открытый ключ, состоящий из целого положительного n и e. - нет опций шифрования. Выполняется следующим образом:

  1. Генерация случайного числа r \in [0 .. n)\,.
  2. Вычисление y = r^e mod n \,.
  3. Вычисление K = KDF, KeyLen) \,.
  4. Вычисление C_0 = I2OSP \,.
  5. Получение шифротекста C_0 \, и ключа K.

Дешифрование

Алгоритм дешифрования принимает на вход следующее: - закрытый ключ, состоящий из целого положительного n и d. - шифротекст C_0 \,. Выполняется следующим образом:

  1. Проверка |C_0| = nLen \,, иначе провал.
  2. Установка y = OS2IP \,.
  3. Проверка y < n \,, если нет, то провал.
  4. Вычисление r = y^d mod n \,.
  5. Вычисление K = KDF, KeyLen) \,.
  6. Вывод ключа K \,


Просмотров: 1671


<<< RSA
S-блоки >>>