公钥密码加密系统
自公钥加密问世以来,学者们提出了许多种公钥加密方法,他们的安全性都是基于复杂的数学难题。根据所基于的数学难题来分类,有以下三类系统目前被认为是安全和有效的:大整数因子分解系统(代表性的有RSA)、椭园曲线离散对数系统(ECC)和离散对数系统 (代表性的有DSA)。
当前最著名、应用最广泛的公钥系统RSA是由Rivet、Shamir、Adelman提出的(简称为RSA系统),他的安全性是基于大整数素因子分解的困难性,而大整数因子分解问题是数学上的著名难题,至今没有有效的方法予以解决,因此能确保RSA算法的安全性。RSA系统是公钥系统的最具有典型意义的方法,大多数使用公钥密码进行加密和数字签名的产品和标准使用的都是RSA算法。
RSA方法的好处主要在于原理简单,易于使用。不过,随着分解大整数方法的进步及完善、计算机速度的提高及计算机网络的发展(能使用成千上万台机器同时进行大整数分解),作为RSA加解密安全保障的大整数需求越来越大。为了确保RSA使用的安全性,其密钥的位数一直在增加,比如,目前一般认为RSA需要1024位以上的字长才有安全保障。不过,密钥长度的增加导致了其加解密的速度大为降低,硬件实现也变得越来越难以忍受,这对使用RSA的应用带来了非常重的负担,对进行大量安全交易的电子商务更是如此,从而使得其应用范围越来越受到制约。
DSA(Data Signature Algorithm)是基于离散对数问题的数字签名标准,他仅提供数字签名,不提供数据加密功能。安全性更高、算法实现性能更好的公钥系统椭圆曲线加密算法ECC(Elliptic Curve Cryptography)基于离散对数的计算困难性。
椭圆曲线加密算法ECC技术优势
椭圆曲线加密方法和RSA方法相比,有以下好处:
安全性能更高
加密算法的安全性能一般通过该算法的抗攻击强度来反映。ECC和其他几种公钥系统相比,其抗攻击性具有绝对的优势。如160位 ECC和1024位 RSA、DSA有相同的安全强度。而210位 ECC则和2048bit RSA、DSA具有相同的安全强度。
计算量小,处理速度快
虽然在RSA中能通过选取较小的公钥(能小到3)的方法提高公钥处理速度,即提高加密和签名验证的速度,使其在加密和签名验证速度上和ECC有可比性,但在私钥的处理速度上(解密和签名),ECC远比RSA、DSA快得多。因此ECC总的速度比RSA、DSA要快得多。
存储空间占用小
ECC的密钥尺寸和系统参数和RSA、DSA相比要小得多,意味着他所占的存贮空间要小得多。这对于加密算法在IC卡上的应用具有特别重要的意义。
带宽需求低
当对长消息进行加解密时,三类密码系统有相同的带宽需求,但应用于短消息时ECC带宽需求却低得多。而公钥加密系统多用于短消息,例如用于数字签名和用于对对称系统的会话密钥传递。带宽需求低使ECC在无线网络领域具有广泛的应用前景。
ECC的这些特点使他必将取代RSA,成为通用的公钥加密算法。比如SET协议的制定者已把他作为下一代SET协议中缺省的公钥密码算法。
密码技术的介绍就到此为止了,希望大家已经掌握,在以后的文章中我们还会尽可能多的为大家整理这些资料。更多的内容请看:信息安全的核心之密码技术 上
【编辑推荐】