情報セキュリティの基礎

暗号で使われるハッシュ関数(暗号学的ハッシュ関数)の性質として正しいものはどれか。

  1. Aハッシュ値から元のデータを、秘密鍵を使えば復元できる
  2. B入力の長さに比例して、ハッシュ値も長くなる
  3. C入力が同じなら必ず同じハッシュ値になり、入力が1ビット違うだけでも、ハッシュ値は予測できないほど大きく変わる
答えと解説を見る

正解:C. 入力が同じなら必ず同じハッシュ値になり、入力が1ビット違うだけでも、ハッシュ値は予測できないほど大きく変わる

ハッシュ関数は、任意の長さのデータから、決まった長さの値(ハッシュ値、ダイジェスト)を計算する関数です。例えばSHA-256は、入力の長さによらず256ビットの値を出力します。同じ入力からは必ず同じ値が得られ、入力がわずかでも違うと、出力は予測できないほど大きく変わります。暗号で使うハッシュ関数には、さらに、ハッシュ値から元の入力を求めることが現実的に不可能であること(一方向性、原像計算困難性)や、同じハッシュ値になる異なる2つの入力を見つけることが困難であること(衝突困難性)が求められます。ハッシュ関数は鍵を使わない計算で、暗号化ではないので、復号して元に戻すこともできません。改ざんの検出、デジタル署名、パスワードの保存などに使われます。

  • A. ハッシュ関数は鍵を使わず、元に戻すための手段もありません。元に戻せないこと(一方向性)が重要な性質です。
  • B. ハッシュ値の長さは、入力の長さによらず一定です(SHA-256なら256ビット)。
  • C. 正しい。同じ入力には同じ値、少し違う入力にはまったく違う値になります。
この分野を解く 分野ページへ

関連する計算ツール

情報セキュリティの基礎の参考書を探す PR

Amazonの検索結果へのリンクです。Amazonのアソシエイトとして、半導体教室は適格販売により収入を得ています。

情報セキュリティの基礎のほかの問題

  1. 出力が256ビットの理想的なハッシュ関数に対して、総当たりで攻撃するときに必要な計算の回数の目安として、「与えられたハッシュ値になる入力を見つける(原像攻撃)」場合と、「同じハッシュ値になる異なる2つの入力を、どれでもよいので見つける(衝突攻撃)」場合の組み合わせとして正しいものはどれか。
  2. Webサービスで利用者のパスワードを保存するとき、パスワードに利用者ごとに異なるランダムな値(ソルト)を加えてからハッシュ値を計算して保存する。ソルトを使う主な目的はどれか。
  3. パスワードの保存に、SHA-256のような高速なハッシュ関数をそのまま使うのではなく、bcryptやArgon2のような、わざと計算に時間がかかるように設計された方式を使うことが推奨される理由として正しいものはどれか。
  4. 8文字のパスワードを、すべての候補を試す総当たりで探す。1秒あたり1×10^10個の候補を試せるとき、英小文字(26種類)だけで作ったパスワードと、英大文字・英小文字・数字(62種類)で作ったパスワードについて、すべての候補を試し終えるまでの時間の組み合わせとして最も近いものはどれか。
  5. AさんがBさんに送る文書にデジタル署名を付ける。署名の作成と検証に使う鍵と、デジタル署名によって確かめられることの組み合わせとして正しいものはどれか。