
出典:公益社団法人 日本技術士会「技術士第一次試験 過去問題」
デジタル署名で、署名対象データをハッシュ関数によってメッセージダイジェストにし、そのダイジェストに対して署名処理を行う際に、ハッシュ関数を用いる目的を選ぶ問題。正答は、署名処理を高速化するため。
デジタル署名の仕組みにおける、ハッシュ関数の役割を確認する問題。
① デジタル署名では、公開鍵暗号の処理が重いので、データをハッシュ関数で短い固定長のダイジェストにしてから署名する
② 目的は処理を軽くすること。①同じデータからは同じダイジェスト、③機密性は暗号化の役割、⑤署名は誰でも検証できる
③ ②
デジタル署名では、公開鍵暗号方式を使った署名処理(秘密鍵による演算)が行われるが、この処理は重く、データが大きいと非常に時間がかかる。そこで、署名対象データを、ハッシュ関数によって、固定長の短いメッセージダイジェストにして、そのダイジェストに対して署名する。これにより、署名処理の対象が小さくなり、署名処理を高速化できる。したがって②が最も適切である。
デジタル署名=ハッシュ値(ダイジェスト)を、送信者の秘密鍵で署名し、受信者が公開鍵で検証。ハッシュ化により、署名処理のコストが、データ長に依存せず、小さくなる。
キーワード: デジタル署名、ハッシュ関数、メッセージダイジェスト、公開鍵暗号、署名処理、改ざん検知、情報工学部門