常见加密算法分用途原理以及比较

上传人:xiao****1972 文档编号:84042835 上传时间:2019-03-02 格式:DOCX 页数:9 大小:32.66KB
返回 下载 相关 举报
常见加密算法分用途原理以及比较_第1页
第1页 / 共9页
常见加密算法分用途原理以及比较_第2页
第2页 / 共9页
常见加密算法分用途原理以及比较_第3页
第3页 / 共9页
常见加密算法分用途原理以及比较_第4页
第4页 / 共9页
常见加密算法分用途原理以及比较_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《常见加密算法分用途原理以及比较》由会员分享,可在线阅读,更多相关《常见加密算法分用途原理以及比较(9页珍藏版)》请在金锄头文库上搜索。

1、常见加密算法分,用途,原理以及比较密码学简介据记载,公元前400年,古希腊人发明了置换密码。1881年世界上的第一个电话保密专利出现。在第二次世界大战期间,德国军方启用“恩尼格玛”密码机,密码学在战争中起着非常重要的作用。随着信息化和数字化社会的发展,人们对信息安全和保密的重要性认识不断提高,于是在1997年,美国国家标准局公布实施了“美国数据加密标准(DES)”,民间力量开始全面介入密码学的研究和应用中,采用的加密算法有DES、RSA、SHA等。随着对加密强度需求的不断提高,近期又出现了AES、ECC等。使用密码学可以达到以下目的:保密性:防止用户的标识或数据被读取。数据完整性:防止数据被更

2、改。身份验证:确保数据发自特定的一方。二.加密算法介绍根据密钥类型不同将现代密码技术分为两类:对称加密算法(秘密钥匙加密)和非对称加密算法(公开密钥加密)。对称钥匙加密系统是加密和解密均采用同一把秘密钥匙,而且通信双方都必须获得这把钥匙,并保持钥匙的秘密。非对称密钥加密系统采用的加密钥匙(公钥)和解密钥匙(私钥)是不同的。对称加密算法对称加密算法用来对敏感数据等信息进行加密,常用的算法包括:DES(Data Encryption Standard):数据加密标准,速度较快,适用于加密大量数据的场合。3DES(Triple DES):是基于DES,对一块数据用三个不同的密钥进行三次加密,强度更高

3、。AES(Advanced Encryption Standard):高级加密标准,是下一代的加密算法标准,速度快,安全级别高;AES2000年10月,NIST(美国国家标准和技术协会)宣布通过从15种侯选算法中选出的一项新的密匙加密标准。Rijndael被选中成为将来的AES。Rijndael是在1999年下半年,由研究员Joan Daemen和Vincent Rijmen创建的。AES正日益成为加密各种形式的电子数据的实际标准。美国标准与技术研究院(NIST)于2002年5月26日制定了新的高级加密标准(AES)规范。算法原理AES算法基于排列和置换运算。排列是对数据重新进行安排,置换是将

4、一个数据单元替换为另一个。AES使用几种不同的方法来执行排列和置换运算。AES是一个迭代的、对称密钥分组的密码,它可以使用128、192和256位密钥,并且用128位(16字节)分组加密和解密数据。与公共密钥密码使用密钥对不同,对称密钥密码使用相同的密钥加密和解密数据。通过分组密码返回的加密数据的位数与输入数据相同。迭代加密使用一个循环结构,在该循环中重复置换和替换输入数据AES与3DES的比较算法名称算法类型密钥长度速度解密时间(建设机器每秒尝试255个密钥)资源消耗AES对称block密码128、192、256位高1490000亿年低3DES对称feistel密码112位或168位低46亿

5、年中非对称算法常见的非对称加密算法如下:RSA:由RSA公司发明,是一个支持变长密钥的公共密钥算法,需要加密的文件块的长度也是可变的;DSA(Digital Signature Algorithm):数字签名算法,是一种标准的DSS(数字签名标准);ECC(Elliptic Curves Cryptography):椭圆曲线密码编码学。ECC在1976年,由于对称加密算法已经不能满足需要,Diffie和Hellman发表了一篇叫密码学新动向的文章,介绍了公匙加密的概念,由Rivet、Shamir、Adelman提出了RSA算法。随着分解大整数方法的进步及完善、计算机速度的提高以及计算机网络的发

6、展,为了保障数据的安全,RSA的密钥需要不断增加,但是,密钥长度的增加导致了其加解密的速度大为降低,硬件实现也变得越来越难以忍受,这对使用RSA的应用带来了很重的负担,因此需要一种新的算法来代替RSA。1985年N.Koblitz和Miller提出将椭圆曲线用于密码算法,根据是有限域上的椭圆曲线上的点群中的离散对数问题ECDLP。ECDLP是比因子分解问题更难的问题,它是指数级的难度。算法原理椭圆曲线上的难题椭圆曲线上离散对数问题ECDLP定义如下:给定素数p和椭圆曲线E,对QkP,在已知P,Q的情况下求出小于p的正整数k。可以证明由k和P计算Q比较容易,而由Q和P计算k则比较困难。将椭圆曲线

7、中的加法运算与离散对数中的模乘运算相对应,将椭圆曲线中的乘法运算与离散对数中的模幂运算相对应,我们就可以建立基于椭圆曲线的对应的密码体制。例如,对应Diffie-Hellman公钥系统,我们可以通过如下方式在椭圆曲线上予以实现:在E上选取生成元P,要求由P产生的群元素足够多,通信双方A和B分别选取a和b,a和b予以保密,但将aP和bP公开,A和B间通信用的密钥为abP,这是第三者无法得知的。对应ELGamal密码系统可以采用如下的方式在椭圆曲线上予以实现:将明文m嵌入到E上Pm点,选一点BE,每一用户都选一整数a,0aN,N为阶数已知,a保密,aB公开。欲向A送m,可送去下面一对数偶:kB,P

8、m+k(aAB),k是随机产生的整数。A可以从kB求得k(aAB)。通过:Pm+k(aAB)- k(aAB)=Pm恢复Pm。同样对应DSA,考虑如下等式:K=kG 其中K,G为Ep(a,b)上的点,k为小于n(n是点G的阶)的整数不难发现,给定k和G,根据加法法则,计算K很容易;但给定K和G,求k就相对困难了。这就是椭圆曲线加密算法采用的难题。我们把点G称为基点(base point),k(kn,n为基点G的阶)称为私有密钥(privte key),K称为公开密钥(public key)。ECC与RSA的比较ECC和RSA相比,在许多方面都有对绝对的优势,主要体现在以下方面:抗攻击性强。相同的

9、密钥长度,其抗攻击性要强很多倍。计算量小,处理速度快。ECC总的速度比RSA、DSA要快得多。存储空间占用小。ECC的密钥尺寸和系统参数与RSA、DSA相比要小得多,意味着它所占的存贮空间要小得多。这对于加密算法在IC卡上的应用具有特别重要的意义。带宽要求低。当对长消息进行加解密时,三类密码系统有相同的带宽要求,但应用于短消息时ECC带宽要求却低得多。带宽要求低使ECC在无线网络领域具有广泛的应用前景。ECC的这些特点使它必将取代RSA,成为通用的公钥加密算法。比如SET协议的制定者已把它作为下一代SET协议中缺省的公钥密码算法。下面两张表示是RSA和ECC的安全性和速度的比较:攻破时间(MI

10、PS年)RSA/DSA(密钥长度)ECC密钥长度RSA/ECC密钥长度比1045121065:11087681326:1101110241607:11020204821010:110782100060035:1RSA和ECC安全模长得比较功能Security Builder 1.2BSAFE 3.0163位ECC(ms)1,023位RSA(ms)密钥对生成3.84,708.3签名2.1(ECNRA)228.43.0(ECDSA)认证9.9(ECNRA)12.710.7(ECDSA)DiffieHellman密钥交换7.31,654.0RSA和ECC速度比较散列算法散列是信息的提炼,通常其长度要

11、比信息小得多,且为一个固定长度。加密性强的散列一定是不可逆的,这就意味着通过散列结果,无法推出任何部分的原始信息。任何输入信息的变化,哪怕仅一位,都将导致散列结果的明显变化,这称之为雪崩效应。散列还应该是防冲突的,即找不出具有相同散列结果的两条信息。具有这些特性的散列结果就可以用于验证信息是否被修改。单向散列函数一般用于产生消息摘要,密钥加密等,常见的有:MD5(Message Digest Algorithm 5):是RSA数据安全公司开发的一种单向散列算法。SHA(Secure Hash Algorithm):可以对任意长度的数据运算生成一个160位的数值;SHA-1在1993年,安全散列

12、算法(SHA)由美国国家标准和技术协会(NIST)提出,并作为联邦信息处理标准(FIPS PUB 180)公布;1995年又发布了一个修订版FIPS PUB 180-1,通常称之为SHA-1。SHA-1是基于MD4算法的,并且它的设计在很大程度上是模仿MD4的。现在已成为公认的最安全的散列算法之一,并被广泛使用。算法原理SHA-1是一种数据加密算法,该算法的思想是接收一段明文,然后以一种不可逆的方式将它转换成一段(通常更小)密文,也可以简单的理解为取一串输入码(称为预映射或信息),并把它们转化为长度较短、位数固定的输出序列即散列值(也称为信息摘要或信息认证代码)的过程。单向散列函数的安全性在于

13、其产生散列值的操作过程具有较强的单向性。如果在输入序列中嵌入密码,那么任何人在不知道密码的情况下都不能产生正确的散列值,从而保证了其安全性。将输入流按照每块位(个字节)进行分块,并产生个字节的被称为信息认证代码或信息摘要的输出。该算法输入报文的最大长度不超过264位,产生的输出是一个160位的报文摘要。输入是按512位的分组进行处理的。SHA-1是不可逆的、防冲突,并具有良好的雪崩效应。通过散列算法可实现数字签名实现,数字签名的原理是将要传送的明文通过一种函数运算(Hash)转换成报文摘要(不同的明文对应不同的报文摘要),报文摘要加密后与明文一起传送给接受方,接受方将接受的明文产生新的报文摘要

14、与发送方的发来报文摘要解密比较,比较结果一致表示明文未被改动,如果不一致表示明文已被篡改。MAC (信息认证代码)就是一个散列结果,其中部分输入信息是密码,只有知道这个密码的参与者才能再次计算和验证MAC码的合法性。MAC的产生参见下图。输入信息密码散列函数信息认证代码SHA-1与MD5的比较因为二者均由MD4导出,SHA-1和MD5彼此很相似。相应的,他们的强度和其他特性也是相似,但还有以下几点不同:对强行供给的安全性:最显著和最重要的区别是SHA-1摘要比MD5摘要长32位。使用强行技术,产生任何一个报文使其摘要等于给定报摘要的难度对MD5是2128数量级的操作,而对SHA-1则是2160

15、数量级的操作。这样,SHA-1对强行攻击有更大的强度。对密码分析的安全性:由于MD5的设计,易受密码分析的攻击,SHA-1显得不易受这样的攻击。速度:在相同的硬件上,SHA-1的运行速度比MD5慢。对称与非对称算法比较以上综述了两种加密方法的原理,总体来说主要有下面几个方面的不同:在管理方面:公钥密码算法只需要较少的资源就可以实现目的,在密钥的分配上,两者之间相差一个指数级别(一个是n一个是n2)。所以私钥密码算法不适应广域网的使用,而且更重要的一点是它不支持数字签名。在安全方面:由于公钥密码算法基于未解决的数学难题,在破解上几乎不可能。对于私钥密码算法,到了AES虽说从理论来说是不可能破解的,但从计算机的发展角度来看。公钥更具有优越性。从速度上来看:AES的软件实现速度已经达到了每秒数兆或数十兆比特。是公钥的100倍,如果用硬件来实现的话这个比值将扩大到1000倍。三

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号