情報セキュリティマネジメント試験 科目A 重要キーワード解説
ハッシュ関数とは、任意の長さのデータを入力すると、常に決まった長さ(固定長)の値「ハッシュ値(メッセージダイジェスト)」を出力する関数です。同じ入力からは必ず同じハッシュ値が得られますが、出力から元のデータを復元することはできません。
この性質を使って、データの改ざん検知やパスワードの安全な保存に広く使われます。代表的なアルゴリズムにSHA-256などがあります(古いMD5やSHA-1は安全性が低下し非推奨)。
| 性質 | 内容 |
|---|---|
| 固定長出力 | 入力の長さに関係なく、ハッシュ値は常に同じ長さ。 |
| 一方向性 | ハッシュ値から元のデータを求めることはできない(不可逆)。 |
| 衝突困難性 | 異なるデータから同じハッシュ値が得られにくい。 |
| 敏感性 | 入力が1文字でも変わると、ハッシュ値は大きく変化する。 |
「一方向性」があるため暗号化とは異なり復号できない点が重要です。暗号化(戻せる)とハッシュ化(戻せない)を混同しないようにしましょう。
ソフトウェアの配布では、正しくダウンロードできたか・改ざんされていないかを確認するため、配布元がハッシュ値を公開しています。利用者は手元のファイルのハッシュ値と照合することで真正性を確認できます。ディジタル署名やブロックチェーンの基盤技術でもあります。