メインコンテンツへ
セキュリティ

SHA-256に関する記述として正しいものはどれか。

ア.SHA-256は任意長のメッセージを256ビットの固定長ダイジェストに変換し、異なるメッセージから同じダイジェストを生成する衝突を見つけることが計算上困難である。正解
イ.SHA-256は暗号化アルゴリズムであるため、256ビットのダイジェストから元のメッセージを復号できる。
ウ.SHA-256は出力長が256バイト(2048ビット)で、MD5の16バイト出力より安全性が高い。
エ.SHA-256の出力は平文メッセージとの相関が強く、メッセージの一部を変えると対応するビットだけが変化する。

解説

SHA-256は「料理の指紋採取機」。どんな食材(データ)でも同じサイズ(256bit)の指紋にして、指紋から食材を再現する逆方向は事実上不可能——それがハッシュ関数の本質。

なぜ ア が正解か

アが正解。SHA-256(SHA-2ファミリー)の主要性質:①一方向性(ダイジェストから原文を求めることが計算困難)②衝突耐性(異なるメッセージが同じダイジェストになる確率が十分低い)③雪崩効果(入力の1ビット変化で出力が大きく変わる)。256ビット=32バイトのダイジェストを生成。

なぜ イ は間違いか

ハッシュ関数は一方向性が定義上の性質。「復号」は不可能。AES等の暗号化とは根本的に異なる——暗号化は可逆、ハッシュは不可逆。

なぜ ウ は間違いか

SHA-256の出力は256「ビット」=32「バイト」。256バイトではない。MD5は128ビット=16バイト。単位のミス。

なぜ エ は間違いか

「対応するビットだけが変化する」は雪崩効果の逆。実際のSHA-256は雪崩効果により入力1ビット変化で出力が平均128ビット変化する。

出典: AI生成問題(学習用)