Что такое шифрование закрытым ключом?

При асимметричном шифровании, по Википедии, для зашифрования и расшифрования применяются разные ключи - потому шифрование и называется - асимметричным.
Открытый ключ - применяется для зашифрования и может передаваться свободно.
Закрытый ключ - применяется для расшифрования и должен храниться в секрете.
Именно это и происходит при шифровании данных в открытых каналах данных, и здесь все понятно.

Теперь, что написано про создание ЭЦП. Документ (или его хеш), для создания подписи, зашифровывается закрытым ключом. И любой, кто имеет открытый ключ, может расшифровать этим открытым ключом зашифрованный документ (или его хеш). Должен получить исходный документ (или его хеш).

Теперь вопрос: как возможно зашифровать документ закрытым ключом? И как можно расшифровать открытым ключом? Ровно во всех источниках - по крайней мере, в Википедии и около нее - говориться ровно противоположное: открытый ключ - зашифровывает, закрытый ключ - расшифровывает.
  • Вопрос задан
  • 25214 просмотров
Пригласить эксперта
Ответы на вопрос 5
gbg
@gbg
Любые ответы на любые вопросы
Открытый/закрытый - статус публичности ключа.

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

Сами ключи при этом для алгоритма не различаются никак, нет привязки, что открытый - шифрует, закрытый - расшифровывает.

Нужно понимать эту фразу так - RSA не важно, первую или вторую экспоненту вы обозвали открытым ключом. Вы всегда можете что-то зашифровать используя из пары первую экспоненту и расшифровать, используя затем вторую экспоненту из этой же пары.
Ответ написан
@AlexLF Автор вопроса
Нашел в Википедии - в весьма странном месте (старая версия статьи об SSL, в новейшей версии нет) такие слова:

"При шифровании с открытым ключом используются два ключа, открытый и закрытый, причем любой из них может использоваться для шифрования сообщения. Если для шифрования сообщения был использован открытый ключ, то для расшифровки должен использоваться закрытый, и наоборот.
В такой ситуации возможны два способа использования ключей.
• Во-первых, сторона, хранящая в тайне секретный ключ и опубликовавшая открытый, может принимать от противоположной стороны сообщения, зашифрованные открытым ключом, которые не может прочитать никто, кроме нее (ведь для расшифровки требуется секретный ключ, известный только ей).
• Во-вторых, с помощью закрытого ключа сторона-обладатель закрытого ключа может создавать зашифрованные сообщения, которые может прочесть кто угодно (ведь для расшифровки нужен открытый ключ, доступный всем), но при этом прочитавший может быть уверен, что это сообщение было создано стороной-обладателем секретного ключа."

Если так, то вопрос полностью снимается (т.е. просто в Википедии были недоговоренности).

Это так?
Ответ написан
MonkAlbino
@MonkAlbino
Фронтенд разработчик
Есть 2 ключа:
1. Ключ для зашифровки сообщения (КЗ).
2. Ключ для расшифровки сообщения (КР).

Термины "закрытый" (ЗК) и "открытый" (ОК) ключ - это плавающие понятия для разных случаев, которые показывают статус публичности ключа.
В случае шифрованного канала:
КЗ - это ОК
КР - это ЗК
Вы всем даёте ключ для шифрования сообщений вам, которые прочитать сможете в итоге только вы.

В случае подписи:
КЗ - это ЗК
КР - это ОК
Вы всем даёте ключ для расшифровки сообщений написанных вами, ключ, который расшифрует вашу подпись подтвердит, что вы - автор сообщения.

P.S. Аббревиатуры КЗ, КР, ЗК и ОК взяты для удобтва.
Ответ написан
EndUser
@EndUser
"Шифрование" - шифруют все, расшифровывает один.
"Подпись" - шифрует один, расшифровывают все.

В асимметричном алгоритме ключа два, и они алгоритмически равнозначны. Можно использовать для шифрования левый, а можно правый. Без разницы. Тогда при расшифровке, соответственно, наоборот - правый и левый.

Там где слово "один" подставляете слово "закрытый".
Там где слово "все" подставляете слово "открытый".

Открытый/закрытый просто роль ключа. Один из двух печатаете на своей визитке, публикуете в газете, регистрируете в публичной БД ЭЦП. И он нарекается открытым.

Публика может им шифровать для вас для, собственно, шифрования сообщений к вам. А может расшифровать ваше сообщение к публике, понимая, что такую ахинею могли зашифровать только вы. ;-)
Ответ написан
@cane
Открытый ключ применяется для шифрования сообщения и для проверки цифровой подписи. Это две разные функции.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы