私が知っているすべての公開鍵暗号化では、サーバーの公開鍵はメッセージを暗号化することであり、秘密鍵を持つクライアントはそのメッセージを復号することができます。公開鍵暗号化では、サーバーがクライアントからのメッセージをどのように復号化しますか?
私が理解していない部分は、サーバーがクライアントからの応答をどのように復号化するかをメッセージを暗号化するための公開鍵だけを持っているからです。私は、一般の人がクライアントからの応答を解読するのに使用できないと信じています。
また、クライアントがプライベートキーとしてサーバーに送信するメッセージは、メッセージの暗号化にのみ使用され、暗号化には使用されません。
ご迷惑をおかけして申し訳ありません。私はインターネットを検索し、何とかこれらの答えが私から逃れている。
ご協力いただければ幸いです。
おかげで、 モハメド
* "サーバーには公開キーのみがあります" * - あなたが間違っている場所です。サーバーには秘密キーと公開キーの両方があります。 –
ありがとうございます。ここに私のさらなる質問があります。実際には、たとえば、ローカルからgitHubリポジトリにアクセスするために、ssh-keygenを使用してキーを生成した後、クライアントは* .pubキーをgit hubサーバにコピーします(つまり、公開鍵がサーバにコピーされます)。つまり、サーバーには* .pubキー(たとえばid_rsa.pub)しかありません。この場合、githubサーバーに私の秘密鍵があるとはどういうことが言えますか? URLを参照してくださいhttps://help.github.com/articles/adding-a-new-ssh-key-to-your-github-account/ sshのgithubへ – mohamed
@モハメドあなたは署名について話していますこれは秘密鍵で行われ、署名を公開鍵で検証します。 RSAでは、これは基本的に暗号化と同じ操作ですが、他のRSAは特殊なケースです。他の非対称暗号アルゴリズムが暗号化または署名のために存在する。 –