В криптографии открытого ключа все, что я знаю, это то, что открытым ключом на сервере является шифрование сообщения, а клиент, который имеет закрытый ключ, может дешифровать это сообщение, которое в порядке.В криптографии с открытым ключом, как сервер расшифровывает сообщение от клиента?
Часть, которую я не понимаю, заключается в том, что, поскольку сервер имеет только открытый ключ для шифрования сообщения, как он расшифрует ответ от клиента. Я считаю, что публикация не может использоваться для дешифрования ответа от клиента.
Также как клиент шифрует сообщение на сервер, поскольку закрытый ключ используется только для дешифрования сообщения, а не для шифрования.
Извините за мое невежество. Я обыскал интернет, и почему-то ответы на них уходят от меня.
Любая помощь была бы принята с благодарностью.
Спасибо, Mohamed
* «сервер имеет только открытый ключ» * - вот где вы ошибаетесь. На сервере есть как закрытый ключ, так и открытый ключ. –
Спасибо. Вот мой дальнейший вопрос. В реальном мире, скажем, например, чтобы получить доступ к репозиторию gitHub из локального, после генерации ключей с помощью ssh-keygen клиент копирует * .pub ключ на сервер git-хаба (что означает, что открытый ключ копируется на сервер). Другими словами, сервер теперь имеет только * .pub-ключ (скажем, id_rsa.pub). В этом случае, как мы можем сказать, что на сервере github есть мой закрытый ключ? Посмотрите URL-адрес https://help.github.com/articles/adding-a-new-ssh-key-to-your-github-account/ для ssh для github – mohamed
@mohamed. В этом случае вы говорите о подписании который выполняется с помощью закрытого ключа и проверки подписи открытым ключом. В RSA это в основном такая же операция, как и шифрование, но другой RSA - особый случай. Другие асимметричные криптоалгоритмы существуют либо для шифрования, либо для подписи. –