2026年版・2-2

ハッシュ関数とデジタル署名の一問一答

情報セキュリティマネジメント試験「暗号技術・認証技術」から、ハッシュ関数とデジタル署名に関する4択問題を10問。「答えと解説を見る」を開くと、正解とその理由がその場で読めます。会員登録は不要です。

この分野の演習

全10問/解説つき・基本無料

アプリ形式で解く(全480問) 暗号技術・認証技術の要点解説を読む
問題

上から順に解いてみてください。答えは各問の下で確認できます。

問12-2

ハッシュ関数の性質について述べたものはどれか。

  • ①任意の長さの入力から固定長の出力を生成し、出力から入力を復元することは事実上不可能である。
  • ②任意の長さの入力を同じ長さの暗号文に変換し、対応する鍵があれば元の入力に戻すことができる。
  • ③送信者の秘密鍵と受信者の公開鍵の両方を用いて、通信内容を暗号化して秘匿する方式である。
  • ④通信経路上の遅延を測定し、その値をもとに一定間隔でデータを分割して送信する方式である。
答えと解説を見る
正解 ①任意の長さの入力から固定長の出力を生成し、出力から入力を復元することは事実上不可能である。
解説
ハッシュ関数は、任意の長さの入力データから固定長の出力(ハッシュ値、メッセージダイジェスト)を生成する一方向性の関数である。ハッシュ値から元の入力データを逆算して復元することは事実上不可能であり、この一方向性が改ざん検知やパスワード保護などに応用される根拠となっている。

他の選択肢が不適切な理由
入力を同じ長さの暗号文に変換し鍵で元に戻せる処理は暗号化・復号の説明であり、不可逆なハッシュ関数の性質とは逆である。秘密鍵と公開鍵の両方を用いて通信内容を暗号化する説明は公開鍵暗号方式に関するものであり、ハッシュ関数とは異なる技術である。通信の遅延測定によるデータ分割は、ハッシュ関数とは無関係なネットワーク制御の話である。
問22-2

良いハッシュ関数が備えるべき性質として適切なものはどれか。

  • ①異なる入力から同じハッシュ値が生成される衝突が、意図的に容易に作り出せること
  • ②異なる入力から同じハッシュ値が生成される衝突を、意図的に見つけ出すことが困難であること
  • ③入力データの長さに応じて、出力されるハッシュ値の長さもそのまま比例して変化していくこと
  • ④同一の入力データに対して、実行するたびごとに異なるハッシュ値が算出されてしまうこと
答えと解説を見る
正解 ②異なる入力から同じハッシュ値が生成される衝突を、意図的に見つけ出すことが困難であること
解説
安全なハッシュ関数には衝突耐性が求められる。これは、異なる二つの入力から同一のハッシュ値が生成されてしまう「衝突」を、攻撃者が意図的に見つけ出すことが計算量的に極めて困難である性質である。衝突耐性が保たれていることで、ハッシュ値の一致をもって元データが改ざんされていないと信頼できる。

他の選択肢が不適切な理由
衝突が容易に作り出せてしまうのは安全性が損なわれた脆弱なハッシュ関数の特徴であり、望ましい性質とは正反対である。ハッシュ関数の出力長は入力の長さによらず常に一定(固定長)であり、入力長に比例して変化することはない。同一の入力からは常に同一のハッシュ値が一意に算出されなければならず、実行のたびに異なる値になるのは決定的な関数として不適切である。
問32-2

ハッシュ関数SHA-256が出力するハッシュ値の長さとして正しいものはどれか。

  • ①64ビット
  • ②128ビット
  • ③160ビット
  • ④256ビット
答えと解説を見る
正解 ④256ビット
解説
SHA-256は、その名称が示すとおり256ビットのハッシュ値を出力するハッシュ関数であり、SHA-2と呼ばれるハッシュ関数群の一つである。CRYPTREC暗号リストにも掲載されている推奨のハッシュ関数であり、デジタル署名や改ざん検知など幅広い用途で利用されている。

他の選択肢が不適切な理由
64ビットは一般的なハッシュ関数の出力長としては短すぎ、SHA-256には該当しない。128ビットはMD5が出力するハッシュ値の長さであり、SHA-256とは異なる。160ビットはSHA-1が出力するハッシュ値の長さであり、SHA-256の256ビットとは一致しない。
問42-2

MD5及びSHA-1に関する記述として、現在最も適切なものはどれか。

  • ①衝突を意図的に作れる攻撃が実用的な計算量で可能であり、新規の利用は推奨されない。
  • ②公開鍵暗号方式の一種であり、大きな合成数の素因数分解の困難性を安全性の根拠としている。
  • ③共通鍵暗号方式の一種であり、AESに比べて鍵長が長く、より強固な暗号方式である。
  • ④楕円曲線上の離散対数問題を安全性の根拠とする、比較的鍵長の短い暗号方式である。
答えと解説を見る
正解 ①衝突を意図的に作れる攻撃が実用的な計算量で可能であり、新規の利用は推奨されない。
解説
MD5及びSHA-1はいずれもハッシュ関数であるが、研究の進展により異なる入力から同一のハッシュ値を意図的に作り出す衝突攻撃が、実用的な計算量で実行可能であることが示されている。このためCRYPTREC暗号リストでも危殆化した技術として扱われ、新規のシステムではSHA-256などより安全なハッシュ関数を利用することが求められている。

他の選択肢が不適切な理由
MD5及びSHA-1はハッシュ関数であり、素因数分解を安全性の根拠とする公開鍵暗号方式ではない。同様に共通鍵暗号方式でもなく、AESと鍵長を比較する対象としても成立しない。楕円曲線上の離散対数問題を根拠とする暗号方式でもなく、ハッシュ関数と暗号方式という性質そのものが異なる。
問52-2

デジタル署名を作成する際の手順として正しいものはどれか。

  • ①送信者が受信者の公開鍵を用いてメッセージ全体を暗号化し、そのまま送信する。
  • ②送信者がメッセージのハッシュ値を求め、それを自身の秘密鍵で暗号化して署名とする。
  • ③受信者が自身の秘密鍵でメッセージを復号したうえで、送信者の公開鍵で再暗号化する。
  • ④送信者と受信者が事前に共有していた共通鍵を用いて、メッセージ全体を暗号化する。
答えと解説を見る
正解 ②送信者がメッセージのハッシュ値を求め、それを自身の秘密鍵で暗号化して署名とする。
解説
デジタル署名は、送信者がまずメッセージからハッシュ値を計算し、そのハッシュ値を送信者自身の秘密鍵で暗号化することで作成する。秘密鍵は送信者本人しか持っていないため、この署名を作れるのは送信者本人だけであるという事実が、後の検証で送信者の証明や否認防止の根拠となる。

他の選択肢が不適切な理由
受信者の公開鍵でメッセージ全体を暗号化する処理は、内容の秘匿を目的とした通常の公開鍵暗号化であり、署名の作成手順ではない。受信者が自身の秘密鍵で復号し公開鍵で再暗号化する操作は、署名の作成ではなく通信内容のやり取りに関する誤った説明である。共通鍵でメッセージ全体を暗号化する方法は、内容の秘匿はできても送信者本人であることを証明するデジタル署名の役割を果たせない。
問62-2

受信者がデジタル署名を検証する手順として正しいものはどれか。

  • ①受信したメッセージ全体を、受信者自身の秘密鍵で復号し内容を確認してみる。
  • ②受信した署名を、受信者自身の公開鍵で復号し、メッセージ本文と比較する。
  • ③送信者の公開鍵で署名を復号して得たハッシュ値と、受信データのハッシュ値を比べる。
  • ④送信者と共有している共通鍵を用いて、署名とメッセージ本文の両方を復号し比較する。
答えと解説を見る
正解 ③送信者の公開鍵で署名を復号して得たハッシュ値と、受信データのハッシュ値を比べる。
解説
デジタル署名の検証では、受信者が送信者の公開鍵を用いて受信した署名を復号し、送信者が作成した元のハッシュ値を取り出す。次に受信者自身が受信したメッセージ本文からハッシュ値を計算し、両者が一致すれば、そのメッセージが送信者本人によって署名され、途中で改ざんされていないことが確認できる。

他の選択肢が不適切な理由
受信者自身の秘密鍵でメッセージ全体を復号する操作は、公開鍵暗号方式による秘匿通信の受信手順であり、署名の検証手順ではない。署名を受信者自身の公開鍵で復号するという説明は誤りで、署名の復号には送信者の公開鍵を用いなければ検証の意味が成り立たない。共通鍵を用いる説明は、送信者本人のみが持つ秘密鍵を根拠とするデジタル署名の仕組みとは矛盾する。
問72-2

デジタル署名によって実現できるセキュリティ特性の組み合わせとして最も適切なものはどれか。

  • ①改ざんの検知、送信者本人の確認、送信事実の否認防止という特性の組み合わせ
  • ②通信経路上の第三者による盗聴を防ぎ、メッセージの内容そのものを秘匿すること
  • ③送信データの量を圧縮し、通信にかかる帯域と時間を削減することができる
  • ④通信相手のIPアドレスを秘匿し、発信元の追跡を困難にすることができる
答えと解説を見る
正解 ①改ざんの検知、送信者本人の確認、送信事実の否認防止という特性の組み合わせ
解説
デジタル署名は、受信メッセージから計算したハッシュ値と署名から復元したハッシュ値を比較することで改ざんの検知を可能にし、また送信者本人しか持たない秘密鍵で作成されたことから送信者本人であることの確認(送信元認証)ができる。さらに、送信者以外に同じ署名を作れないため、送信者が後になって送信の事実を否認することを防止する効果(否認防止)も持つ。

他の選択肢が不適切な理由
デジタル署名はメッセージのハッシュ値を暗号化するものであり、メッセージ本文そのものを秘匿する機能は持たない。内容の秘匿には別途暗号化が必要である。データ量の圧縮は署名の目的ではなく、データ圧縮技術の役割である。通信相手のIPアドレスの秘匿や発信元の追跡防止も、デジタル署名とは異なる匿名化技術の役割である。
問82-2

メッセージ認証符号(MAC)とデジタル署名の違いに関する記述として適切なものはどれか。

  • ①MACは公開鍵暗号方式のみで実現され、デジタル署名は共通鍵暗号方式のみで実現される。
  • ②MACはメッセージを暗号化して秘匿する技術であり、デジタル署名には改ざん検知の機能がない。
  • ③MACは共通鍵を共有する当事者間の検知にとどまるが、署名は第三者にも送信者を証明できる。
  • ④デジタル署名はハッシュ関数を一切利用せず、MACは必ずハッシュ関数を利用するものである。
答えと解説を見る
正解 ③MACは共通鍵を共有する当事者間の検知にとどまるが、署名は第三者にも送信者を証明できる。
解説
MAC(メッセージ認証符号)は送受信者間で共有する共通鍵を用いて生成されるため、その鍵を知る当事者同士でしか改ざんの検知や認証ができず、第三者に送信者を証明する用途には向かない。一方デジタル署名は送信者本人だけが持つ秘密鍵で作成されるため、その秘密鍵に対応する公開鍵さえ入手できれば、当事者以外の第三者でも送信者本人が署名したことを確認できる。

他の選択肢が不適切な理由
MACは一般に共通鍵暗号方式やハッシュ関数の仕組みを用いて実現され、公開鍵暗号方式のみに限定されるわけではない。MACはメッセージ全体を秘匿するものではなく改ざん検知が目的であり、デジタル署名にも改ざん検知の機能はある。デジタル署名の多くはメッセージのハッシュ値を計算する過程でハッシュ関数を利用しており、ハッシュ関数を一切使わないという説明は誤りである。
問92-2

電子文書にタイムスタンプを付与する目的として最も適切なものはどれか。

  • ①電子文書の内容を第三者に読み取られることのないよう、暗号化して秘匿すること
  • ②電子文書の作成者本人であることを、生体情報によって証明すること
  • ③電子文書のファイルサイズを圧縮し、保存や送信の負荷を軽減すること
  • ④ある時刻に文書が存在し、その時刻以降改ざんされていないことを証明すること
答えと解説を見る
正解 ④ある時刻に文書が存在し、その時刻以降改ざんされていないことを証明すること
解説
タイムスタンプは、時刻認証局(TSA)などの信頼できる第三者機関が、電子文書のハッシュ値に正確な時刻情報を結び付けて発行するものであり、ある時刻にその電子文書が確かに存在していたこと、及びその時刻以降にハッシュ値が変化するような改ざんが行われていないことを証明する役割を持つ。デジタル署名と組み合わせて利用されることが多い。

他の選択肢が不適切な理由
タイムスタンプは時刻情報とハッシュ値を結び付けるものであり、電子文書の内容そのものを暗号化して秘匿する機能は持たない。作成者本人であることの証明は生体認証やデジタル署名の役割であり、タイムスタンプの主目的ではない。ファイルサイズの圧縮は、タイムスタンプとは無関係なデータ圧縮技術の役割である。
問102-2

パスワードをハッシュ化して保存する際に、あらかじめ用意された膨大なハッシュ値と平文の対応表(レインボーテーブル)による攻撃を防ぐために付加するデータはどれか。

  • ①チェックサム
  • ②ソルト
  • ③シーケンス番号
  • ④パリティビット
答えと解説を見る
正解 ②ソルト
解説
ソルトは、パスワードをハッシュ化する際に元のパスワードに付加するランダムな追加データである。利用者ごとに異なるソルトを付加してからハッシュ化することで、同じパスワードであっても異なるハッシュ値になり、あらかじめ計算しておいたハッシュ値と平文の対応表(レインボーテーブル)を用いた攻撃を無力化できる。

他の選択肢が不適切な理由
チェックサムはデータの伝送誤りを検出するための値であり、レインボーテーブル対策としてパスワードに付加する目的のものではない。シーケンス番号はデータの順序を管理するための番号であり、パスワードのハッシュ化とは無関係である。パリティビットは誤り検出のために付加されるビットであり、レインボーテーブル対策の仕組みとは異なる。

情報セキュリティマネジメント試験の対策問題(全480問)に戻る

※本ページはアクセス解析のためCookieを利用し、その情報を外部(Google)へ送信しています。

※本ページの問題・解説は、生成AI(人工知能)を活用して作成しています。