平成20年秋期試験問題 午前問72
問72解説へ
公開鍵基盤とハッシュ関数を利用したメッセージのデジタル署名の手法はどれか。
- 受信者は,送信者の公開鍵とハッシュ関数を用いてハッシュ符号を復号し,メッセージを得る。
- 受信者は,ハッシュ関数を用いてメッセージからハッシュ符号を生成し,送信者の公開鍵で復号したハッシュ符号と比較する。
- 送信者は,自分の公開鍵とハッシュ関数を用いてメッセージからハッシュ符号を生成し,メッセージとともに送信する。
- 送信者は,ハッシュ関数を用いて送信者の秘密鍵のハッシュ符号を生成し,メッセージとともに送信する。
広告
解説
デジタル署名の生成および検証の手順は次のとおりです。
- 送信者は、平文をハッシュ関数で圧縮したメッセージダイジェスト(ハッシュ符号)を送信者の秘密鍵で暗号化し、平文と一緒に送信する
- 受信者は、受信したメッセージダイジェストを送信者の公開鍵で復号し、受信した平文をハッシュ関数で圧縮したものと比較する
- 一つの平文からハッシュ関数によって生成されるメッセージダイジェストは常に同じになるため、送信者から送られてきたメッセージダイジェストと、受信側でハッシュ化したメッセージダイジェストが同じなら、通信内容が改ざんされていないことが証明される
- 送信されてきたデジタル署名は、送信者の秘密鍵で暗号化されているので、それと対になる送信者の公開鍵で復号して、ハッシュ符号を取り出します。ハッシュ関数は一方向性なので、ハッシュ符号にハッシュ関数をかけても元のメッセージに戻すことはできません。
- 正しい。デジタル署名は、①メッセージ ⇒ ②ハッシュ化 ⇒ ③送信者の秘密鍵で暗号化、の手順で生成され、受信者はデジタル署名を公開鍵で復号し、メッセージのハッシュ値と比較することで検証を行います。
- 送信者が、メッセージのハッシュ符号を生成するときに使用するのはハッシュ関数です。メッセージとともに送信するのは、ハッシュ符号を自身の秘密鍵で暗号化したデジタル署名です。
- ハッシュ符号は、メッセージをハッシュ関数で固定長の文字列に圧縮したものであり、秘密鍵をハッシュ化したものではありません。また、ハッシュ符号を平文のまま送ることもありません。
広告