1.前置き
今回は環境構築でふと名前の出てきた秘密鍵について調べてみた形になります。きっかけとしては上司の方とお話をしているときに公開鍵って何?って感じで聞かれてうまく説明できなかったことがきっかけとなります。学生時代に名前は知っておりある程度どのようなモノかも知っているつもりでしたが、いざ説明しようとするとあいまいなところも多くあり、改めて学習しようと思い記事を作成しております。
内容としては秘密鍵とそれと対になる公開鍵について簡単にまとめたものになります。
2.秘密鍵・公開鍵とは?
一言でいうなら通信を行う際に暗号化とその復号化を行うために使用されるものです。
我々が日常的に通信を行う際、例えばメールを送ったりする際に自分と送りたい相手以外の第三者にその内容を勝手にみられるのは困りますよね?プライベート侵害もいいところです。
そのようなことが起こらないようにコンピューター間で通信を行う際は必ず暗号化というものを行っています。簡単なイメージとしては送りたいものを箱の中に入れ、鍵をかけてから送信し、送信した先で再度鍵を開けて中身を見られるようにするといったイメージです。
秘密鍵・公開鍵を用いて暗号化を行う方法を公開鍵暗号方式といいます。

以下URLより引用
https://engineer-ninaritai.com/public-key-cryptography/
3.公開鍵暗号方式についてもう少し詳しく
公開鍵暗号方式の手順は以下のようになっています(例としてメールを送受信する場合を考えます)
1.Aさん(受信者、メールを受け取る側)が自身の持っている秘密鍵を基にして公開鍵を作り、公開しておく
2.Bさん(送信者、メールを送る側)が公開された公開鍵を使ってメールを暗号化して、Aさんに送信する
3.Aさんは受信したものを自分の秘密鍵を使って復号化し、メールの中身を確認する

以下URLより引用
https://hanawablog.com/1702/
4.SSH鍵って…?
環境構築の中で公開鍵と一緒に出てきたSSH鍵という言葉についても軽く説明しておきます。
SSH鍵については通信時の話ではなく通信を行う前の認証に関係します。
クライアント(私たちユーザー)がサーバー(GitHubなどのサービス)に公開鍵を登録しておくことでログインしたユーザーと通信を行ってよいかをサーバー側が判定するための仕組みとなっています

5.まとめ
今回は秘密鍵・公開鍵についてまとめさせていただきました。
発展形として公開鍵暗号方式に加えて共通鍵暗号方式という方式を組み合わせたハイブリッド暗号化方式というものがあったりするのですが、少し複雑になっていしまうのでここで一旦まとめとさせていただこうかと思います。
個人的に学生時代に図としてざっくりと覚えていたものが出てきて少し懐かしさを覚えました。こういった技術を普段意識することはほとんどないですが、知識として頭の片隅に置いておきたい内容かと思います。