メインコンテンツへスキップ
基礎概念

ハッシュ関数

Hash Function

ハッシュ関数とは「任意の長さのデータを固定長のハッシュ値(ダイジェスト)に変換する一方向関数」で、入力が1ビットでも変わると出力が大きく変化する「雪崩効果(Avalanche Effect)」が特徴です。一方向性によりハッシュ値から元のデータを逆算することは計算上不可能で(MD5・SHA-1は衝突が発見されており非推奨、現在はSHA-256以上を使用)、この特性がデータの改ざん検知を可能にします。ファイルのダウンロード後にSHA-256を検証することで転送中の改ざんを確認でき、GitのコミットもすべてこのハッシュIDで識別されます。パスワードの保存にはハッシュ関数を使いますが、高速なSHA-256ではなく意図的に計算コストを高くしたbcrypt・Argon2・scryptを選ぶことで、ブルートフォース攻撃への耐性が大幅に向上します。デジタル署名では「データのハッシュ値を署名する」ことで、大容量データにも効率よく署名を適用できます。

よくある質問

ハッシュ関数とは?

任意長のデータを固定長のハッシュ値(ダイジェスト)に変換する一方向関数。同じ入力は常に同じ出力を返し、わずかな変更でも大きく変化する(雪崩効果)。SHA-256・MD5(非推奨)など。

← 用語集一覧に戻る
ESC