令和元年度 秋期 ITパスポート試験 問93 解説 ハッシュ関数の特徴
ディジタル署名やブロックチェーンなどで利用されているハッシュ関数の特徴に関する,次の記述中のa, bに入れる字句の適切な組合せはどれか。 ハッシュ関数によって,同じデータは, a ハッシュ値に変換され,変換後のハッシュ値から元のデータを復元することが b 。
- ア
- イ
- ウ ✓ 正答
- エ
解説
ハッシュ関数の定義から判断します。ハッシュ関数には「同じ入力に対しては常に同じハッシュ値を返す」という決定性と、「ハッシュ値から元のデータを計算で求めることはできない」という不可逆性があるため、aには「常に同じ」、bには「できない」が入る選択肢ウが正解です。
ハッシュ関数とは、任意の長さのデータを入力すると、決まった長さの固定値(ハッシュ値)を出力する関数のことです。この関数には以下の重要な特徴があります。
決定性(同じ入力なら、必ず同じ出力になる) 同じデータからは必ず同じハッシュ値が生成されます。もし毎回異なる値が出力されると、データの同一性を証明できないため、デジタル署名やブロックチェーンで使うことができません。
不可逆性(ハッシュ値から元のデータには戻せない) ハッシュ関数は一方通行の変換です。一度ハッシュ化された値から、元のファイルや文字列を復元することはできません。この性質があるからこそ、パスワードの保存(パスワードそのものではなくハッシュ値を保管する)や、データの改ざん検知に役立ちます。
雪崩効果(入力がわずかに変われば、出力は大きく変わる) 入力データのほんの一部を変更しただけで、生成されるハッシュ値はまったく別の値になります。
これらの特徴は、情報セキュリティの分野で極めて重要です。たとえば、Webサイトでパスワードをデータベースに保存する際、そのままの文字列(平文)で保存するのは危険です。ハッシュ化して保存しておけば、万が一データベースが流出しても、攻撃者はハッシュ値からパスワードを復元することが困難であるため、セキュリティを確保できます。
また、電子メールなどでデジタル署名を利用する際も、この性質が利用されています。「送ったデータ」と「届いたデータ」それぞれのハッシュ値を比較し、両者が一致していれば「データが改ざんされていないこと」が保証されます。もし1ビットでも改ざんされていればハッシュ値は完全に異なるものになるため、即座に不正を検知できる仕組みです。
- 暗号技術入門:ハッシュ関数(IPA 独立行政法人 情報処理推進機構)