お金を増やす

公開鍵暗号とはどんな方法か?【勉強してみて感心】

「いちばんやさしいブロックチェーンの教本」という本で、ブロックチェーンの勉強をしています。

その中に、公開鍵暗号方式の解説があります。

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

公開鍵暗号方式

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

それぞれについて簡単に見てみましょう。

共通鍵暗号方式と公開鍵暗号方式

共通鍵暗号方式

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

図で説明するとこんな感じです。(暗号の説明では、AさんとBさんではなくて、アリスとボブを使うらしいです。)

共通鍵暗号共通鍵暗号では、お互いに同じ鍵を使います

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

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

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

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

この方法ではお互いに同じ鍵(暗号と復号のきまり)を持つ必要があります。

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

公開鍵暗号方式

そこで公開鍵暗号方式の出番です。

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

メッセージの送り先(ボブ)が「公開鍵」と「秘密鍵」のペアを持っています。

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

一方秘密鍵は自分で厳重に管理して、ボブ本人以外の他人には秘密にします。

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

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

公開鍵暗号ボブの公開鍵で暗号化あれたメッセージは、ボブの秘密鍵でしか復号できません!

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

でもボブの秘密鍵が無いので復号できないのです!ということです。

公開鍵暗号(盗聴)他の誰かに暗号文を盗まれても、ペアとなる秘密鍵がないので復号できない

この公開鍵と秘密鍵のペア、というところがミソですね。

考えた人はスゴイなぁって感心です。

具体的な暗号化の方法は、結構複雑な計算をいろいろやるようです。

まぁ、どんな計算をするかは使う人はあんまり気にしなくて良いですね。

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

仮想通貨ビットコイン

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

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

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

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

のような関係です。

ひとこと

共通鍵暗号方式と公開鍵暗号方式について見てみました。

現代社会のいろんな情報のやり取りにも使われている方法なので、概要だけでも押さえておくのが良いですね。