Система Orphus

RSA

Алгоритм создания пары ключей

  1. Случайно выбрать большие простые числа p и q, для которых \log_2p\simeq \log_2q>512 бит.
  2. Вычислить произведение n=p\cdot q
  3. Вычислить функцию Эйлера \varphi(n)=(p-1)(q-1)
  4. Выбирать e\in[2,\varphi(n)-1] взаимно простое с \varphi(n).
  5. Вычислить d=e^{-1}~\bmod~\varphi(n)
  6. Пара \{e,n\} публикуется в качестве открытого ключа RSA.
  7. Пара \{d,n\} играет роль закрытого ключа RSA.

Шифрование сообщения

Шифрование

  1. Сообщение представляют целым числом m\in[1,n-1].
  2. Шифротекст вычисляется как c=E(m)=m^e~\bmod~n
Шифротекст - тоже целое число из диапазона [1,n-1].

Расшифровывание

  1. Владелец секретного ключа вычисляет: m=c^d~\bmod~n

Подпись сообщения

Подпись

  • Взять открытый текст m\in[1,p-1].
  • Создать цифровую подпись s с помощью секретного ключа \{d,n\}:
s=m^d~\bmod~n.
  • Передать пару \{m,s\}, состоящую из сообщения и подписи.

Проверка подписи

  • Вычислить прообраз сообщения из подписи с помощью открытого ключа: m'=s^e~\bmod~n
  • Проверить подлинность подписи и неизменность сообщения, сравнив m и m'.

Криптографическая стойкость

Алгоритм RSA не является семантически безопасным.

Семантически безопасной называется криптосистема, для которой вычислительно невозможно извлечь любую информацию из шифротекстов, кроме длины шифротекста.


Габидулин стр 95


Система Orphus

Комментарии