ECC算法与RSA算法的优劣

ecc优势在于密钥位数短,一般认为160位密钥的ecc安全性相当于1024位密钥的rsa,256位相当于3072位,所以它在嵌入式内存受限的环境下有优势。但ecc的基本运算比rsa复杂很多。要比较性能得看具体怎样的实现,比如软件实现的话可以看看这个:http://nicj.net/files/performance_comparison_of_elliptic_curve_and_rsa_digital_signatures.pdf
■网友
A (relatively easy to understand) primer on elliptic curve cryptography有提到,这里是一个翻译得不是特别好的中文版本:一个关于椭圆曲线密码学的初级读本(相当容易懂)
■网友
RSA算法:国际标准算法,应用较早,最为普及,比ECC算法的适用范围更广,兼容性更好,一般采用 2048 位的加密长度,但是对服务端性能消耗高。
ECC算法:中文名称为椭圆加密算法,新一代算法趋势主流,一般采用 256 位加密长度,加密速度快,效率更高,对服务器资源消耗低,而且最重要的是更安全,抗攻击型更强。
ECC算法与RSA算法的优劣

ECC 和 RSA 相比,在许多方面都有对绝对的优势,主要体现在以下方面:
抗攻击性强CPU 占用少内容使用少网络消耗低加密速度快随着安全等级的增加,当前加密法的密钥长度也会成指数增加,而 ECC 密钥长度 却只是成线性增加。例如,128 位安全加密需要 3,072 位 RSA 密钥,却只需要一 个 256 位 ECC 密钥。增加到 256 位安全加密需要一个 15,360 位 RSA 密钥,却只需要一个 512 位 ECC 密钥。ECC 具有如此卓越的按位比率加密的性能,预计其特点将成为安全系统关注的重点。
ECC 的这些特点使它必将取代 RSA,成为通用的公钥加密算法。比如 SET 协议的制定者已把它作为下一代 SET 协议中缺省的公钥密码算法。

■网友
一张图给你解释啦
ECC算法与RSA算法的优劣



■网友

ECC的算法复杂度是所使用素数的位长度t的立方:1)底层的主要操作模乘法是位长度的平方;2)标量乘法又贡献了一个t。
RSA的算法复杂度也是O(t^3):1)模乘法是位长度的平方;2)指数快速运算也贡献一个t
同样的位长度,ECC的安全性要高于RSA;换而言之,同样的安全性,由于ECC密钥只需要更短的密钥(一般认为160位密钥的ecc安全性相当于1024位密钥的rsa),ECC的计算量要少于RSA。
应用场景
1)密钥交换
ECDH优于RSA,RSA有前向安全性问题。
2)数字签名


为什么RSA还在广泛使用?ECC还没有取代RSA?ECC有什么不足?

【ECC算法与RSA算法的优劣】

■网友
ECC快,RSA简单


    推荐阅读