公開鍵と秘密鍵とは何ですか?
本記事では公開鍵と秘密鍵の核心的な違い(暗号化/復号化、公開性/秘匿性)を解説し、RSA/ECCアルゴリズムに基づくそれらの生成ロジック、SSL証明書やデジタル署名における実際の活用シーンを詳しく説明します。また、公開鍵インフラストラクチャ(PKI)によるデータ伝送の安全確保の仕組みについても説明します。
公開鍵の概要
公開鍵(Public Key)は、公開暗号鍵の略称であり、データを暗号化するための大きな数値で、公開鍵暗号における鍵ペアの片方の鍵です。公開鍵はソフトウェアプログラムによって生成されるほか、信頼できる指定機関(例えば認証局(CA))から提供され、公開アクセス可能なリポジトリやディレクトリを通じてすべての人に利用可能な状態で提供されます。公開鍵は通常、公開鍵の所有者だけが知っている秘密鍵と対になっています。 公開鍵は主にデータの暗号化とデジタル署名の検証に使用されます。
秘密鍵の概要
秘密鍵(Private Key)は、私有暗号鍵の略称であり、暗号学においてデータの暗号化と復号化に使用される変数で、公開鍵/秘密鍵ペアのもう片方の鍵です。秘密鍵は通常、ランダムまたは擬似ランダムに生成された長いビット列であり、鍵の生成者またはデータを復号する権限を持つ関係者のみと共有されます。 秘密鍵は主にデータの復号化とデジタル署名の作成に使用されます。
公開鍵と秘密鍵の違い
| 公開鍵 | 秘密鍵 | |
|---|---|---|
| アクセス可能性 | 公開 誰でも取得可能 | 秘匿 保有者のみが知る |
| 鍵の種類 | 非対称 | 非対称 |
| 生成 | 秘密鍵とともに生成 | 公開鍵とともに生成 |
| 基盤アルゴリズム | RSA、ECCなどの暗号アルゴリズムに基づく | 公開鍵と同じアルゴリズムに基づく |
| 機能と役割 | データの暗号化、デジタル署名の検証 | データの復号化、デジタル署名の作成 |
| セキュリティ要件 | 特段の要件なし | 高度に秘匿し、漏洩を防止しなければならない |
| 保存場所 | デジタル証明書、送信する電子メール、実行可能ファイルに保存 | 許可されたデバイスと非公開サーバーに保存 |
| 一般的なユースケース | SSL証明書、ブロックチェーン | 安全な取引、本人確認 |