未分類

ブロックチェーン:「公開鍵」と「秘密鍵」

f:id:kojitakahashi6:20171102004427j:plain

 

「公開鍵」と「秘密鍵

 

ブロックチェーンにとって暗号化技術は非常に重要なものであり、ブロックチェーンを理解するのに暗号化技術は避けては通れないものなのです。

 

暗号とは

 

でも、そもそも暗号とはなんなのか、どうして使うのか。

 

株式会社CICのサイトによると、

「暗号化」とは、「意味の分かる情報(そして、知られたくない情報)」を、「何らかの手段」によって、「意味の分からない情報」に変換することを言います。また、「意味の分からない情報」を「意味の分かる情報」に戻すことを「復号」と言います。 

 と書かれています。

 

つまり、知られたくない情報を、特殊な技術で、カモフラージュすることです。

そのカモフラージュすることを「暗号化」といい、そのカモフラージュされた状態から、元の知られたくない情報の原型に戻すことを「復号化」と言います。

 

そして、一般的には、「カモフラージュの仕方(暗号化)」、「カモフラージュの解き方(復号化)」、そして、その暗号化、復号化を行う「鍵」の3点が必要になってきます。

 

 

現代暗号の種類

 

現代暗号には、「共通鍵暗号」と「公開鍵暗号」のに種類があります。

 

これは、先ほど暗号を取り扱う際に必要な3点の中の一つである「鍵」が関係してきます。

 

簡単に言えば、

 

共通鍵暗号」は、

“暗号化する鍵” = “復号化する鍵”

と、単一の鍵で暗号化及び復号化が行われる場合であり、

 

逆に、「公開鍵暗号」は、

“暗号化する鍵” ≠ “復号化する鍵”

と、暗号化する鍵と復号化する鍵が異なる場合の暗号になります。

 

図でわかりやすくすると、下記のようになります。

f:id:kojitakahashi6:20171102012119p:plain

共通鍵暗号の場合は、一種類の鍵だけなのに対し、公開鍵暗号は二種類の鍵が必要になるのです。

 

ここで注意したいのは、RSA暗号などでは、秘密鍵は、対になる公開鍵を作成できてしまうことから、秘密鍵は絶対に公表してはいけないということです。よって、基本的に、自分が使うのは秘密鍵、相手が使うのが公開鍵と把握しておきましょう。

 

 

そして、本題の「公開鍵」と「秘密鍵」について

 

公開鍵暗号には、「公開鍵」と「秘密鍵」があるのは上記で述べました。

 

今後のために言っておくと、共通鍵が暗号化、復号化、どちらもできるように、公開鍵、秘密鍵もそれぞれ暗号化、復号化することができます。

 

 

しかし、今回、一般的な使用では、公開鍵で暗号化し、その後、秘密鍵で復号化します。

 

少々複雑なので、例として、

AさんからBさんへの暗号化された値Aの送信を図にして説明したいと思います。

 

f:id:kojitakahashi6:20171102031227p:plain

 

先に言っておくと、ポイントは、

どちらもBさんの公開鍵、秘密鍵を使用しているということです。

 

1. まずBさんは、自身の公開鍵を公開します。

2. 公開されたBさんの公開鍵を使用して、Aさんが送りたい値A を暗号化します。

3. Aさんは暗号化された値A の暗号文を Bさんに送ります。

4. Bさんは送られてきた暗号文を自身の秘密鍵を使用して復号化します。

5. そして、無事値A を取得することができるのです。

 

上記の図で、双方がどちらもBさんの公開鍵、秘密鍵を使用していることからもわかる通り、この2つの鍵は、ペアになる公開鍵、秘密鍵でなければなりません。

例えるならば、この2つの鍵は、鍵と鍵穴のような関係なのです。したがって、その鍵穴にあった鍵である必要があります。

 

 

本日は以上になります。

ここまで読んでいただき、ありがとうございました。

 

次回は、電子署名について書いていきたいと思います。

 

僕自身も使用しているオススメの仮想通貨取引所です!

ビットコイン取引高日本一の仮想通貨取引所 coincheck bitcoin