ハッシュ関数
定義
ハッシュ関数とは「任意の長さのデータを固定長のハッシュ値(ダイジェスト)に変換する一方向関数」で、入力が1ビットでも変わると出力が大きく変化する「雪崩効果(Avalanche Effect)」が特徴です。一方向性によりハッシュ値から元のデータを逆算することは計算上不可能で(MD5・SHA-1は衝突が発見されており非推奨、現在はSHA-256以上を使用)、この特性がデータの改ざん検知を可能にします。ファイルのダウンロード後にSHA-256を検証することで転送中の改ざんを確認でき、GitのコミットもすべてこのハッシュIDで識別されます。パスワードの保存にはハッシュ関数を使いますが、高速なSHA-256ではなく意図的に計算コストを高くしたbcrypt・Argon2・scryptを選ぶことで、ブルートフォース攻撃への耐性が大幅に向上します。デジタル署名では「データのハッシュ値を署名する」ことで、大容量データにも効率よく署名を適用できます。
関連用語
同じカテゴリの用語(基礎概念)
情報セキュリティの3つの基本要素。機密性(Confidentiality)・完全性(Integrity)・可用性(Ava…
データを第三者が読めない形式(暗号文)に変換する処理。対称暗号(AES)と非対称暗号(RSA)がある。転送中データ(TL…
正当なユーザーが必要なときに情報やシステムにアクセスできる性質。冗長化・バックアップ・DDoS対策などで実現する。CIA…
情報が正確かつ改ざんされていない状態を保つ性質。ハッシュ関数・デジタル署名・チェックサムなどで実現する。CIA三原則のI…
許可された者だけが情報にアクセスできる性質。暗号化・アクセス制御・認証などの手段で実現する。CIA三原則のC。…
システムや情報に損害を与える可能性のある事象・行為・主体。自然災害・内部不正・外部攻撃者・マルウェアなどが含まれる。リス…