第一回:ブロックチェーン基礎知識―パブリックキー、プライベートキーとデジタルサインと

 ー、パブリックキーとプライベートキー

ビットコインを言うとパブリックキー、プライベートキー及びアドレスという言葉がよく出ています。この3つの単語は一体何か、どのような関係があるのか?これらの問題を解けるのにビットコインの仕組を理解する必要があります。

3つの単語の意味と関係を下記の内容で説明します。

プライベートキーとは以下のような文字列です。

5KYZdUEo39z3FPrtuX2QbbwGnNP5zTd7yyr2SC1j299sBCnWjss

プライベートキーは計32桁の数字やローマ字がランダムで構成されます。一つの数字やローマ字がプログラミング語言には8桁の0もしくは1で構成されます。つまり、プライベートキーは256桁の0や1が一定の順序で構成されます。従って、プライベートキーの組み合わせは2256乗もあります。それは宇宙にある全ての原子よりも数が多いなので、同じプライベートキーがでてくる確率があまりない。プライベートキーの安全性は数学的に保証されます。

パブリックキーは実際はプライベートキーから生成されます。一つのプライベートキーから唯一のパブリックキーが生成されます。その過程は楕円曲線暗号という暗号方式を使用します。この暗号方式の特徴は逆演算ができないことです。つまり、プライベートキーが分かれば、パブリックキーを推算することができますが、その一方、パブリックキーが分かってもプライベートキーを推算することができません。そして、パブリックキーからビットコインのアドレスが生成されます。両者は実際は同じものです。

もう一つの特徴はプライベートキーで暗号化したものはパブリックキーでしか復号化できません。パブリックキーで暗号化したものも対応のプライベートキーでしか復号化できません。

 

二、デジタルサイン

デジタルサインはプライベートキーとパブリックキーを用いた暗号化技術です。これからは例を挙げながらデジタルサインを説明します。

image.png

キツネちゃんはパブリックキーとプライベートキーを持っています。パブリックキーは誰でも見られます。プライベートキーはキツネちゃんしか見えません。

image.png

キツネちゃんは友達のハスキーちゃんにある重要なメッセージを送りました。そのメッセージがハスキーちゃんのパブリックキーで暗号化されました。それで、他の人はハスキーちゃんのプライベートキーが分からなければ、そのメッセージをもらっても復号化でなくてメッセージが読めません。

しかし、柴犬さんは同時にハスキーちゃんにメッセージを送りました。それで、ハスキーちゃはどうやってメッセージを送った人の身元を分かちますか?

デジタルサインはこのような問題を解決することができます。その他、メッセージを改竄することも防止できます。

image.png

具体的に、キツネちゃんはハスキーちゃんのパブリックキーと自分のプライベートキーでメッセージを2回暗号化してからハスキーちゃんに送ります。ハスキーちゃんはキツネちゃんのパブリックキーでメッセージを復号化します。これでこのメッセージがキツネちゃんから送ったものが分かれます。そして、自分のプライベートキーで復号化してからメッセージを読みます。この仕組みはメッセージがハスキーちゃんしか読めないことを保証します。

がハスキーちゃんしか読めないことを保証します。

END