CommandDialog

Command dialog

RSA鍵ペア生成器

RSAキーペア(PEM形式)を生成。鍵長最大4096ビットまで対応。すべての操作はブラウザ内で実行され、秘密鍵は端末外に送信されません。

関連ツール

詳細を見る

RSA 鍵ペア生成ツールとは?

現代のデジタル環境において、データセキュリティとプライバシー保護は、開発者や組織にとって最優先事項となっています。SSH アクセスの設定、GitHub での認証、暗号化通信ソフトウェアの構築など、どのような場面でも、安全で信頼性の高いRSA 鍵ペアは基本的な要件です。

当社のRSA 鍵ペア生成ツールは、RSA アルゴリズムを用いて、数学的に関連する一組の鍵——公開鍵秘密鍵——を生成するツールです。高速、無料、そして高度なセキュリティを備えたオンライン RSA 生成体験を提供し、10242048、最大4096 ビットの産業グレードの鍵サイズをサポートしています。

  • 公開鍵: 誰とでも共有でき、データの暗号化やデジタル署名の検証に使用されます。
  • 秘密鍵: 厳重に機密を保持する必要があり、公開鍵で暗号化されたデータの復号やデジタル署名の作成に使用されます。

この仕組みは非対称暗号として知られ、HTTPS/TLS、SSL、SSHなどの現代インターネットセキュリティプロトコルの基礎を形成しています。

RSA アルゴリズムの仕組み

RSA は、数論の基本原理に基づいています:2 つの非常に大きな素数を乗算することは計算上簡単ですが、その積を元の素数に因数分解する(大きな整数の因数分解問題)ことは、現在の計算能力では極めて困難です。主要なステップは以下の通りです。

1. 基底素数の選択

2 つの異なる非常に大きな素数をランダムに選択し、ppqq とします。

2. 法とオイラーの φ 関数の計算

  • nn を計算: nn のビット長が鍵サイズ(例:2048 ビット)を決定します。nn の値は公開され、次のように計算されます:

    n=p×qn = p \times q
  • ϕ(n)\phi(n) を計算: オイラーの φ 関数(トーシェント関数)によれば、nn が 2 つの素数の積である場合:

    ϕ(n)=(p1)(q1)\phi(n) = (p - 1)(q - 1)

3. 暗号化指数 ee の選択

1<e<ϕ(n)1 < e < \phi(n) であり、かつ eeϕ(n)\phi(n)互いに素であるような整数 ee を選択します。 実際には、暗号化パフォーマンスを最適化するため、ee は一般的に固定値 6553765537 に設定されます。

4. 復号指数 dd の計算

ee のモジュラ逆数として dd を計算します。これは以下の合同式を満たします:

ed1(modϕ(n))e \cdot d \equiv 1 \pmod{\phi(n)}

これは、(ed1)(e \cdot d - 1)ϕ(n)\phi(n) で割り切れることを意味します。値 dd は秘密鍵の核心部分です——dd を持つ者だけが ee で暗号化されたデータを復号できます。したがって、dd は厳重に秘匿されなければなりません。

5. 鍵ペアの形成

この時点で、すべての必須パラメータが揃います:

  • 公開鍵: (n,e)(n, e)
  • 秘密鍵: (n,d)(n, d)

6. 暗号化と復号の公式

鍵ペアが生成されると、安全なデータ転送は以下のルールに従います:

  • 暗号化: 平文 MM を暗号文 CC に変換します:

    C=Me(modn)C = M^e \pmod n
  • 復号: 暗号文 CC から平文 MM を復元します:

    M=Cd(modn)M = C^d \pmod n

RSA 暗号を使用する理由

  1. 高い安全性: 十分に大きな鍵サイズ(2048 ビット以上が推奨)を使用すれば、現代のスーパーコンピューターを用いても、現実的な時間枠内での解読は不可能とされています。
  2. 共有秘密の不要: 対称暗号とは異なり、RSA では事前に秘密鍵を交換する必要がなく、鍵漏洩のリスクを大幅に低減します。
  3. 認証と完全性: 秘密鍵の保有者はデジタル署名を通じて自身の身元を証明でき、受信者は公開鍵を使って署名を検証し、データが改ざんされていないことを確認できます。

当社のオンライン RSA 生成ツールを選ぶ理由

オンラインツールを選択する際、セキュリティが最大の関心事です。当社のソリューションには、いくつかの明確な利点があります。

セキュリティとプライバシー最優先

あなたの秘密鍵がデバイスから流出することはありません。多くのオンラインツールはサーバー上で鍵を生成するため、サーバー運営者があなたの秘密鍵にアクセスする可能性があります。対照的に、当ツールではすべての暗号処理がお使いのブラウザ内でローカルに実行され、いかなるサーバーにもアップロードされることはありません。これにより、秘密鍵漏洩のリスクを効果的に排除します。

複数の鍵長オプション

  • 1024 ビット: セキュリティ要件の低いレガシーシステムに適しています(機密データには非推奨)。
  • 2048 ビット: 強力なセキュリティと良好なパフォーマンスを両立する、現在の業界標準です。
  • 4096 ビット: 非常に強力な暗号化。長期保管やセキュリティ要件の厳しい環境に理想的です。

標準的な PEM 出力

生成される鍵は PKCS#1 または PKCS#8 標準に準拠しており、OpenSSH、OpenSSL、Java、Python、Go などの開発環境と完全互換です。.pem または .key ファイルとして直接使用できます。

すぐに使えるワンクリック更新

ページが読み込まれると、自動的に鍵ペアが生成されます。新しい鍵が必要な場合は、「更新」ボタンをクリックするだけで、すぐに再生成されます——設定は不要です。

このツールでの鍵生成方法

鍵ペアの生成は、以下の 3 つの簡単なステップで完了します:

  1. 鍵長を選択: ドロップダウンメニューから希望のサイズを選択します(デフォルトは2048 ビット)。
  2. 結果を確認: ページが自動的に計算を行い、生成された秘密鍵と公開鍵を表示します。「更新」をクリックして新しいペアを生成することもできます。
  3. コピーまたはダウンロード: 「コピー」アイコンまたは「ダウンロード」ボタンを使用して、鍵をローカルマシンに保存します。

セキュリティのヒント: 秘密鍵は常に安全に保管してください。決して他人と共有したり、GitHub などの公開コードリポジトリにアップロードしたりしないでください。

ベストプラクティス:ハイブリッド暗号

実際のアプリケーションでは、RSA は高コストな大きな整数のべき乗演算を伴うため、通常、大量のデータを直接暗号化するためには使用されません。業界のベストプラクティスは、ハイブリッド暗号方式を採用しています:

  1. データの対称暗号化: ランダムな対称鍵を生成し、高速な対称アルゴリズム(AES など)を使用して大量の平文データを暗号化します。
  2. 対称鍵の暗号化: 受信者のRSA 公開鍵を使用して、対称鍵を暗号化します。
  3. ペイロードの送信: 暗号化されたデータRSA で暗号化された対称鍵の両方を一緒に送信します。
  4. 受信時の復号: 受信者はまず自身のRSA 秘密鍵を使用して対称鍵を復号し、その後、その鍵を使用してデータを復号します。

このアプローチは、RSA の強力なセキュリティと AES の高い効率性を組み合わせたものです。

よくある質問

2048ビット鍵と4096ビット鍵の違いは何ですか?

4096ビット鍵は2048ビット鍵よりも安全性が高いですが、暗号化・復号処理が遅くなります。現在、2048ビット鍵はほとんどの用途において十分に安全とされており、非常に厳しいコンプライアンス要件やセキュリティ要件がない限り問題ありません。

現在、2048ビット鍵を解読することは可能ですか?

現在の古典的コンピューティング能力では、2048ビットRSA鍵は極めて安全とされています。これを解読するには、天文学的に膨大な計算時間が必要です。

ここでオンラインで秘密鍵を生成することが安全とされるのはなぜですか?

オンラインでの鍵生成は一般的に推奨されませんが、当ツールはWeb Crypto APIを使用し、すべての処理をブラウザ内でローカルに行います。サーバーへデータが送信されることはないため、ローカル端末でコマンドを実行するのと同等の安全性を提供します。

生成された鍵をSSHログインに使えますか?

はい。サーバーの ~/.ssh/authorized_keys ファイルに公開鍵を追加し、秘密鍵はローカルマシンに安全に保管してください。

生成されたPEM形式とは何ですか?

PEM(Privacy Enhanced Mail)は、バイナリの鍵データをBase64でエンコードしたテキスト形式です。標準的なテキストエディタで簡単に確認・コピー・管理できます。

秘密鍵を紛失したらどうなりますか?

紛失した秘密鍵は復元できません。RSAの一方通行性により、公開鍵から秘密鍵を導出することは不可能です。新しい鍵ペアを生成し、関連する公開鍵を置き換える必要があります。

なぜ秘密鍵は公開鍵よりずっと長いのですか?

秘密鍵にはモジュラス n、公開指数 e、秘密指数 d に加え、計算を高速化するための追加パラメータ(p や q など)が含まれています。一方、公開鍵は通常 n と e のみを含むため、サイズがはるかに小さくなります。

コマンドラインから直接鍵を生成できますか?

はい。ローカルで「openssl genrsa -out private.pem 2048」と実行できます。このツールは同等の安全性を確保しつつ、より便利に利用できます。