62. Системы шифрования с открытым ключом. Алгоритм RSA.

Системы шифрования с открытым ключом. Алгоритм RSA.

Криптосистема называется несимметричной, если не существует эффективного алгоритма нахождения закрытого ключа (K2) по известному открытому ключу (K1).

Общие идеи систем с открытым ключом:

  • маскировка выделенной простой задачи под задачу без эффективного решения;
  • использование односторонних функций-ловушек.

Преимущества:

  • не нужно предварительно передавать секретный ключ;
  • секретный ключ известен только одной стороне;
  • можно не менять ключи долгое время.

Недостатки: низкая скорость работы, увеличенный размер ключей.

Алгоритм RSA (Rivest-Shamir-Adleman): Основан на вычислительной сложности задачи факторизации больших целых чисел.

  1. Выбираются два случайных больших простых числа p и q.
  2. Вычисляется n = p * q.
  3. Вычисляется функция Эйлера: φ(n) = (p-1)(q-1).
  4. Выбирается открытая экспонента e, такая что НОД(e, φ(n)) = 1.
  5. Вычисляется секретная экспонента d = e⁻¹ (mod φ(n)).

Открытый ключ: {e, n}. Закрытый ключ: {d, n}.

Шифрование: c = m^e (mod n). Расшифрование: m = c^d (mod n).