RSA 金鑰對產生指南:公鑰加密與私鑰簽章的完整流程

加密編碼(更新於 2026年6月11日)

什麼是 RSA 金鑰對

RSA 是非對稱加密演算法,使用一對金鑰:

金鑰 用途 分發方式
公鑰 (Public Key) 加密 / 驗章 可公開分發
私鑰 (Private Key) 解密 / 簽章 僅自己持有

核心原則:公鑰加密的資料只有私鑰能解,私鑰簽章的資料公鑰能驗。


金鑰長度選擇

長度 安全等級 適用場景
1024 位 ❌ 已不安全 遺留系統
2048 位 ✅ 基本安全 日常使用
3072 位 ✅ 較高安全 中等敏感資料
4096 位 ✅ 高安全 高敏感資料 / 長期金鑰

產生 4096 位金鑰耗時約為 2048 位的 4-8 倍,加解密也更慢,請按需選擇。


產生金鑰對:步驟詳解

第一步:開啟 RSA 金鑰對工具

造訪 RSA 金鑰對工具,選擇金鑰長度(推薦 2048 或 4096)。

第二步:產生金鑰對

點擊「產生金鑰對」,工具會自動產生:

  • 公鑰:以 -----BEGIN PUBLIC KEY----- 開頭的 PEM 格式文字
  • 私鑰:以 -----BEGIN PRIVATE KEY----- 開頭的 PEM 格式文字

第三步:儲存金鑰

公鑰 → 傳送給需要加密資料給你的對方
私鑰 → 安全儲存,切勿洩露(不要提交到 Git!)

PEM 格式說明

PEM 是 Base64 編碼的金鑰文字,常見格式:

-----BEGIN PUBLIC KEY-----      ← PKCS#8 公鑰
MIIBIjANBgkqhkiG9w0BAQEFAAOC...
-----END PUBLIC KEY-----

-----BEGIN RSA PRIVATE KEY-----  ← PKCS#1 私鑰
MIIEpAIBAAKCAQEA0d7...
-----END RSA PRIVATE KEY-----

-----BEGIN PRIVATE KEY-----      ← PKCS#8 私鑰
MIIEvgIBADANBgkqhkiG9w0BAQEF...
-----END PRIVATE KEY-----

PKCS#8 是通用格式,PKCS#1 是 RSA 專用格式,大多數現代系統優先使用 PKCS#8。


公鑰加密 + 私鑰解密

使用 RSA 加解密工具

  1. 將明文貼到輸入框
  2. 選擇「公鑰加密」
  3. 貼上對方的公鑰
  4. 點擊加密,得到密文
  5. 對方收到密文後,用私鑰解密即可還原

私鑰簽章 + 公鑰驗章

簽章用於證明「這則訊息確實是我發的」:

  1. RSA 加解密工具 選擇「私鑰簽章」
  2. 輸入訊息內容和私鑰
  3. 產生簽章值
  4. 對方用你的公鑰驗證簽章,確認訊息未被竄改

RSA vs AES:何時用哪個

場景 推薦 原因
大檔案加密 AES RSA 太慢,僅適合小資料
金鑰交換 RSA 用公鑰加密 AES 金鑰
數位簽章 RSA 非對稱特性天然適合
JWT Token RSA 伺服器私鑰簽,客戶端公鑰驗

實際中常組合使用:RSA 傳輸 AES 金鑰,AES 加密實際資料(混合加密)。


常見問題

問題 原因 解決
解密失敗 金鑰不匹配 確認公私鑰是同一對
資料太長錯誤 RSA 有長度限制 改用 AES 或分段加密
格式解析錯誤 PEM 頭尾缺失 檢查是否完整複製
產生很慢 4096 位金鑰 正常,可先用 2048 位

總結

RSA 金鑰對是非對稱加密的基礎。掌握公鑰加密、私鑰簽章的流程,理解金鑰長度的安全含義,是安全開發的關鍵技能。RSA 金鑰對工具RSA 加解密工具 讓你在瀏覽器中完成全流程操作。

#RSA#密钥对#非对称加密#公钥#私钥