RSA・ECC(公開鍵暗号)とは?RSAとECCを比べて押さえる

公開: 更新: カテゴリ: セキュリティ系

30秒で結論

RSA・ECCとは(全体像)

公開鍵暗号は、鍵が2つで1組(ペア)になっている暗号方式。誰にでも配ってよい公開鍵と、自分だけが持つ秘密鍵があり、かける役と開ける役が別の鍵になる。

たとえば、公開鍵で暗号化したものはペアの秘密鍵でしか開けられない。共通鍵暗号(AESなど)が「同じ鍵を内緒で共有」だったのに対し、公開鍵暗号は「鍵を配っても安全」なのが大きな利点だ。

その代表がRSAECC。何を「難しい計算」として安全の土台にするかが違う。


詳しく:RSAとECCを比べて押さえる

ここが心臓部。2つの公開鍵暗号は、安全の根拠と鍵の長さで見分ける。

RSAとECCの違い

RSAECC(楕円曲線暗号)
安全の根拠大きな数の素因数分解が難しい楕円曲線上の計算が難しい
鍵の長さ長め(最低2048ビット・1024は非推奨)短くて済む(256ビットでRSA 3072相当)
向いている場面昔から広く普及短い鍵で軽い・モバイルやIoT向き

言葉を噛み砕いておく。

わかりやすく言い換えると

つまり、公開鍵暗号は「開いた南京錠」を配るしくみにたとえるとスッと入る。

自分は、誰でも閉められる開いた南京錠(公開鍵)をみんなに配っておく。相手はその南京錠で箱を閉めて送ってくる。でも、開けられる鍵(秘密鍵)は自分しか持っていない。だから鍵を配っても安全、というわけだ。

RSAは「とても大きな数のばらし方がわからない」という難しさで守る老舗。ECCは別の難しさを使い、同じ強さをもっと短い鍵で実現する新しいやり方。だからスマホなど軽さが大事な場面で人気がある。


試験のツボ

🔴 一番出る:公開鍵暗号の基本

①公開鍵暗号=かける鍵(公開鍵)と開ける鍵(秘密鍵)が別々

②共通鍵暗号(同じ鍵)と対になる

🔴 次に出る:RSAとECCの違い

①RSA=素因数分解が根拠・鍵は長め(最低2048ビット)

②ECC=短い鍵で同等の安全・モバイル向き(署名はEd25519が現代推奨)

🟡 押さえると安定:RSAの1024ビットは非推奨(最低2048)。ECCはRSAより弱いわけではない


よくある間違い

「公開鍵暗号は、かける鍵と開ける鍵が同じ」→ ✗  公開鍵暗号は鍵が2つ(ペア)。同じ鍵を使うのは共通鍵暗号(AESなど)。

「ECCはRSAより安全性が低い」→ ✗  ECCは短い鍵でRSAと同等の安全性。鍵が短い=弱い、ではない。

「RSAは1024ビットでも安全」→ ✗  1024ビットは非推奨。いまは最低2048ビットが目安。


試験での出題パターン

実際の問題でたしかめてみよう。

オリジナル問題1(公開鍵暗号の基本)

📝 オリジナル問題 1 公開鍵暗号の基本

RSA・ECCなどの公開鍵暗号に関する次の記述のうち、正しいものはどれか。

  1. 公開鍵暗号はかける鍵と開ける鍵がまったく同じ方式で、AESと同じしくみに分類されるものとされている
  2. 公開鍵暗号は鍵をいっさい使わず、データをただ並べ替えるだけで秘密を守る方式であるとされているのが実情だ
  3. 公開鍵暗号は暗号化のときだけ鍵を使い、復号のときは鍵を使わずに元へ戻せる便利な方式とされているものだ
  4. 公開鍵暗号はかける鍵(公開鍵)と開ける鍵(秘密鍵)が別々の方式で、RSAやECCがその代表例にあたる
ピーエムロボ
ピーエムロボ 解答・解説

解答は 4 である。

公開鍵暗号は、かける鍵(公開鍵)と開ける鍵(秘密鍵)が別々の方式。RSAやECCがその代表だ。鍵を配っても、開けられるのは秘密鍵を持つ本人だけ、という点が利点になる。

選択肢1は「同じ鍵」が誤りで、それは共通鍵暗号(AES)の説明。選択肢2の「鍵を使わない」、選択肢3の「復号で鍵を使わない」も誤りだ。

選択肢判定理由
1同じ鍵を使うのは共通鍵暗号
2鍵を使わない方式ではない
3復号にも鍵(秘密鍵)を使う
4公開鍵と秘密鍵が別々でRSA・ECCが代表

オリジナル問題2(RSAとECCの違い)

📝 オリジナル問題 2 RSAとECCの違い

RSAとECCの違いに関する次の記述のうち、正しいものはどれか。

  1. RSAは大きな数の素因数分解の難しさを根拠とし、ECCは短い鍵でRSAと同等の安全性を出せる暗号である
  2. ECCはRSAよりつねに安全性が低く、鍵が短いぶんだけ簡単に破られてしまう方式であるとされているものだ
  3. RSAもECCもまったく同じ計算を根拠としており、鍵の長さや向いている場面にも違いはないとされている
  4. ECCは鍵を長くしないと使えず、モバイルやIoTのような軽さが必要な場面にはまったく向かないとされている
ピーエムロボ
ピーエムロボ 解答・解説

解答は 1 だ。

RSAは大きな数の素因数分解の難しさを根拠とし、ECCは別の難しさを使って短い鍵でRSAと同等の安全性を出せる。鍵が短いので、ECCはモバイルやIoTに向く。

選択肢2は「ECCは安全性が低い」が誤りで、短い鍵でも同等。選択肢3は「同じ計算・違いなし」が誤り。選択肢4は「ECCは鍵を長くしないと使えない」が誤りだ。

選択肢判定理由
1RSA=素因数分解・ECC=短い鍵で同等で正しい
2ECCは短い鍵でも同等の安全性
3根拠も鍵長も違う
4ECCは短い鍵で軽く、モバイル向き

オリジナル問題3(推奨される鍵長と署名)

📝 オリジナル問題 3 推奨される鍵長と署名

公開鍵暗号の鍵長や署名に関する次の記述のうち、正しいものはどれか。

  1. RSAは1024ビットがいまも十分に安全であり、それより長い鍵にする必要はまったくないものとされている
  2. 公開鍵暗号は鍵の長さをいくら短くしても安全性は変わらないため、RSAは8ビットで使うのが標準とされる
  3. RSAの1024ビットは非推奨で最低2048ビットが目安とされ、署名ではEd25519が現代の推奨になっている
  4. 署名にはECBモードを使うのが現代の標準で、Ed25519やRSAは署名にはいっさい使われないとされているのだ
ピーエムロボ
ピーエムロボ 解答・解説

解答は 3 だ。

RSAの1024ビットは非推奨で、いまは最低2048ビットが目安。署名では、ECCを使ったEd25519が速くて安全なので、現代の推奨になっている。

選択肢1は「1024で十分」が誤り。選択肢2の「8ビットで標準」は明らかに誤り。選択肢4のECBは共通鍵暗号AESのモードの話で、署名の標準ではない。

選択肢判定理由
11024ビットは非推奨で2048以上が目安
28ビットでは安全ではない
32048以上・署名はEd25519推奨で正しい
4ECBはAESのモードで署名の標準ではない

まとめ

押さえどころ

次に学ぶ


執筆: SikakuQuest編集部

勉強は、クエストになった。

資格の勉強を、冒険に変えるRPG学習アプリ

App Storeで見る