吕 迪 贾志洋
(1.云南大学旅游文化学院信科系 云南 674100;2.云南大学旅游文化学院信科系 云南 674100)
信息安全广泛涉及数学、密码学、计算机、通信、控制、人工智能、安全工程、人文科学等诸多学科,信息对抗和网络安全是信息安全的核心热点,它的研究和发展又将刺激、推动和促进相关学科的研究与发展。至今,密码技术是取得信息安全性最有效的一种方法,密码技术是信息安全的核心技术.随着加密技术的研究信息安全得到进一步的提高,加密算法越来越复杂,加密的数据越来越安全,对于不同的数据我们应该使用合理的加密算法。下面就对称加密算法,非对称加密算法,离散加密算法进行比较。
DES(Data Encryption Standard),DES算法把64位的明文输入块变为64位的密文输出块,它所使用的密钥也是64位。首先,DES把输入的64位数据块按位重新组合,并把输出分为L0、R0两部分,每部分各长32位,并进行前后置换,最终由L0输出左32位,R0输出右32位,根据这个法则经过16次迭代运算后,得到L16、R16,将此作为输入,进行与初始置换相反的逆置换,即得到密文输出。DES加密算法特点:分组比较短、密钥太短、密码生命周期短、运算速度较慢。
图1 AES与3DES的比较
3DES(Triple DES),3DES是基于DES,对一块数据用三个不同的密钥进行三次加密,强度更高。
AES(Advanced Encryption Standard),AES 算法基于排列和置换运算。排列是对数据重新进行安排,置换是将一个数据单元替换为另一个。AES 使用几种不同的方法来执行排列和置换运算。AES 是一个迭代的、对称密钥分组的密码,它可以使用 128、192 和 256 位密钥,并且用 128位(16字节)分组加密和解密数据。与公共密钥密码使用密钥对不同,对称密钥密码使用相同的密钥加密和解密数据。通过分组密码返回的加密数据的位数与输入数据相同。迭代加密使用一个循环结构,在该循环中重复置换和替换输入数据。高级加密标准,是下一代的加密算法标准,速度快,安全级别高。
AES与3DES算法性能比较结果如图1所示。
RSA算法是目前最流行的公钥密码算法,它使用长度可以变化的密钥。RSA是第一个既能用于数据加密也能用于数字签名的算法。RSA算法的原理如下:
(1)随机选择两个大质数p和q,p不等于q,计算N=pq;
(2)选择一个大于1小于N的自然数e,e必须与(p-1)×(q-1)互素。
(3)用公式计算出d:d×e=1(mod(p-1)×(q-1))。
(4)销毁p和q
最终得到的N和e就是“公钥”,d就是“私钥”,发送方使用N去加密数据,接收方只有使用d才能解开数据内容。RSA的安全性依赖于大数分解,小于1024位的N已经被证明是不安全的,而且由于RSA算法进行的都是大数计算,使得RSA最快的情况也比DES慢上好几倍,这也是RSA最大的缺陷,因此它通常只能用于加密少量数据或者加密密钥。
ECC(Elliptic Curves Cryptography):给定素数p和椭圆曲线E,对Q=kP,在已知P,Q 的情况下求出小于p的正整数k。可以证明由k和P计算Q比较容易,而由Q和P计算k则比较困难。将椭圆曲线中的加法运算与离散对数中的模乘运算相对应,将椭圆曲线中的乘法运算与离散对数中的模幂运算相对应,我们就可以建立基于椭圆曲线的对应的密码体制。
ECC与RSA的比较:
ECC和RSA相比,在许多方面都有对绝对的优势,主要体现在以下方面:
抗攻击性强。相同的密钥长度,其抗攻击性要强很多倍;计算量小,处理速度快;ECC总的速度比RSA要快得多;存储空间占用小,ECC的密钥尺寸和系统参数与RSA相比要小得多,意味着它所占的存贮空间要小得多。这对于加密算法在IC卡上的应用具有特别重要的意义;带宽要求低。当对长消息进行加解密时,三类密码系统有相同的带宽要求,但应用于短消息时ECC带宽要求却低得多。带宽要求低使ECC在无线网络领域具有广泛的应用前景;ECC的这些特点使它必将取代RSA,成为通用的公钥加密算法。
面对对称解密算法和非对称加密算法,那我们在实际使用的过程中究竟该使用哪一种比较好呢?我们应该根据自己的使用特点来确定,由于非对称加密算法的运行速度比对称加密算法的速度慢很多,当我们需要加密大量的数据时,建议采用对称加密算法,提高加解密速度。对称加密算法不能实现签名,因此签名只能非对称算法。由于对称加密算法的密钥管理是一个复杂的过程,密钥的管理直接决定着他的安全性,因此当数据量很小时,我们可以考虑采用非对称加密算法。在实际的操作过程中,我们通常采用的方式是:采用非对称加密算法管理对称算法的密钥,然后用对称加密算法加密数据,这样我们就集成了两类加密算法的优点,既实现了加密速度快的优点,又实现了安全方便管理密钥的优点。如果在选定了加密算法后,那采用多少位的密钥呢?一般来说,密钥越长,运行的速度就越慢,应该根据的我们实际需要的安全级别来选择,一般来说,RSA建议采用1024位的数字,ECC建议采用160位,AES采用128为即可。
随着计算方法的改进,计算机运行速度的加快,网络的发展,越来越多的算法被破解。在2004年国际密码学会议上,来自中国山东大学的王小云教授做的破译 MD5、HAVAL-128、MD4和 RIPEMD算法的报告,令在场的国际顶尖密码学专家都为之震惊,意味着这些算法将从应用中淘汰。随后,SHA-1也被宣告被破解。历史上有三次对 DES有影响的攻击实验。1997年,利用当时各国 7万台计算机,历时96天破解了DES的密钥。1998年,电子边境基金会(EFF)用25万美元制造的专用计算机,用56小时破解了DES的密钥。1999年,EFF用22小时15分完成了破解工作。因此。曾经有过卓越贡献的DES也不能满足我们日益增长的需求了。因此加密算法依然需要不断发展和完善,提供更高的加密安全强度和运算速度。纵观这两种算法一个从DES到3DES再到AES,一个从RSA到ECC。其发展角度无不是从密钥的简单性,成本的低廉性,管理的简易性,算法的复杂性,保密的安全性以及计算的快速性这几个方面去考虑。因此,未来算法的发展也必定是从这几个角度出发的,而且在实际操作中往往把这两种算法结合起来,也需将来一种集两种算法优点于一身的新型算法将会出现,到那个时候,电子商务的实现必将更加的快捷和安全。
[1]谢晓燕,魏斌峰.浅析网络信息加密技术[J].科技广场.2007(05)
[2]施向东,董平.基于RSA算法的一种新的加密核设计[J].微计算机信息.2005(26)
[3]王喜成[等]著.公钥密码快速算法与实现技术[M].电子科技大学出版社,2006
[4]蔡乐才主编.应用密码学[M].中国电力出版社,2005
[5](美)WadeTrappe,(美)LawrenceC.Washington著,邹红霞等译.密码学概论[M].人民邮电出版社,2004
[6]李保秀,邵君.网络安全中的加密技术[J].商场现代化.2007(11)
[7]邢书宝,李刚,薛惠锋.一次一密加密系统设计与实现[J].计算机技术与发展.2007(03)
[8]顾婷婷,李涛,尹鹏,王伍戎,王先旺,冷丽琴,王耀.RSA和RSA数字签名的实现[J].网络安全技术与应用.2001(07)
[9]梁志龙,张志浩.对RSA算法和加密强度问题的研究[J].网络安全技术与应用.2001(05)
[10]王国兵,杨建沾,谢贵.基于 RSA算法的网络安全体系构造[J].武汉大学学报(自然科学版).2000(01)