ブロックチェーンで使用されている暗号技術をおさらいしよう
暗号化と復号化
暗号化とは、他人に知られたくない情報をやり取りする際に用いられる仕組み全般のことを意味します。
また、暗号化されたやり取りを元の文章(平文)に戻すことを復号化といいます。
共通鍵暗号と公開鍵暗号
暗号化と復号化に同じ鍵を使用する仕組みを共通鍵暗号といいます。
暗号化と復号化に異なる鍵を使用する仕組みを公開鍵暗号といいます。
ブロックチェーンにおいては公開鍵暗号が使用されますが、一般的には共通鍵を暗号化・復号化するために公開鍵暗号が使用されます。
ハッシュ関数
特定の入力値に対して同じ出力値を返し、その出力値が全く予想できず、出力値から入力値を逆算して求めることは極めて困難という特徴を持つ仕組みをハッシュ関数といいます。
ハッシュ関数にかけることをハッシュ化といい、ハッシュ化によって生成される出力値をハッシュ値といいます。
ブロックチェーンでは、PoWにおけるマイニングの際に使用していたり、ブロックチェーンに記録するデータが改ざんされた場合の即時検知に使用していたりします。
(定期的にデータをハッシュ化することにより、前後でハッシュ値が異なっていないか確認しています)
電子署名
デジタルコンテンツの作成者・所有者が本人であることを証明する仕組みを電子署名といいます。
電子署名を活用することで、デジタルコンテンツの作成者を特定することができます。
ブロックチェーンでは、仮想通貨の送金者を特定する場面などで活用しています。
電子証明書とPKI
電子署名を作成する際に公開鍵暗号を応用しますが、その公開鍵が本人のものであるかどうかを検証・管理するための仕組みのことを電子認証局(CA:Certification Authority)といいます。
電子認証局は、公開鍵が本人のものであることを確認し、その人専用の電子証明書を発行します。
このような、電子認証局による公開鍵の検証・管理、電子証明書の発行といった一連の流れをPKI(Public Key Infrastructure)といいます。
タイムスタンプ
電子署名が押された時刻を検証するために必要な仕組みをタイムスタンプといいます。
タイムスタンプは、その時点で確かにそのデータが存在したという証明のために利用されます。
ブロックチェーンの場合は、仮想通貨の送金時に電子署名に対してタイムスタンプを付与することで、その時点で確かにその仮想通貨が送金されたという証明を行なっています。
※カリキュラムの構成上、ハッシュ関数とタイムスタンプを暗号技術として扱いましたが、それ自体は暗号技術ではない点にご留意ください。
Check your achievement
Click the “Tick” button
if you understand the lesson so far.