5chっぽく秘密鍵と公開鍵について解説する

[※レスはAIを利用して作成しています](https://qiita.com/webgoto/items/bb193a252b53b2c3e946)
## 【悲報】秘密鍵とか公開鍵ってなんや？
　
1:
**<font color="mediumseagreen">意味がわからん</font>**
　
　
2:
**<font color="">暗号化の仕組みの一つだよ</font>**
　
　
11:
**[>>2](#no)**
**<font color="">詳しく教えてエロい人</font>**
　
　
19:
**[>>11](#no)**
**<font color="mediumseagreen">秘密鍵は自分だけが持ってる鍵で<br>公開鍵はみんなに公開する鍵</font>**
　
　
39:
**[>>19](#no)**
**<font color="">秘密鍵は絶対に他人に渡しちゃダメってこと？</font>**
　
　
48:
**[>>39](#no)**
**<font color="mediumseagreen">うん<br>作ってから秘密鍵は厳重に管理しないといけない</font>**
　
　
15:
**[>>11](#no)**
**<font color="red">公開鍵を使って暗号化されたものは<br>秘密鍵でしか復号できない<br><br>逆に秘密鍵で暗号化したものは<br>ペアになってる公開鍵でしか復号できない</font>**
　
　
52:
**<font color="">SSH(Secure Shell)でも<br>この公開鍵暗号方式使うてるで</font>**
　
　
53:
**[>>52](#no)**
**<font color="">SSHはリモートのコンピュータにログインしたりするのに使うプロトコルやね</font>**
　
　
58:
**[>>53](#no)**
**<font color="mediumseagreen">サーバー側に公開鍵を登録しておいて<br>クライアントが秘密鍵を持ってるんだよね</font>**
　
　
61:
**[>>58](#no)**
**<font color="">そう　クライアントはSSH接続する時に秘密鍵で暗号化して送る<br>サーバーは受け取った情報を公開鍵で検証してクライアントを認証する</font>**
　
　
66:
**[>>52](#no)**
**<font color="">SSHの認証にはパスワード認証と公開鍵認証があるぞ</font>**
　
　
65:
**<font color="red">SSL/TLSでもこの公開鍵暗号使うとるで<br>HTTPSとかな</font>**
　
　
68:
**[>>65](#no)**
**<font color="">SSLの場合サーバが秘密鍵を持ってて<br>公開鍵が「SSL証明書」に入っとる</font>**
　
　
69:
**<font color="">SSLは最初に公開鍵暗号方式を使って<br>共通鍵を安全にやり取りして<br>その後は共通鍵暗号方式に切り替えるんだよな</font>**
　
　
74:
**[>>69](#no)**
**<font color="red">共通鍵ってなに？</font>**
　
　
78:
**[>>74](#no)**
**<font color="">SSLで通信を暗号化するための鍵</font>**
　
　
83:
**[>>78](#no)**
**<font color="mediumseagreen">共通鍵はクライアントとサーバーの両方が持ってるの？</font>**
　
　
88:
**[>>83](#no)**
**<font color="">そう 最初はクライアントが生成した共通鍵を<br>サーバーの公開鍵で暗号化してサーバーに送る</font>**
　
　
90:
**[>>88](#no)**
**<font color="">サーバーは自分の秘密鍵で復号して共通鍵を取り出す</font>**
　
　
95:
**[>>90](#no)**
**<font color="mediumseagreen">そうすることで<br>第三者に共通鍵を盗まれずに済むわけか</font>**
　
　
97:
**[>>95](#no)**
**<font color="">そういうこと<br>で、その後の通信は全てその共通鍵で暗号化される</font>**
　
　
100:
**[>>97](#no)**
**<font color="">共通鍵は毎回新しく生成されるの？</font>**
　
　
105:
**[>>100](#no)**
**<font color="">うん<br>セッションごとに新しい共通鍵が使われる<br>だから前の通信を解読されても<br>次の通信は安全</font>**
　
　
107:
**[>>105](#no)**
**<font color="">なるほど<br>共通鍵は二人だけの秘密の鍵って感じか</font>**
　
　
108:
**[>>107](#no)**
**<font color="">公開鍵暗号方式は処理が重いから<br>大量のデータを送るのには向かないんだよ</font>**
　
　
113:
**[>>108](#no)**
**<font color="">だから共通鍵暗号方式と組み合わせることで<br>安全性と効率性を両立してるってわけか</font>**
　
　
121:
**[>>113](#no)**
**<font color="">まさにそれ<br>SSLの仕組みは複雑だけど理にかなってる</font>**
　
　
136:
**<font color="red">公開鍵は名前の通り公開しても大丈夫なの？</font>**
　
　
144:
**[>>136](#no)**
**<font color="">うん<br>公開鍵は秘密鍵がないと意味ないからね<br>でも改ざんされないように気をつけないと</font>**
　
　
153:
**<font color="red">秘密鍵のパスフレーズって何？</font>**
　
　
163:
**[>>153](#no)**
**<font color="">秘密鍵を更に暗号化するためのパスワードみたいなもの</font>**
　
　
173:
**[>>163](#no)**
**<font color="">秘密鍵が漏れても<br>パスフレーズがないと使えないから安全性が上がる</font>**
　
　
182:
**[>>173](#no)**
**<font color="mediumseagreen">でもパスフレーズ設定するとsshのたびに入力しないといけなくて面倒くさい</font>**
　
　
189:
**[>>182](#no)**
**<font color="">ssh-agentっていうのを使えば<br>パスフレーズ入力を省略できるよ</font>**
　
　
198:
**[>>189](#no)**
**<font color="">ssh-agentか<br>便利そうだな</font>**
　
　
205:
**<font color="mediumseagreen">秘密鍵と公開鍵の管理って大変そう</font>**
　
　
206:
**[>>205](#no)**
**<font color="">慣れれば何てことないけど<br>最初は大変かもね</font>**
　
　
215:
**[>>206](#no)**
**<font color="">秘密鍵は暗号化して保存しておくのが基本</font>**
　
　
239:
**[>>215](#no)**
**<font color="red">そうだね<br>秘密鍵の管理は慎重にやらないとね</font>**


## 他の解説はこちら
他にもWEBに関する技術を紹介しているので
面白かったら見てみてください！

https://service.webgoto.net/www-mujin/