暗号方式の種類

仮想通貨取引をしていると、必ずといっていいほど耳にすると思いますが、

インターネットおいて、セキュリティ強化のための技術である「公開鍵」「秘密鍵」について紹介したいと思います。

この技術はブロックチェーンを理解する上で必要不可欠な暗号技術になります。

 

一般的に使われる暗号方式は以下の二つがあります。

共通鍵暗号化方式・・・共通鍵だけで使える。

公開鍵暗号化方式・・・公開鍵と秘密鍵の組み合わせで使える。

共通鍵暗号化方式

共通鍵暗号化方式は、暗号化する際の鍵と復号化する際に同じ鍵を使うものです。

この共通鍵の情報は、送信側と受信側の二者間のみで共有されています。

 

ただ、鍵の受け渡しを安全に行うのが難しく、

鍵を秘密にするということに限界があるというデメリットの側面を持っています。

 

~共通鍵通信の流れ~

  1. 送信側が、共通鍵でデータを暗号化し、受信側へ送信する。
  2. 受信側が受け取ったデータを、同じ共通鍵で復号化し、データを取得する。

 

公開鍵暗号化方式

公開鍵暗号化方式のデメリットを解決したのが「公開鍵暗号化方式」です。

 

公開鍵暗号化方式は、暗号化・複合化する際の鍵に、

「公開鍵」「秘密鍵」の二つを用いて行います。

 

~公開鍵通信の流れ~

  1. 送信側は、受信側が公開している公開鍵を取得し、その公開鍵を使って送信するデータを暗号化して送信する。
  2. 受信側は、送信側から受け取ったデータを受信側のみ知っている秘密鍵で復号化して、データを取得する。

公開鍵&秘密鍵の関係性

公開鍵

公開鍵とは、名前からも分かるように世界中に公開している鍵のことです。

公開鍵は世界中に教えても問題ない、誰でも取得することのできる「鍵」になります。

秘密鍵

秘密鍵とは、公開鍵とは逆で、自分自身しか知らない鍵のことになります。

また秘密鍵は、ランダムな文字列を利用する事によって作成されるので、秘密鍵を推測する事は非常に難しいです。

 

公開鍵は秘密鍵は一つに対になっています。

ですが、最初に作成されるのは秘密鍵の方になります。秘密鍵が作られて後、公開鍵が作られます。

公開鍵と秘密鍵の役割

仮想通貨には色々な種類のコインがありますが、

今回はビットコインを例にとって話します。

 

ビットコインは非中央集権の特性を持っており、

取引(トラザクション)記録を世界中に公開しているのは既存の事実です。

そしてそれらの取引記録を皆で管理・監視することによりセキュリティ面を強化しています。

 

しかし、一般の共有ネットワークでは、

他の人に自分自身のビットコインを操作され、奪われる危険性をはらんでいます。

 

その解決方法として、

ビットコインでは2つの鍵(公開鍵・秘密鍵)を作られました。

秘密鍵は自分以外に教えてはいけない、受信側のみ保持している鍵となります。

もしも他人に知られてしまうと、ブロックチェーン上の権限をすべて知られた相手に渡したことになってしまうので、

絶対に誰にも教えてはいけないものになります。なので教えるとしても絶対に信用できる身内などにとどめる必要があります。

 

この2つの鍵は、ビットコイン取引の中で「電子署名」を行うために必要になります。

 

この方法を使えば、データを復号できるのは受信者だけなので、

他の人に例えデータを盗まれても復号されないというメリットがあります。

また、復号化するために必要な情報を送信側に知らせることなく暗号通信をすることが可能になります。

電子署名(署名)

電子署名は、紙の契約書にサインをすることと同じ役割をはたします。

一言でいうと、本人確認のシステムになりますね。

 

例えば、紙の契約書にサインをする場合、サインの役割は「契約内容に納得した事の証明」になります。

電子署名でもこれと同様の性質を持っています。

ですので、ビットコインの電子署名では、公開鍵と秘密鍵を使って本人確認が行われます。