RSA 加密解密工具
線上 RSA 非對稱加密,支援金鑰對生成、公鑰加密、私鑰解密
加密配置
金鑰管理
選擇操作
什麼是 RSA 加密?
RSA(Rivest-Shamir-Adleman)是世界上第一個廣泛使用的非對稱加密演算法,由三位 MIT 數學家 Ron Rivest、Adi Shamir 和 Leonard Adleman 於 1977 年發明。與 AES 等對稱加密演算法不同,RSA 使用一對金鑰:公鑰用於加密,私鑰用於解密。公鑰可以公開分享,而私鑰必須嚴格保密,這種機制從根本上解決了金鑰分發的難題。 RSA 的安全性基於大整數質因數分解的數學難題——將兩個大素數相乘非常容易,但將結果分解回原來的兩個素數卻極其困難。目前推薦使用 2048 位元或更長的金鑰,因為 1024 位元金鑰已被認為不夠安全。量子電腦的發展對 RSA 構成潛在威脅,但目前實用的量子電腦尚未出現。 RSA 的應用場景包括:HTTPS/TLS 握手階段的金鑰交換、數位簽章和身份驗證(如 SSH、程式碼簽章)、電子郵件加密(PGP/GPG)、區塊鏈和加密貨幣的交易簽章等。本工具使用瀏覽器原生 Web Crypto API 實現 RSA 加密解密,所有操作在本地完成。
使用方法
基本操作
- 選擇金鑰長度(推薦 2048 位元或以上)
- 選擇填充方式(推薦 OAEP,安全性更高)
- 選擇雜湊演算法(推薦 SHA-256)
- 點擊「生成金鑰對」建立公鑰和私鑰
- 加密時:將公鑰貼到公鑰區域,輸入明文,自動輸出密文
- 解密時:將私鑰貼到私鑰區域,輸入密文,自動輸出明文
- 複製結果或點擊「交換」按鈕交換輸入輸出
參數說明
使用範例
基本加密
使用 RSA 公鑰加密一則訊息
1. 生成 2048 位元金鑰對
2. 複製公鑰
3. 輸入明文:Hello, RSA!
4. 選擇 OAEP + SHA-256
5. 輸出:Base64 格式的密文典型工作流
安全通訊的標準流程
發送方:
1. 取得接收方的公鑰
2. 用公鑰加密訊息
3. 發送密文
接收方:
1. 用自己的私鑰解密
2. 取得原始訊息使用技巧
最佳實踐建議
RSA 適合加密小資料(如金鑰)
大量資料應使用混合加密:
1. RSA 加密 AES 金鑰
2. AES 加密實際資料
3. 發送 RSA 密文 + AES 密文常見問題 (FAQ)
Q: RSA 和 AES 有什麼區別?
A: RSA 是非對稱加密演算法,使用公鑰加密、私鑰解密,適合金鑰交換和數位簽章,但速度較慢,只能加密小資料。AES 是對稱加密演算法,使用同一金鑰加解密,速度快,適合加密大量資料。實際應用中常將兩者結合:用 RSA 交換 AES 金鑰,再用 AES 加密資料。
Q: 金鑰長度應該選擇多少?
A: 2048 位元是目前最低安全標準,適合一般用途。3072 位元提供更高的安全裕度,適合企業級應用。4096 位元提供最高安全性,但加解密速度明顯變慢。NIST 建議 2030 年後使用 3072 位元以上金鑰。1024 位元金鑰已被認為不安全,應避免使用。
Q: OAEP 和 PKCS#1 v1.5 有什麼區別?
A: OAEP(最佳非對稱加密填充)是推薦的填充方式,具有語意安全性——相同明文每次加密產生不同密文,能防止選擇密文攻擊。PKCS#1 v1.5 是舊標準,雖然相容性好,但存在已知的攻擊漏洞。新應用應始終使用 OAEP。
Q: RSA 能加密多大的資料?
A: RSA 加密的資料大小受金鑰長度和填充方式限制。對於 2048 位元金鑰 + OAEP(SHA-256),最大明文約 190 位元組。對於大量資料,應使用混合加密:先生成隨機會話金鑰,用 RSA 加密會話金鑰,再用 AES 等對稱演算法加密實際資料。
Q: 公鑰和私鑰有什麼區別?
A: 公鑰用於加密資料,可以公開分享給任何人。私鑰用於解密資料,必須嚴格保密。用公鑰加密的資料只能用對應的私鑰解密,反之亦然(用於簽章時)。公鑰通常以 SubjectPublicKeyInfo(SPKI)格式儲存,私鑰以 PKCS#8 格式儲存,都使用 PEM 編碼。
Q: 這個工具的加密安全嗎?
A: 本工具使用瀏覽器原生 Web Crypto API 實現 RSA 加密,演算法實現符合標準。但需要注意:1)瀏覽器環境的安全性不如專業加密設備;2)私鑰可能透過瀏覽器擴充套件或控制台洩露;3)本工具適合學習、測試和一般用途,生產環境建議使用專業加密服務。所有資料處理都在瀏覽器本地完成。
Q: 為什麼解密時提示失敗?
A: 解密失敗的常見原因:1)使用了錯誤的私鑰(必須與加密時的公鑰配對);2)密文格式不正確(檢查 Base64/Hex 格式是否匹配);3)填充方式或雜湊演算法不一致;4)密文被篡改或截斷;5)金鑰 PEM 格式不完整(包含頭尾標記行)。請確保加密和解密使用完全相同的配置和金鑰對。