正解は ウ
ハッシュ関数 SHA-256 で実現できるセキュリティ機能を問う問題です。状況を整理すると、利用者はファイル A と、ファイル A に SHA-256 を適用して算出した値 B を受信しており、値 B 自体は電話で直接確認済みのため改ざんされていないことが保証されています。ハッシュ関数には「同じ入力からは必ず同じ出力が得られる」「入力が1ビットでも変われば出力が大きく変わる」「出力から入力を逆算できない」という性質があります。したがって利用者は、受信したファイル A に自分で SHA-256 を適用して値を算出し、それを信頼できる値 B と比較することで、ファイル A が通信途中で改ざんされていないかどうか(完全性)を検証できます。ウが正解です。一方、ハッシュ値だけでは「誰が作成したか」という真正性は確認できません。作成者の確認にはディジタル署名(秘密鍵による署名)が必要です。ハッシュ=完全性の検証、署名=完全性+真正性、という機能の違いを区別できるかが本問の狙いです。
ハッシュ値の比較で分かるのは「改ざんの有無(完全性)」だけ。「誰が作ったか(真正性)」はディジタル署名が必要、「どこが変わったか」は分からない。機能の限界を問う出題が定番。