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

ハッシュ関数

Hash Function

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

← 用語集一覧に戻る
ESC