ECC椭圆曲线密码的应用
随着通信网络特别是互联网的飞速发展,利用网络进行信息交流和信息处理的现象越来越普遍,社会的传统事务和商业运作模式受到前所未有的冲击。目前,无论是国家政府还是企业都在融入这场网络革命,从原来的传统商业模式向网络模式演进。未来的电子政务、电子商务和电子商务将成为不可逆转的发展趋势。在日益增多的网络活动中,人们越来越关注信息安全。这体现在:
(1)网络认证——确认网络客户的真实身份。
(2)信息和数据的机密性-个人或系统机密信息和数据保护。
(3)信息和数据完整性——防止非法数据修改。
(4)不可否认性——网络环境中事后行为的不可否认性(数字签名)
信息安全中的核心技术是密码学,密码学基本上可以分为三种:序列密码、对称密码(又称分组密码)和非对称密码(又称公钥密码)。
非对称密码算法是支持和解决上述四个关键问题的核心。目前,基于PKI系统模型的解决方案越来越流行。在PKI系统模型中,客户端需要更好的个人信息安全载体,智能卡或智能密码密钥将是一种理想的方式,两者都必须支持公钥算法,而ECC是最适合资源有限的客户端产品。
2椭圆曲线密码系统ECC
自公钥密码学问世以来,学者们提出了许多公钥加密方法,其安全性是基于复杂的数学问题。根据基于数学问题的分类,目前有以下三种类型的系统被认为是安全有效的:
(1)大整数因式分解系统(RSA为代表),
(2)有限域(数学中的一种代数结构)离散对数系统(DSA为代表),
(3)椭圆曲线离散对数系统(ECC)。
目前最著名、应用最广泛的公钥体制RSA是由Rivet、Shamir和Adelman提出的(简称RSA体制)。它的安全性是基于大整数素数分解的困难性,而大整数的分解问题是一个著名的数学问题,没有有效的方法解决,所以RSA算法的安全性是可以保证的。RSA系统是公开密钥系统中最典型的方法。大多数使用公钥密码进行加密和数字签名的产品和标准都使用RSA算法。RSA方法的优势主要在于原理简单,使用方便。但是,随着大整数分解方法的进步和完善,计算机速度的提高和计算机网络的发展(可以用上千台机器同时分解大整数),大整数作为RSA加解密安全保障的要求越来越高。为了保证RSA的安全性,其密钥的位数一直在增加。比如一般认为RSA需要大于1024位的字长才能保证安全性。
然而,密钥长度的增加大大降低了加密和解密的速度,硬件实现变得越来越难以承受,这给使用RSA的应用,尤其是进行大量安全交易的电子商务带来了沉重的负担,从而使其应用范围越来越受到限制。DSA(Data Signature Algorithm)是基于有限域上离散对数问题的数字签名标准,只提供数字签名,不提供数据加密功能。ECC(Elliptic Curve Cryptography)是一种安全性更高、算法性能更好的公钥系统加密算法,但它很难计算有限域上椭圆曲线的离散对数。人类对椭圆曲线的研究已有一百多年的历史,但将椭圆曲线应用于密码学,是由Koblitz(美国华盛顿大学)和Miller(IBM)在1985年提出的。有限域(Fp或F(2m))的椭圆曲线(y2=x3+ax+b)上定义的点(x,y),加上无穷远点O,如果按照一定的规则运算(估计称为乘法),就会形成一个群(数学上的一种代数结构)。有限域上的椭圆曲线乘法群在计算离散对数时也有相应的困难。因此,许多公开密码系统都是基于这个问题发展起来的,比如ECES和ECDSA,类似于elgamal和DSA。
椭圆曲线加密算法ECC的优势
与RSA方法相比,椭圆曲线加密算法ECC具有许多技术优势:
●更高的安全性能。
加密算法的安全性能一般通过算法的抗攻击强度来体现。与其他公钥体制相比,椭圆曲线密码体制在抗攻击方面具有绝对优势。目前椭圆曲线离散对数(ECDLP)的计算复杂度是完全指数级的,而RSA是亚指数级的。这表明ECC比RSA具有更高的每比特安全性能。
计算复杂度低,处理速度快
在相同计算资源的一定条件下,虽然在RSA中选择较小的公钥(可以小到3)可以提高公钥处理的速度,即加密和签名验证的速度可以与ECC相比,但ECC中私钥处理(解密和签名)的速度要比RSA和DSA快得多。所以ECC的整体速度比RSA和DSA快很多。同时,ECC系统的密钥生成速度比RSA快100多倍。因此,在同等条件下,ECC具有更高的加密性能。
●存储空间占用小
ECC的密钥大小和系统参数比RSA和DSA小得多。160位ECC具有与1024位RSA和DSA相同的安全强度。而210位ECC具有与2048位RSA和DSA相同的安全强度。这意味着它占用更少的存储空间。这对加密算法在资源受限环境(如智能卡)中的应用具有重要意义。
低带宽要求
当加密和解密长消息时,三种类型的密码系统具有相同的带宽要求,但是当应用于短消息时,ECC带宽要求低得多。然而,公钥加密系统主要用于短消息,如数字签名和对称系统的会话密钥传输。低带宽要求使得ECC在无线网络领域具有广阔的应用前景。
4椭圆曲线加密算法ECC相关标准
ECC的这些特点使其在某些领域(如PDA、手机、智能卡)取代RSA,成为一种通用的公钥加密算法。许多国际标准化组织(政府、工业、金融、商业等。)已经向全世界发布了各种椭圆曲线密码体制作为其标准化文件。ECC标准大致可以分为两种形式:一种是技术标准,即描述主要由技术支持的ECC体系,主要包括IEEE 1363、ANSI X9.62、ANSI X9.63、SEC1、SEC2、FIP 186-2和ISO/IEC 14888。规范了ECC各种参数的选取,给出了一组不同安全强度下的ECC参数。另一个是应用标准,即建议在特定的应用环境中使用ECC技术,主要包括ISO/IEC 15946、IETF PKIX、IETF TLS、WAP WTLS等在标准化的同时,一些基于标准(或草案)的椭圆曲线加密、签名、密钥交换的软硬件相继问世。美国RSA数据安全公司在1997公布了包含ECC的密码引擎工具包BSAFE 4.0加拿大Certicom为首的安全公司和业界也联合开发生产了以椭圆曲线密码算法为核心的密码产品,还提出了针对各种安全条件下椭圆曲线离散对数攻击的悬赏挑战。相信ECC技术在信息安全领域会得到越来越广泛的应用。