お金を増やす

ブロックチェーンで使われている公開鍵暗号とはどんな暗号の方法なのか?【勉強してみて感心】

ブロックチェーンの概要を知りたくて「いちばんやさしいブロックチェーンの教本」という本を買ってきました。

本の中に公開鍵暗号の解説があります。

暗号の鍵なのに「公開」なの?って感じですが、勉強してみたらよくできていて関心です。

公開鍵暗号方式

暗号の方式について勉強すると、昔からある共通鍵暗号(きょうつう かぎあんごう)と新しい公開鍵暗号(こうかい かぎあんごう)という2つのやり方が出てきます。

それぞれについてざっと見てみましょう。

共通鍵暗号

まずは共通鍵暗号です。

共通鍵暗号は、相手に情報を送るときの暗号化とそれを受け取って読むときの復号化に同じ鍵を使う、というものです。

図で説明するとこんな感じです。

共通鍵暗号の図共通鍵暗号では、暗号化と複合化で同じ鍵を使います。なお、暗号の説明ではAさんとBさんではなくて、アリスとボブを使うらしいです

平文とは、暗号化されていないメッセージのこと。

暗号文とは、暗号化されたメッセージのことです。

例えば「ひらがなを1つだけ後ろにずらす」というルールを共通鍵として使う場合を考えましょう。

この場合、アリスが1つ後ろにずらしてボブが1つ前に戻せば、元のメッセージを読むことができます。

お互いに同じ鍵(暗号と復号のきまり)を持っているわけです。

共通鍵暗号の図ひらがなを1つずらして戻す、という共通の方法を使う

この時に、同じ鍵である「共通鍵」をどうやって安全にアリスからボブに渡すか、が問題となります。

公開鍵暗号

つぎに公開鍵暗号です。

公開鍵暗号では公開鍵秘密鍵という「鍵のペア」が出てきます。

メッセージを受け取るボブの公開鍵と秘密鍵ペアを使います。

ここで、公開鍵は誰でも見ることができます。

一方の秘密鍵はボブが自分で厳重に管理して、ボブ本人以外の他人には知られないようにする必要があります。

アリスからボブにメッセージを送るときに、ボブの公開鍵を使って暗号化して送ります。

そしてそれを復号できるのはペアであるボブの秘密鍵のみ、というしくみです。

公開鍵暗号の図ボブの公開鍵で暗号化されたメッセージは、ボブの秘密鍵でのみ復号できる

公開鍵暗号における盗聴

ここでたとえば、第三者であるスミスが何らかの方法でこの暗号文を入手したとします。

でも、スミスはボブの秘密鍵を持っていないので復号できない!ということです。

公開鍵暗号での盗聴第三者に暗号文を盗まれても、ペアとなる秘密鍵がないので復号できない

う~んなるほど、この公開鍵と秘密鍵のペアというところがミソですね。

具体的な暗号化と複合化の計算方法は、結構複雑な数学をつかっていろいろやるようですが、まぁ具体的にどんな計算をするかはあんまり踏み込まなくても良いですね。

そういうのは専門家に任せましょう。^^;

ビットコインだと・・・

仮想通貨「ビットコイン」の口座に相当するウォレットは、この公開鍵と秘密鍵のペアに相当します。

お金を送金する人は、受け取る人のビットコインアドレス(これが公開鍵に相当)宛てにコインを送ります。

そのコインを使うためにはペアとなる秘密鍵が必要、ということです。

  • 公開鍵:口座番号
  • 秘密鍵:暗証番号

のような関係です。

ひとこと

共通鍵暗号と公開鍵暗号についてざっと勉強してみました。

ビットコインだけでなく、ネットを通じたいろんな情報のやり取りにも使われている方法なので、概要だけでも押さえておくのが良いですね。