RSA 加密演算法與 ECC 加密演算法的區別?
RSA 加密演算法概述
RSA 加密演算法,英文全名為 Rivest–Shamir–Adleman,是一種非對稱加密演算法,於 1977 年由羅納德·李維斯特(Ron Rivest)、阿迪·薩莫爾(Adi Shamir)和倫納德·阿德曼(Leonard Adleman)提出,RSA 即由三位提出者姓氏的首字母組成。
RSA 演算法使用兩個不同的金鑰,也就是公鑰與私鑰,來執行加密與解密作業。在金鑰交換過程中,RSA 演算法使用公鑰加密、私鑰解密,保障通訊資料的機密性。而在數位簽章流程中,RSA 演算法則是使用私鑰加密、公鑰解密,確保資料的真實性與完整性。RSA 演算法被廣泛應用於 SSL 證書的金鑰交換與數位簽章程序。
ECC 加密演算法概述
ECC 加密演算法,英文全名為 Elliptic curve cryptography,也就是橢圓曲線加密演算法,是一種基於有限體上橢圓曲線代數結構的非對稱加密演算法,於 1985 年由 Koblitz 與 Miller 提出。
ECC 演算法透過運用橢圓曲線相關的數學難題實現加密功能;相較於 RSA 演算法,ECC 演算法能提供更高的安全性與更短的金鑰長度。這不僅降低了計算與儲存的負荷,也提升了加解密的效率,讓 ECC 演算法能以更優異的效能達成與 RSA 演算法相同的功能。ECC 演算法主要應用於行動裝置、物聯網裝置與區塊鏈應用等資源受限的環境。
RSA 加密演算法與 ECC 加密演算法的區別
| RSA 加密演算法 | ECC 加密演算法 | |
|---|---|---|
| 演算法名稱 | RSA 加密演算法 | 橢圓曲線加密演算法 |
| 演算法類型 | 公鑰加密演算法 | 公鑰加密演算法 |
| 數學基礎 | 大質數的整數因式分解 | 橢圓曲線離散對數問題 |
| 安全性 | 安全 | 高安全性 |
| 金鑰長度 | 1024 位元、2048 位元、3072 位元以上 | 160 位元、224 位元、256 位元以上 |
| 等效安全性 | RSA-2048 = ECC-224 | ECC-256 = RSA-3072 |
| 效能 | 金鑰長,計算速度比 ECC 慢 | 金鑰短,計算速度快 |
| 支援的通訊協定 | 所有主要通訊協定 | TLS、IPsec、DNSSEC 等 |
| 相容性 | 相容性佳 支援幾乎所有主流的作業系統、瀏覽器與裝置 | 相容性差 無法支援較為老舊的系統環境 |