RSA - цифровая подпись
Primary tabs
Forums:
Ранее вы рассмотрели порядок шифрования сообщения с помощью RSA.
Теперь же рассмотрим алгоритм генерации цифровой подписи - то есть создания контрольного значения по которому было бы возможно судить о том - было ли изменено сообщение при передаче по каналу.
Смысл
Цифровая подпись может использоваться=
- вместе с шифрованием сообщения
- а может просто прилагаться к сообщению, переданному в открытом виде
- и в том и в другом случае цифровая подпись позволяет убедиться , что сообщение было передано именно тем человеком, от кого оно ожидалось - а не злоумышленником
Алгоритм
Итак - Алиса пишет Бобу - она не хочет шифровать текст, а передаёт его в открытом виде (хотя можно и зашифровать, так к рассматриваемым ниже действиям добавятся ещё эти)
Чтобы подписать своё сообщение Алиса должна:
- Взять свой ''закрытый ключ''$\Large (d,n)$
- Вычислить значение подписи - аргументом является передаваемое сообщение =
$\Large s = S_A \left( m \right) = m^d \mod n$ - Передать сообщение и подпись $\Large \left\{ m, s \right\} $Бобу по каналу связи
Чтобы проверить подпись Алисы Боб должен:
принять сообщение и подпись $\Large \left\{ m, s \right\} $ от Алисы
- Взять открытый ключ Алисы $\Large (e,n) $
- Вычислить прообраз сообщения (то с чем мы будем сравнивать пришедшее в открытом виде $\Large m$):
$\Large m' = P_A \left( s \right) = s^e \mod n$ - Сравнить $\Large m' $и $\Large m$ и сделать выводы о том - было ли изменено сообщение (если $\Large m' $и $\Large m$ не совпадают, то это значит, что доверять переданным данным нельзя )
- Log in to post comments
- 3737 reads