デジタル署名は秘密鍵で暗号化して…

「デジタル署名はメッセージのハッシュを送信者の秘密鍵で暗号化して、受信者はそれを送信者の公開鍵で復号してメッセージのハッシュと一致するか調べる」といった記述がよく行われていますが、署名の生成を「暗号化」とは言いませんし、これはRSAという特定の方式の原理の説明にはなっていますが、現実に使われているRSAベースの方法も含め、一般のデジタル署名の説明にはなっていません。

説明するなら、「デジタル署名はメッセージと送信者の署名鍵(秘密鍵)を使って署名を生成してメッセージと署名を送り、受信者は送信者の検証鍵(公開鍵)を使ってこれらを検証する」としておけばいいでしょう。

2024年の春のネットワークスペシャリスト試験問2設問5でもこの不備が指摘されて、設問5(1)~(3)を全員正解にするという対応がとられました:

表4 MUAによる電子署名の付与及び電子署名の検証の手順
処理MUA 手順 処理内容
送信者の
MUA
1 ハッシュ関数hによってメール内容のハッシュ値aを生成する。
2 ⑨ハッシュ値aを基に,電子署名データを作成する
3 送信者の電子証明書と電子署名付きのメールを送信する。
受信者の
MUA
4 ⑩受信したメール中の電子署名データからハッシュ値aを取り出す
5 ハッシュ関数hによってメール内容のハッシュ値bを生成する。
6 ⑪ハッシュ値を比較する

設問5〔S/MIMEの調査と実施策〕について答えよ。
(1)表4中の下線⑨の電子署名データの作成方法を,25字以内で答えよ。
(2)表4中の下線⑩のハッシュ値aを取り出す方法を,20字以内で答えよ。
(3)表4中の下線⑪について、どのような状態になれば改ざんされていないと判断できるかを,25字以内で答えよ。

参考: