問題 No.2452
電子メールや電子文書に対してデジタル署名を付与する際、ハッシュ関数を通したデータに対して送信者が行う処理として適切なものはどれか。
【正解の解説】
送信者の秘密鍵で暗号化して署名データを作成する
これは現実世界の「手書きのサインや実印の押印」と同じ仕組みです。自分の秘密鍵で暗号化できるのは自分だけなので、受け取った人は「あ、確かにこの人本人が書いたんだな」と確信できます。鍵の持ち主しか作れないことで本人証明と改ざん検知を実現する重要なプロセスです。
スポンサーリンク
【その他の選択肢の解説】
受信者の公開鍵で暗号化して署名データを作成する
試験で一番よくある引っ掛けパターンです。署名は「自分が書いた」と証明したいので本人の秘密鍵を使いますが、受信者の公開鍵で暗号化してしまうと、誰でも読める暗号文にはなりますが誰が書いたか証明する署名にはならないため誤りとなります。
送信者の公開鍵で復号して署名データを作成する
そもそも署名を作る側(送信者)の仕事は暗号化することであり、公開鍵を使って復号するのは受け取る側の作業です。主語と処理の方向性がごちゃ混ぜになっている典型的な引っかけ選択肢なので、誰がどの鍵を持つのかを整理して覚える必要があります。
受信者の秘密鍵で復号して署名データを作成する
「送信者が行う処理」と問題文で指定されているにもかかわらず、受信者の鍵を持ち出している時点で不正解と見抜く必要があります。暗号化と復号、そして送信者と受信者の役割をパズルのように混同させる出題者の罠なので注意してください。