公開鍵暗号方式をスッと理解できる記事

アイキャッチ画像
  • 公開鍵暗号方式の仕組みとは?
  • 公開鍵暗号方式がイマイチ理解できない・・・
  • 公開鍵暗号方式をスッと理解するには?

本記事ではこのような疑問や悩みを解決します。


エンジニアであればほぼ確実に扱わなければいけないのが「公開鍵暗号方式」です。

例えばHTTP通信やSSH接続の際に公開鍵暗号方式を使うことは当たり前になっています。

しかし、直感的な理解をせずになんとなく取り扱い手順などを読んで扱っている方はそれなりにいらっしゃるのではないでしょうか。

それもそのはず、「公開鍵暗号方式は異なる鍵を使用して暗号化と復号を行う暗号方式です」と言われてもいまいちピンっときませんよね。


そこで今回は今までわかりづらかった公開鍵暗号方式がスッと理解できるように解説していきます。

あわせて読みたい

フリーランスエンジニアが案件獲得方法とは?自ら営業せずに案件を獲得するには?実務経験1年未満でも大丈夫なの? 本記事ではこのような疑問を解決します。これからフリーランスエンジニアとして独立したい方は、兎にも角にも案件の獲得が急務です[…]

アイキャッチ画像

そもそも暗号化とは?

暗号化とは平文を暗号文に変換することを言います。

暗号化の目的は、通信途中の文章が敵に取られても、通信の内容をバレないようにすることです。

伝えたい文章(平文)を暗号文に変換して送り、
受け取った人は暗号文を平文に戻して元の文章を得て意思疎通を図ります。


そして、この「平文を暗号文に変換する方法(暗号化)」と「暗号文を平文に戻す方法(復号)」は、
いくつも種類があり、世の中では様々な方法で暗号化による意思伝達が行われてきました。

公開鍵暗号方式も暗号化技術のうちの1つですが、
なぜ公開鍵暗号方式がよく使われているのでしょうか?


まずは昔の暗号化の問題点を見ていきましょう。

昔の暗号化の方法

昔の暗号化は「平文を暗号化する方法(ルール)を決めて、文章のやりとりをする者たちの間でそのルールを共有する」といった方法で行われていました。
※諸説アリ

つまり、平文↔︎暗号文の変換ルールは1つで、平文→暗号文のルールがわかれば、
暗号文→平文のルールもわかる
ということです。

例えば、「アルファベットを後ろに1個ずつずらして暗号化する」というルールであった場合、
アルファベットを前に1個ずつずらせば平文に戻すことができます。

このような方法を共通鍵暗号方式と言います。

共通鍵暗号方式は暗号化のルールを身内で共有すればそれでOKというシンプルで便利な方法です。

ただ、この方法だと重大な問題点があって、
暗号化のルールがバレてしまうと、平文化のルールもバレてしまいます。

したがって、この問題点を解決するためには、
片方の変換ルールがバレたからといって、もう一方のルールはバレないようにする必要があるわけです。


そこで登場したのが、公開鍵暗号方式です。

あわせて読みたい

エンジニアが副業を始めるには?エンジニアの副業にはどんな種類がある? 本記事ではこのような疑問を解決します。副業がブームになっている昨今、エンジニアほど副業をやりやすい職業はないでしょう。副業に関心があったり、副業をしてみたいと思っ[…]

アイキャッチ画像

公開鍵暗号方式の登場

近代の技術革新によって、
共通鍵暗号方式の問題点を解決できる、公開鍵暗号方式というものが誕生しました。

公開鍵暗号方式は平文→暗号文の方法(暗号化)がバレても、
暗号文→平文の方法(復号)はバレないようになっています。

公開鍵暗号方式の仕組みはよく南京錠に例えられていて、
平文→暗号文を南京錠とすると、暗号文→平文を鍵と表すことができます。

南京錠の場合だと、南京錠だけ持っていても開けられないですし、
鍵だけ持っていても意味を成し得ません。

なお、逆にして暗号文→平文を南京錠、平文→暗号文を鍵と考えても問題ありません。

そして、公開鍵暗号方式では公開鍵と秘密鍵が存在していて、
公開鍵を文字通り公開し、秘密鍵を特定の者に配布します。


これによって、公開鍵でかけたロックを、秘密鍵で解除することができるのです。

ちなみに、「秘密鍵でかけたロックを、公開鍵で解除する」といったことも理論上はあり得ます。

この場合、公開鍵は公開されているため、誰でもロックを解除することができてしまいます。

ただ、こうなると暗号化の意味を成さないため、
先ほど説明した通り「公開鍵でロックをし、解除して欲しい人に秘密鍵を配布する」というのが一般的な公開鍵暗号方式です。

まとめ

以上が公開鍵暗号方式の解説になります。

暗号化の歴史や共通鍵暗号方式について知ることで公開鍵暗号方式の理解がグッと高まったと思います。

本記事の内容を抑えることで、今後は確固とした理解をもとに公開鍵暗号方式を扱うことができるでしょう。