テクノロジ系セキュリティ
ハッシュ関数とは?
読み方: はっしゅかんすう
1行定義
任意の長さのデータから固定長の一意なハッシュ値(ダイジェスト)を生成する一方向関数。改ざん検知・パスワード管理に活用
詳細解説
ハッシュ関数(Hash Function)は、任意の長さのデータを入力として受け取り、固定長のハッシュ値(メッセージダイジェスト)を出力する一方向関数です。「一方向性」(ハッシュ値から元のデータを復元できない)と「衝突耐性」(異なるデータが同じハッシュ値を持たないこと)が重要な性質です。代表的なアルゴリズムはMD5(128ビット、現在は衝突が見つかっており廃止推奨)・SHA-1(160ビット、廃止推奨)・SHA-256(256ビット、現在の主流、SSL/TLS・ビットコインに使用)・SHA-3(最新世代)です。主な用途は次の通りです。パスワード管理:パスワードをハッシュ化してDBに保存(bcrypt・scrypt・Argon2等のパスワードハッシュ関数推奨)。データ整合性確認:ファイルのハッシュ値を比較して改ざん検知(ダウンロードファイルのSHA-256チェック)。デジタル署名:署名するのはデータ本体ではなくハッシュ値で効率化。ブロックチェーン:各ブロックに前ブロックのハッシュを含めて改ざん耐性を実現。ITパスポートでは「ハッシュの一方向性」「SHA-256の用途」「デジタル署名との組み合わせ」「パスワードのハッシュ保存」が頻出です。
ITパスポートでの出題ポイント
- 1一方向性:ハッシュ値から元データの復元は不可能
- 2SHA-256が現代の主流、MD5/SHA-1は衝突脆弱性で廃止
- 3パスワードはハッシュ化してDB保存(平文保存は厳禁)
- 4デジタル署名はデータのハッシュ値に署名して効率化
関連用語
シラバス 6.5 準拠 / 最終更新: 2026-05-25