正解:ア
各選択肢の解説
ア大きな数の素因数分解に膨大な時間がかかること。
正解。RSA暗号は、非常に大きな二つの素数を掛け合わせるのは簡単でも、 その積から元の素数を求めるのは現実的な時間では困難だという性質を使っています。
イ離散対数問題を解くのに膨大な時間がかかること。
誤り。離散対数問題は、楕円曲線暗号や鍵を共有するための方式が根拠にしている 別の数学的問題です。どちらも「解くのが難しい計算」を使う点で似ていますが、 RSA暗号が拠り所にするのは素因数分解です。
ウ暗号化と復号の計算手順を利用者に公開しないこと。
誤り。RSA暗号の計算手順は広く公開されています。現代の暗号は、手順を 隠すことではなく、鍵が知られない限り解読が困難であることで安全性を保ちます。 手順を隠せば安全という考え方はよくある誤解です。
エ異なる入力から同じ出力が得られる組を見つけにくいこと。
誤り。これはハッシュ関数に求められる性質(衝突が見つけにくいこと)です。 ハッシュ関数は改ざん検知に使うもので、鍵を使って元に戻す暗号方式とは 用途が違います。
理解を深めるために
掛けるのは一瞬、戻すのは気が遠くなる
3×7=21 はすぐ計算できますが、「21は何と何の積か」を問われると少し考えます。 これが数百桁の数になると、掛け算は一瞬でも、積から元の二つの素数を探し出す (素因数分解する)のは、現在のコンピュータでは現実的な時間で終わりません。 RSA暗号はこの「片方向にだけ簡単」な性質を安全性の根拠にしています。
なぜ公開鍵を配っても大丈夫なのか
- 公開鍵は、大きな二つの素数の積などから作られ、誰に渡してもよい
- 秘密鍵を求めるには、その積を素因数分解して元の素数を知る必要がある
- 素因数分解が事実上できないので、公開鍵から秘密鍵を割り出せない
逆にいえば、素因数分解を速く解ける手段が現れると安全性が崩れます。 量子コンピュータがその候補とされており、これに備えるのが耐量子計算機暗号(PQC)です。
混同しやすいものとの違い
| 根拠・性質 | 使っている技術 |
|---|---|
| 素因数分解の困難さ | RSA暗号 |
| 離散対数問題の困難さ | 楕円曲線暗号、鍵共有の方式 |
| 衝突の見つけにくさ | ハッシュ関数 |
| 手順を秘密にする | 現代の暗号では安全性の根拠にしない |
試験では「RSA=素因数分解」の組合せがそのまま問われます。暗号の手順は公開され、 守るべきは鍵だけという原則もあわせて押さえておきましょう。