CommandDialog

RSA 密鑰對生成器

生成RSA密鑰對(PEM格式),密鑰長度可達4096位。所有操作均在瀏覽器內完成,您的私鑰不會離開裝置。

相關工具

什麼是 RSA 密鑰對產生器?

在當今數位化的時代,資料安全與隱私保護已成為開發者與企業關注的核心議題。無論是設定 SSH 登入、GitHub 身分驗證,還是開發加密通訊軟體,一把安全可靠的 RSA 密鑰對(RSA Key Pair) 都是不可或缺的基礎。

本站提供的 RSA 密鑰對產生器 是一種利用 RSA 演算法產生一對數學上相關的密鑰——公鑰(Public Key)私鑰(Private Key) 的工具,旨在為您提供快速、免費且極度安全的線上 RSA 產生服務,支援 1024、2048 以及最高達 4096 位元的工業級加密強度。

  • 公鑰:可公開給任何人,用於加密資料或驗證數位簽章。
  • 私鑰:必須由本人嚴格保密,用於解密公鑰所加密的資料,或建立數位簽章。

這種機制稱為 非對稱加密(Asymmetric Encryption),是現代網際網路安全協定(如 HTTPS/TLS、SSL、SSH)的基石。

RSA 演算法的運作原理

RSA 演算法基於一個簡單的數論事實:將兩個大型質數相乘,在計算上是容易的;但要將它們的乘積還原回原始的質數(即「大數分解問題」),在現有算力下極其困難。其核心步驟如下:

1. 選擇基礎質數

隨機選取兩個互不相同的超大質數 ppqq

2. 計算模數與尤拉函數

  • 計算 nn(模數)nn 的二進位長度即為密鑰長度(例如 2048 位元),此值為公開資訊。計算公式如下:

    n=p×qn = p \times q
  • 計算 ϕ(n)\phi(n):根據尤拉函數的特性,若 nn 為兩個質數的乘積,則其尤拉函數值為:

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

3. 確定加密指數 ee

選擇一個整數 ee,需滿足 1<e<ϕ(n)1 < e < \phi(n)eeϕ(n)\phi(n) 互質。在實際應用中,為加速加密運算,通常會固定使用 6553765537 作為 ee 值。

4. 計算解密指數 dd

透過模反運算(modular inverse)求得 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. 形成密鑰對

至此,我們已取得所有核心參數:

  • 公鑰(Public Key):由 (n,e)(n, e) 組成。
  • 私鑰(Private Key):由 (n,d)(n, d) 組成。

6. 加解密運算公式

一旦取得密鑰對,即可依下列邏輯進行安全資料傳輸:

  • 加密(Encryption):將明文 MM 轉換為密文 CC

    C=Me(modn)C = M^e \pmod n
  • 解密(Decryption):將密文 CC 還原為明文 MM

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

為什麼要使用 RSA 加密技術?

  1. 安全性極高:只要密鑰長度足夠(建議 2048 位元以上),目前的超級電腦也無法在合理時間內破解。
  2. 無需預先交換密鑰:與對稱式加密不同,通訊雙方不需要事前共享密鑰,大幅降低密鑰外洩風險。
  3. 身份驗證:私鑰持有人可透過數位簽章證明自身身分,接收方可利用公鑰驗證簽章,確保訊息未被竄改。

為什麼選擇我們的線上 RSA 產生工具?

在選擇線上工具時,安全性是首要考量。我們的工具具備以下顯著優勢:

安全性與隱私保護優先

您的私鑰絕不會離開您的設備。一般線上工具會將密鑰產生請求傳送至伺服器,意味著伺服器管理者可能取得您的私鑰。而我們的工具完全在您的瀏覽器本地端執行所有數學運算不會上傳任何資料至伺服器,徹底杜絕私鑰外洩的風險。

支援多種密鑰長度

  • 1024 位元:適用於對安全性要求較低的舊系統(不建議用於敏感資料)。
  • 2048 位元:目前的工業標準,兼顧安全性與運算效率。
  • 4096 位元:超高強度加密,適用於對安全性有極致要求的長期加密儲存。

符合標準 PEM 格式輸出

所產生的密鑰遵循標準的 PKCS#1 或 PKCS#8 規範,完美相容 OpenSSH、OpenSSL、Java、Python、Go 等開發環境,可直接用於 .pem.key 檔案。

即開即用,一鍵重新產生

頁面載入後即自動為您產生一套密鑰;若不滿意,只需點擊「重新產生」按鈕,即可瞬間生成新一組公私鑰對,操作極其簡便。

如何使用本工具產生密鑰?

使用本工具僅需三個簡單步驟:

  1. 選擇密鑰長度:從下拉選單中選擇所需長度(預設為 2048 位元)。
  2. 檢視產生結果:頁面會自動計算並分別顯示「產生的私鑰」與「產生的公鑰」。您亦可點擊「重新產生」按鈕,立即獲取新一組密鑰對。
  3. 複製或下載:點擊文字框上方的「複製」圖示或「下載」按鈕,將密鑰儲存至本地電腦。

【安全提醒】:請務必妥善保管您的私鑰,切勿將其傳送給任何人,或上傳至公開程式碼倉儲(如 GitHub)。

最佳實務:混合加密模式

在實際應用中,由於 RSA 涉及大數冪運算,計算量龐大,通常不直接用於加密大量原始資料。針對大資料量加密的場景,業界主流做法如下:

  1. 對稱式加密資料:產生一個 隨機 的「對稱密鑰」,並使用高效能的對稱加密演算法(如 AES)加密大量明文資料。
  2. 加密對稱密鑰:使用接收方的 RSA 公鑰 對該對稱密鑰進行加密。
  3. 傳送載荷:將 加密後的資料經 RSA 加密的對稱密鑰 一併傳送。
  4. 接收端解密:接收方先用自己的 RSA 私鑰 解密出對稱密鑰,再用該密鑰還原明文資料。

此方式完美結合了 RSA 的安全性與 AES 的高效能。

常見問題

2048 位元和 4096 位元有什麼區別?

4096 位元比 2048 位元更安全,但加密與解密的運算速度會較慢。目前 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” 即可在本機產生。本工具提供與其同等的安全性,且操作更便捷。