読み方:ハッシュち

ハッシュ値 【hash value】 ダイジェスト値 / digest value / 要約値 / メッセージダイジェスト / message digest / ハッシュコード / hash code

概要

ハッシュ値(hash value)とは、元になるデータから一定の計算手順により求められた固定長の値。大きなデータの一致・不一致を簡単に調べることができ、暗号や認証、デジタル署名、データ構造、ファイル管理などに応用されている。

ハッシュ値は元のデータの長さによらず一定の長さとなっており、同じデータからは必ず同じハッシュ値が得られる。実用上は数バイトから数十バイト程度の長さとすることが多い。計算過程で情報の欠損が起きる不可逆な変換が含まれ、ハッシュ値から元のデータを復元することはできない。

ハッシュ値は元のデータの特徴を表す短い符号として利用することができ、データの比較や検索を高速化することができる。例えば、大きな容量のファイルの内容が同一であるかを比較する際に端から順にすべてのデータを照合すれば時間が掛かるが、それぞれハッシュ値を計算しておいて比較すれば一致するかどうかは一瞬で判別することができる。

ハッシュ値を求めるための計算手順のことを「ハッシュ関数」「要約関数」「メッセージダイジェスト関数」などという。そのうち、暗号などに適した性質を持つものを「暗号学的ハッシュ関数」という。ハッシュ値と入力値の間にまったく規則性がなく、入力値が少しでも異なればまったく異なるハッシュ値となる。また、ある特定のハッシュ値が得られるような入力値を効率よく求めることはできず(弱衝突耐性)、同じハッシュ値となる別の入力値も容易には見つけられない(強衝突耐性)。

このようなハッシュ関数は非常に有用であり、暗号化や認証、デジタル署名など様々なセキュリティ技術の基礎的な要素技術として応用されている。算出法についての標準規格も定められ、古くは「MD5」や「SHA-1」などが広く普及した。これらは現在では十分安全ではなくなり、「SHA-2」(SHA-256など)や「SHA-3」への置き換えが進んでいる。

(2020.2.27更新)

アルゴリズムの用語一覧

暗号の用語一覧

試験出題履歴

ITパスポート試験 : 令5 問84 平30秋 問84
基本情報技術者試験 : 令6修12 問6 令6修1 問6 令4修1 問8 令3修12 問44 令3修7 問41 令1修12 問41 令1修6 問42 平29修12 問42 平28修7 問42 平28春 問44 平27春 問43 平27修1 問44 平26修1 問8 平26修1 問44 平24秋 問41 平24春 問40 平23秋 問42 平22修7 問6 平21修7 問42