問題
問91
デジタル署名やブロックチェーンで用いられるハッシュ関数には,SHA-256,SHA-512などがある。このようなハッシュ関数に関する記述として,適切なものはどれか。
- あるハッシュ関数を用いて得たハッシュ値を,そのハッシュ関数に入力することによって,元のデータを復元することができる。
- 同じデータを異なるハッシュ関数にそれぞれ入力したとき,得られるハッシュ値は全て同じになる。
- 同じハッシュ関数を用いる場合,入力したデータが同じであれば,得られるハッシュ値は常に同じになる。
- どのハッシュ関数にもそれぞれの逆関数が存在し,ハッシュ値から元のデータを復元することができる。
[出典:ITパスポート試験 令和8年度 問91]
正解
正解は「ウ」です。
解説
正解は、選択肢「ウ」です。同じハッシュ関数を用いる場合、入力したデータが全く同じであれば、得られる計算結果(ハッシュ値)は常に同じになるという性質があります。これはハッシュ関数の最も基本的かつ重要な特徴の一つです。
例えば、料理のレシピに例えると、全く同じ材料を使い、全く同じ手順(ハッシュ関数)で調理すれば、何度作っても常に同じ味の料理(ハッシュ値)が出来上がるのと同じイメージです。もし、入力データがたった1文字でも異なれば、出力されるハッシュ値は劇的に変化するため、データが途中で書き換えられていないかを確認する「改ざん検出」に非常に役立ちます。
この「同じ入力からは必ず同じ出力が得られる」という一意の信頼性があるからこそ、デジタル署名やブロックチェーンにおいて、データの正当性を証明する手段として活用されています。また、ハッシュ値から元のデータを推測することは極めて困難(不可逆)であるため、セキュリティが重要な場面で欠かせない技術となっています。このように、ハッシュ関数は情報の「指紋」のような役割を果たしているのです。
ア(ハッシュ関数を用いて得たハッシュ値から、元のデータを復元することができる。):
ハッシュ関数は一方通行の性質(不可逆性)を持っており、出力されたハッシュ値から元のデータを計算して元に戻すことはできません。
イ(同じデータを異なるハッシュ関数に入力したとき、ハッシュ値は全て同じになる。):
SHA-256やSHA-512など、アルゴリズムが異なれば計算方法も異なるため、たとえ同じデータを入れても出力されるハッシュ値は全く別のものになります。
エ(どのハッシュ関数にも逆関数が存在し、元のデータを復元することができる。):
選択肢アと同様の理由で間違いです。ハッシュ関数には逆関数(逆方向に計算する式)が存在しないように設計されているため、復元は不可能です。
難易度
この問題は、セキュリティ分野で頻出の「ハッシュ関数」に関する基本的な性質を問うものです。デジタル署名やブロックチェーンといった専門的な用語が含まれていますが、問われている内容はハッシュ関数の基本ルールを知っていれば正解できる基礎的なレベルです。IT未経験の方でも、「逆戻りできない」「同じデータなら同じ結果」という二つのポイントさえ押さえておけば得点源にできるため、比較的解きやすい問題と言えます。
用語補足
ハッシュ関数:
入力したデータに対して特定の計算を行い、固定長の短い値(ハッシュ値)を生成する関数のことです。データの「指紋」のようなものを想像してください。
不可逆性:
一方向には計算できても、逆方向には計算できない性質のことです。例えば、生卵を焼いて目玉焼きにすることはできても、目玉焼きを元の生卵に戻せないのと同じです。
デジタル署名:
電子文書の作成者を証明し、改ざんがないことを確認するための仕組みです。実印やサインのデジタル版であり、その核心技術にハッシュ関数が使われています。
SHA-256:
現在広く使われているハッシュ関数の規格の一つです。どんなデータを入れても、必ず256ビット(約64文字の英数字)のハッシュ値を出力する計算ルールのことです。
対策
ハッシュ関数の対策としては、「不可逆性(元に戻せない)」「同一入力・同一出力(同じデータなら結果は同じ)」「衝突耐性(違うデータなら違う結果)」という3つの特徴をセットで覚えましょう。試験では特に「復元できる」という誤った選択肢がよく出されますが、ハッシュは「一方通行」と覚えておけば迷いません。SHA-256などの名称がハッシュ関数の種類であることを知っておくことも大切です。

