世界一ざっくりとハッシュ値について説明する

こんにちは、1日1つ新しい知識を身に付ける中の谷のナウシカです。

この記事ではハッシュ値データが改ざんされたかどうか判断するためのものであることを説明していきます!

 

 

ブロックチェーンのブロックにハッシュ値が関係している!

 

前回はブロックチェーンとその特徴であるP2Pネットワークについて説明しました。

ブロックチェーンのブロックの中にハッシュ値というものが登場してきたのを覚えていますか?

覚えていない人はこちらを読んでみてください!↓↓

 

ハッシュ値の前にハッシュ関数を知ろう!

 

ハッシュ値の説明に入る前にハッシュ関数というものの説明をさせてください。

ハッシュ関数とは、データをハッシュ値という数値に変換するもののことです。

インターネット上ではデータを数字として扱います。データの数字に特別な計算を施してハッシュ値という値を求めます。

このハッシュ関数で行う計算は電卓でできるような簡単な計算ではなく、次のような決まりのある難しい計算です。

  1. 入力する値が少しでも変わると、計算結果の値が全く違うものになる
  2. 計算結果から入力する値を求めることがむちゃくちゃ難しい

データの値をこのような決まりの下で計算し、はじき出された値をハッシュ値と言うのです。

つまり、データが改ざんされるとハッシュ値が全然違う値になるハッシュ値が同じになるように偽物のデータを作ることができないということです。

 

ハッシュ値はどう役立つのか?

 

データを送る側、受け取る側の二人がいる場面を思い浮かべてみてください。

  1. データを送る側の人はハッシュ関数を使って送るデータのハッシュ値を求めます。
  2. 求めたハッシュ値と送りたいデータを一緒に受け取る側へ送ります。
  3. 受け取る側はデータを受け取ったら、送る側の人と同じハッシュ関数を使って送られてきたデータのハッシュ値を求めます。
  4. 受け取る側の人は、自分が求めたハッシュ値と送られてきたハッシュ値を照らし合わせハッシュ値が同じならそのデータは改ざんされていないハッシュ値が異なっていたらそのデータは改ざんされていると判断することができます。

実際はデジタル署名の仕組みを使って、データとハッシュ値を秘密鍵で暗号化し、受け取る側は送る側の公開鍵で復号化する仕組みになっています。

なのでハッシュ値とデータの両方が途中で改ざんされていたとしても改ざんを判断することができます。

f:id:bz-badcommunication-nak:20180102164328j:plain

ハッシュ値の仕組みについて理解することができたでしょうか??

お役に立てれば幸いです!

では、(@^^)/~~~

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)