公開鍵暗号とは?こうかいかぎあんごう
公開鍵暗号とは、公開鍵と秘密鍵の対を使い、一方で施した処理は対応するもう一方でしか解けない方式。鍵配送問題を解かずに済み、ディジタル署名にも使える一方、共通鍵に比べて演算量が桁違いに大きい。組込みでは全文をこれで暗号化せず、鍵の受渡しと署名検証だけに使い、本文はAESに任せるハイブリッド構成が基本になる。
最終更新:2026-10-06
この語が出る過去問を解く →背景
共通鍵だけの世界では、通信を始める前に安全な経路で鍵を渡しておく必要があった。相手が増えるほど鍵は二乗で増え、出荷先が世界中へ散る量産品では配りきれない。暗号化する鍵を公開しても復号できないという非対称性を作ってこの前提を崩したのが公開鍵暗号で、これがあって初めてセキュアブートやOTAの署名検証が成立する。
具体例
RSAは素因数分解、楕円曲線暗号(ECC)は楕円曲線上の離散対数問題の困難性を安全性の根拠にする。同じ強度を短い鍵長で得られるECCはリソースの限られたMCUで有利で、セキュアエレメントやArm TrustZone搭載品はECDSAの署名検証をハードウェアで持つ。
試験での引っ掛け
AESは共通鍵、RSA・ECC・DHは公開鍵側という分類を入れ替えた選択肢が定番。暗号化は相手の公開鍵、署名は自分の秘密鍵——向きを逆にした記述に注意する。公開鍵そのものは持ち主の正しさを保証しないため、証明書で結び付ける必要がある点まで書けると答案が締まる。
関連用語
出た過去問
問題文で直接問われたものと、解説の中で触れられたものが含まれます。
出典:平成29年度 春期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問18(IPA)解説で登場
共通鍵暗号方式において、100人の送受信者のそれぞれが、相互に暗号化通信を行うときに必要な共通鍵の総数は幾つか。
正解:4,950
要点:共通鍵の総数はn(n−1)/2、人数の2乗で増える
共通鍵暗号では、通信する2者ごとに固有の鍵を用意する必要があるため、必要な鍵の数は人数から2人を選ぶ組合せの数になる。100人なら100×99÷2で4,950個となる。人数の2乗に比例して増えるので、大規模になるほど鍵の配送と管理が破綻しやすく、公開鍵暗号を併用する動機になる。
出典:平成30年度 春期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問19(IPA)解説で登場
暗号方式のうち、共通鍵暗号方式はどれか。
正解:AES
要点:AESが共通鍵暗号、RSAやECCは公開鍵暗号
共通鍵暗号は暗号化と復号に同じ鍵を用いる方式で、処理が高速なため大量データの暗号化に使われる。AESはDESの後継としてNISTが標準化したブロック暗号で、共通鍵暗号の代表例である。残りの3つはいずれも公開鍵と秘密鍵の対を使う公開鍵暗号方式に属する。
出典:平成31年度 春期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問18(IPA)解説で登場
共通鍵暗号方式において、100人の送受信者のそれぞれが、相互に暗号化通信を行うときに必要な共通鍵の総数は幾つか。
正解:4,950
要点:共通鍵の必要数はn(n-1)/2で人数の2乗に比例して増える
共通鍵暗号方式では通信する2者ごとに固有の鍵が必要になるため、必要な鍵の数はn人から2人を選ぶ組合せの数n(n-1)/2で求められる。n=100なら100×99÷2=4,950本となる。人数の2乗に比例して増えるこの鍵管理の負担が、公開鍵暗号方式を併用する動機の1つである。
出典:令和2年度 10月試験 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問16(IPA)
公開鍵暗号方式を使った暗号通信をn人が相互に行う場合、全部で何個の異なる鍵が必要になるか。ここで、一組の公開鍵と秘密鍵は2個と数える。
正解:2n
要点:公開鍵暗号はn人でも鍵は2n個で済む
公開鍵暗号方式では、各人が自分専用の公開鍵と秘密鍵の対を1組もてばよく、通信相手が増えても自分の鍵を増やす必要はない。n人が相互に通信する場合、1人当たり2個の鍵でn人分なので合計2n個となる。相手ごとに鍵が必要でn(n-1)/2個を要する共通鍵暗号方式と比べ、鍵管理の負担が小さいのが利点である。
出典・参考
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。