ディジタル署名と公開鍵の覚え方|6回落とした私が「署名は送信者の鍵だけ」に切り替えた記録

ディジタル署名と公開鍵の覚え方|6回落とした私が「署名は送信者の鍵だけ」に切り替えた記録 応用情報

ディジタル署名の問題で、「送信者の秘密鍵」と「受信者の公開鍵」のどれを選べばいいのか、毎回迷う。

解説を読むとその場では分かるのに、数日たつとまた逆を選んでしまう。私は応用情報の勉強で、この問題を6回続けて落としました。

こんな人に向けて書きました

  • ディジタル署名で、送信者と受信者のどちらの鍵か毎回迷う人
  • 解説を読むと分かるのに、数日たつと逆を選んでしまう人
  • 応用情報のセキュリティで、暗号化と署名の違いを固めたい人

公開鍵・秘密鍵という言葉を初めて見る人は、先に暗号化の仕組みを一通り読むほうが早いです。

この記事で分かること

  • 暗号化に出てくるのは受信者の鍵だけ、署名に出てくるのは送信者の鍵だけ
  • 迷ったら「この操作は誰のためか」を先に決める
  • この覚え方で暗号化の向きは直ったが、署名はまだ直っていない

いま使っている覚え方は、1つ目の1行です。読めなくしたい相手がいるなら受信者の鍵、本人だと示したいなら送信者の鍵です。

署名のほうはまだ直っていないので、正直に途中経過として書きます。

私は2027年2月に応用情報の科目Aを受ける予定で、まだ受験準備中です。記録は2026年9月24日から10月21日までのものです。

ディジタル署名と暗号化では、どの鍵を使うの?

最初に正解を表にします。AさんがBさんへ送る場面です。

操作 目的 使う鍵 確かめる・開ける鍵
暗号化 Bさんだけが読めるようにする Bさん(受信者)の公開鍵で閉める Bさん(受信者)の秘密鍵で開ける
ディジタル署名 Aさん本人が送ったと示す Aさん(送信者)の秘密鍵で署名する Aさん(送信者)の公開鍵で検証する

表の右2列を見ると、暗号化の行には受信者(Bさん)の鍵しか出てきません。署名の行には、送信者(Aさん)の鍵しか出てきません。

この「片方の人の鍵しか出てこない」ことが、あとで書く覚え方のもとになります。

署名で秘密鍵を使うのは、秘密鍵は本人しか持っていないからです。本人しか持っていない鍵で作ったものだから、本人が送った証明になります。

検証に公開鍵を使うのは、誰でも確かめられるようにするためです。

ディジタル署名の問題で、私はどの答えを選んだ?

落とした問題は次の2つです。

問題1 ディジタル署名について正しいものは?

  • A:送信者の公開鍵で署名し、秘密鍵で検証する
  • B:送信者の秘密鍵で署名し、公開鍵で検証する
  • C:受信者の公開鍵で署名し、秘密鍵で検証する
  • D:共通鍵で署名し、同じ鍵で検証する

正解はBです。

問題2 BさんがAさんから届いたメールのディジタル署名を検証する。使う鍵は?

A:Aの公開鍵 B:Aの秘密鍵 C:Bの公開鍵 D:Bの秘密鍵

正解はAです。

私が選んだ答えはこうでした。

日付 問題1(正解B) 問題2(正解A)
9/24 不正解 (未出題)
9/28 A(公開鍵で署名) A(記号は正解。根拠に「開けるのは受信者のもの」と書いた。暗号化の考え方のまま)
10/2 A D(Bの秘密鍵)
10/5 C(受信者の公開鍵で署名) D
10/19 C D
10/21 A C(Bの公開鍵)

問題1は、6回続けて不正解です。問題2も、記号が合った9/28は根拠が誤っていたので、正解に数えていません。

並べてみると、間違え方には2種類あります。

選んだ答え 考えていたこと
問題1のA 「署名に公開鍵を使う」と考えている。署名=秘密鍵、の対応がそもそも入っていない
問題1のC、問題2のC・D 受信者(B)の鍵を選んでいる。署名を暗号化と同じ向きで考えている

特に問題2のD(Bの秘密鍵)は、暗号化の手順をそのまま当てはめた答えです。「届いたものを開けるのは、受け取った人の秘密鍵」という考え方を、署名の検証に持ち込んでいます。

公開鍵の覚え方は、何を試したの?

同じ期間に、覚え方の言い方を4つ試しました。

日付 覚え方
9/24 秘密にする→受信者の公開鍵/本人を示す→送信者の秘密鍵
10/2 南京錠と印鑑のたとえ
10/19 署名は送信者の鍵だけ/暗号化は受信者の鍵だけ
10/21 署名の問題には受信者の鍵が一切出てこない

9/24:目的から鍵を決める言い方

最初に解説で使った言い方です。目的から鍵を決める形です。

ただ「公開鍵」「秘密鍵」の2語が両方の文に出てくるので、どちらがどちらか取り違えました。

10/2:南京錠と印鑑のたとえ

文字の説明で3回落ちたので、たとえに切り替えました。

  • 暗号化は南京錠。受信者が南京錠(受信者の公開鍵)を配っておき、送信者はそれで閉めて送る。開ける鍵(受信者の秘密鍵)は受信者の手元にしかない
  • 署名は印鑑。送信者だけが持つ印鑑(送信者の秘密鍵)で押し、送信者が公開している印影(送信者の公開鍵)と見比べて確かめる

このたとえで、暗号化のほうは少しずつ正しくなりました。ただ10/5の問題でも、署名の2問はどちらも受信者の鍵を選んでいます。

10/19:「署名は送信者の鍵だけ」の1行

5回目に落としたとき、たとえより短い1行に切り替えました。公開か秘密かを考える前に、まず誰の鍵かを決めるためです。

署名の問題なら、受信者の鍵の選択肢は最初に全部消せます。

10/21:消去法の形に言い換える

6回目は、10/19の1行を「署名の問題には受信者の鍵が一切出てこない」と言い換えました。

問題1のC(受信者の公開鍵)と問題2のC・D(Bの鍵)は、この時点で消えます。残るのは送信者の鍵だけで、そこで初めて「作るのは秘密鍵、確かめるのは公開鍵」を考えます。

暗号化とディジタル署名は、どこまで直った?

同じ期間の、暗号化側の問題の結果も載せます。

問題3 AさんがBさんへ、Bさんだけが読める暗号文を送る。暗号化に使う鍵は?

A:Aの公開鍵 B:Aの秘密鍵 C:Bの公開鍵 D:Bの秘密鍵(正解C)

日付 結果
9/24 不正解
9/28 D
10/2 A
10/5 記号は正解。根拠が「Bさんだけが持っている公開鍵」
10/19 記号は正解。根拠が「そういうものだから」で、勘として数えた
10/21 根拠ごと正解

9/24から3回続けて落としました。10/5の根拠は誤りです。公開鍵は誰でも持てるもので、Bさんだけが持つのは秘密鍵です。

10/21に、初めて根拠ごと正解しました。

TLSで本文を共通鍵、鍵の受け渡しを公開鍵で行う理由(ハイブリッド方式)を問う問題も、5回落としたあと10/21に正解しました。

ハイブリッド方式の理由は次のとおりです。公開鍵は処理が遅いので、本文は速い共通鍵で暗号化します。共通鍵は安全に渡す手段がないので、その鍵だけを公開鍵で包んで渡します。

一方、署名の2問は10/21も落としています。次の出題は10/22です。10/21の言い方で正解できるかは、まだ分かりません。

フロームアジア
フロームアジア

6回落として思い当たったのは、何度もやらないと覚えられない、ということです。

(10/22 以降の結果は、出たらここに追記します)

よくある質問

Q. 公開鍵と秘密鍵、どちらで署名するか迷ったら?

A. 私は「秘密鍵は本人しか持っていない」から考えます。本人だと示すには、本人しか持っていないものを使うしかありません。だから署名は送信者の秘密鍵です。

Q. 署名の検証に、受信者の秘密鍵を使わないのはなぜですか?

A. 署名は「送ってきたのが本人か」を確かめるものだからです。確かめたいのは送信者のことなので、使うのも送信者の鍵(送信者の公開鍵)です。受け取った人の鍵は関係ありません。

Q. たとえで覚えるのと、1行で覚えるのはどちらがいいですか?

A. 私の場合、たとえ(南京錠と印鑑)は仕組みの理解に、1行(誰の鍵か)は問題を解くときの消去法に使っています。初めて学ぶ人はたとえから、私のように向きを何度も取り違える人は1行のほうが試しやすいと思います。

今日からやること

  1. 署名の問題では、最初に受信者の鍵の選択肢を全部消す
  2. 残った送信者の鍵から、作るのは秘密鍵、確かめるのは公開鍵で選ぶ
  3. 正解しても、3日・7日・14日と空けて解き直す

私は10/22に、署名の2問をもう一度解きます。正解できても、14日後にも正解できるまでは「覚えた」とは数えません。結果はこの記事に追記します。

コメント

タイトルとURLをコピーしました