ハッシュ値について

ハッシュ値とは、簡単に言えば、
データの"指紋"のようなものです。
漏えい、改ざんなどの検知を目的に使われています。
ハッシュ関数という特殊な計算によって、
元データから不規則な文字列に変換されます。

ハッシュ値の特徴

  • ・元データと関数が同じであれば、同じハッシュ値になる。
  • ・元データが少しでも変わればハッシュ値は大きく変わる。
  • ・異なるデータから同じハッシュ値が生成されるのは困難。
    • ※SHA-1というハッシュ関数の場合に一致する確率は、
      約1極分の1です。(四麻で80回連続トップを取る確率)
  • ・元データを復元するのが不可能、あるいは非常に困難。
  • ・元データの値の長さに依存せず、ハッシュ値の長さは一定。

ハッシュ値の用途

主に改ざんの検知などで用いられています。
例えば、ソフトウェアのダウンロード時に、提供されている
ハッシュ値とダウンロードしたファイルのハッシュ値を
比較するすることで、ファイルが破損していないか、
あるいは改ざんされていないかを確認できます。
(その他、パスワードの安全な保存や、データ検索の高速化など
多岐にわたる場面で利用されています。)

Maru-Janでは、このハッシュ値の特性を活かし、
牌操作がないことを証明しています。
(変換のハッシュ関数は「SHA-1」を採用しています。)

牌操作がないことの証明はこちら