各种加解密算法比較

各种加解密算法比較

大家好,又见面了,我是全栈君,祝每个程序员都可以多学几门语言。

.          加密算法介绍

对称加密算法

对称加密算法用来对敏感数据等信息进行加密,经常使用的算法包含:

DESData Encryption Standard):数据加密标准,速度较快,适用于加密大量数据的场合。

3DESTriple DES):是基于DES,对一块数据用三个不同的密钥进行三次加密,强度更高。

AESAdvanced Encryption Standard):高级加密标准,是下一代的加密算法标准,速度快,安全级别高;

AES3DES的比較

算法名称

算法类型

密钥长度

速度

解密时间(建设机器每秒尝试255个密钥)

资源消耗

AES

对称blockpassword

128192256

1490000亿年

3DES

对称feistelpassword

112位或168

46亿年

非对称算法

RSA:由 RSA 公司发明,是一个支持变长密钥的公共密钥算法,须要加密的文件块的长度也是可变的;

DSADigital Signature Algorithm):数字签名算法,是一种标准的 DSS(数字签名标准);

ECCElliptic Curves Cryptography):椭圆曲线password编码学。

ECCRSA相比,在很多方面都有对绝对的优势,主要体如今下面方面:

抗攻击性强。同样的密钥长度,其抗攻击性要强非常多倍。

计算量小,处理速度快。ECC总的速度比RSADSA要快得多。

存储空间占用小。ECC的密钥尺寸和系统參数与RSADSA相比要小得多,意味着它所占的存贮空间要小得多。这对于加密算法在IC卡上的应用具有特别重要的意义。

带宽要求低。当对长消息进行加解密时,三类password系统有同样的带宽要求,但应用于短消息时ECC带宽要求却低得多。带宽要求低使ECC在无线网络领域具有广泛的应用前景。

以下两张表示是RSAECC的安全性和速度的比較。

攻破时间(MIPS)

RSA/DSA(密钥长度)

ECC密钥长度

RSA/ECC密钥长度比

104

512

106

51

108

768

132

61

1011

1024

160

71

1020

2048

210

101

1078

21000

600

351

 

攻破时间(MIPS)

RSA/DSA(密钥长度)

ECC密钥长度

RSA/ECC密钥长度比

104

512

106

51

108

768

132

61

1011

1024

160

71

1020

2048

210

101

1078

21000

600

351

RSAECC安全模长得比較

功能

Security Builder 1.2

BSAFE 3.0

163ECC(ms)

1,023RSA(ms)

密钥对生成

3.8

4,708.3

签名

2.1(ECNRA)

228.4

3.0(ECDSA)

认证

9.9(ECNRA)

12.7

10.7(ECDSA)

Diffie—Hellman密钥交换

7.3

1,654.0

RSAECC速度比較

散列算法

散列是信息的提炼,通常其长度要比信息小得多,且为一个固定长度。加密性强的散列一定是不可逆的,这就意味着通过散列结果,无法推出不论什么部分的原始信息。不论什么输入信息的变化,哪怕仅一位,都将导致散列结果的明显变化,这称之为雪崩效应。散列还应该是防冲突的,即找不出具有同样散列结果的两条信息。具有这些特性的散列结果就能够用于验证信息是否被改动。

单向散列函数一般用于产生消息摘要,密钥加密等,常见的有:

l         MD5Message Digest Algorithm 5):是RSA数据安全公司开发的一种单向散列算法,非可逆,同样的明文产生同样的密文。

l         SHASecure Hash Algorithm):能够对随意长度的数据运算生成一个160位的数值;

SHA-1MD5的比較

由于二者均由MD4导出,SHA-1MD5彼此非常类似。对应的,他们的强度和其它特性也是类似,但还有下面几点不同:

l         对强行供给的安全性:最显著和最重要的差别是SHA-1摘要比MD5摘要长32 位。使用强行技术,产生不论什么一个报文使其摘要等于给定报摘要的难度对MD52128数量级的操作,而对SHA-1则是2160数量级的操作。这样,SHA-1对强行攻击有更大的强度。

l         对password分析的安全性:因为MD5的设计,易受password分析的攻击,SHA-1显得不易受这种攻击。

l         速度:在同样的硬件上,SHA-1的执行速度比MD5慢。

对称与非对称算法比較

    以上综述了两种加密方法的原理,整体来说主要有以下几个方面的不同:

l         在管理方面:公钥password算法仅仅须要较少的资源就能够实现目的,在密钥的分配上,两者之间相差一个指数级别(一个是n一个是n2)。所以私钥password算法不适应广域网的使用,并且更重要的一点是它不支持数字签名。

l         在安全方面:因为公钥password算法基于未解决的数学难题,在破解上差点儿不可能。对于私钥password算法,到了AES虽说从理论来说是不可能破解的,但从计算机的发展角度来看。公钥更具有优越性。

l         从速度上来看:AES的软件实现速度已经达到了每秒数兆或数十兆比特。是公钥的100倍,假设用硬件来实现的话这个比值将扩大到1000倍。

三.            加密算法的选择

因为非对称加密算法的执行速度比对称加密算法的速度慢非常多,当我们须要加密大量的数据时,建议採用对称加密算法,提高加解密速度。

对称加密算法不能实现签名,因此签名仅仅能非对称算法。

因为对称加密算法的密钥管理是一个复杂的过程,密钥的管理直接决定着他的安全性,因此当数据量非常小时,我们能够考虑採用非对称加密算法。

在实际的操作过程中,我们通常採用的方式是:採用非对称加密算法管理对称算法的密钥,然后用对称加密算法加密数据,这样我们就集成了两类加密算法的长处,既实现了加密速度快的长处,又实现了安全方便管理密钥的长处。

那採用多少位的密钥呢? RSA建议採用1024位的数字,ECC建议採用160位,AES採用128为就可以。

四.            password学在现代的应用

保密通信:保密通信是password学产生的动因。使用公私钥password体制进行保密通信时,信息接收者仅仅有知道相应的密钥才干够解密该信息。

数字签名:数字签名技术能够取代传统的手写签名,并且从安全的角度考虑,数字签名具有非常好的防伪造功能。在政府机关、军事领域、商业领域有广泛的应用环境。

秘密共享:秘密共享技术是指将一个秘密信息利用password技术分拆成n个称为共享因子的信息,分发给n个成员,仅仅有k(kn)个合法成员的共享因子才干够恢复该秘密信息,当中不论什么一个或m(mk)个成员合作都不知道该秘密信息。利用秘密共享技术能够控制不论什么须要多个人共同控制的秘密信息、命令等。

认证功能:在公开的信道上进行敏感信息的传输,採用签名技术实现对消息的真实性、完整性进行验证,通过验证公钥证书实现对通信主体的身份验证。

密钥管理:密钥是保密系统中更为脆弱而重要的环节,公钥password体制是解决密钥管理工作的有力工具;利用公钥password体制进行密钥协商和产生,保密通信两方不须要事先共享秘密信息;利用公钥password体制进行密钥分发、保护、密钥托管、密钥恢复等。

基于公钥password体制能够实现以上通用功能以外,还能够设计实现下面的系统:安全电子商务系统、电子现金系统、电子选举系统、电子招投标系统、电子彩票系统等。

 

 

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/118477.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • Jquery tmpl的使用

    Jquery tmpl的使用jquerytmpl简介:动态请求数据更新页面非常常用的方法,例如博客评论的分页动态加载,微博的滚动加载和定时请求加载以及ajax请求返回数据等。这些情况下,动态请求返回的数据一般不是已拼好的html就是JSON或XML,总之不在浏览器端拼接数据就在服务器端拼接数据。浏览器端根据JSON生成HTML有个很苦恼的地方就是,结构不复杂的时候还好,结构一复杂,就需要很小心的写出几乎无法维护的javas…

  • Redis设置过期时间_redis过期时间原理

    Redis设置过期时间_redis过期时间原理varredis=require(‘redis’),RDS_PORT=6389,//端口号RDS_HOST=’127.0.0.1′,//服务器IPRDS_PWD=’88888888888888′,//密码RDS_OPTS={},//设置项rclient=redi…

  • webstorm2021激活码【2021最新】

    (webstorm2021激活码)2021最新分享一个能用的的激活码出来,希望能帮到需要激活的朋友。目前这个是能用的,但是用的人多了之后也会失效,会不定时更新的,大家持续关注此网站~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.cn/100143.html…

  • SPSS实战:单因素方差分析(ANOVA)

    SPSS实战:单因素方差分析(ANOVA)SPSS:单因素方差分析方差分析单因素方差分析单因素方差分析的原理单因素方差分析的SPSS操作方差分析方差分析是一种假设检验,它把观测总变异的平方和与自由度分解为对应不同变异来源的平方和与自由度,将某种控制性因素所导致的系统性误差和其他随机性误差进行对比,从而推断各组样本之间是否存在显著性差异,以分析该因素是否对总体存在显著性影响。方差分析法采用离差平方和对变差进行度量,从总离差平方和分解出可追溯到指定来源的部分离差平方和。方差分析要求样本满足以下条件:可比性:资料中各组均数本身必须具有可比性,这是

  • emgucv 抠图[通俗易懂]

    我的环境的KinectSDK2.0+EmguCV3.0.0依旧还是WinFrom和ImageBox因为需要用到BodyIndex的数据,但BodyIndex的分辨率和RGB图像的分辨率不同,所以需要用的CoordinateMap类中的坐标转换函数。然后直接对colorimage的像素点进行操作。同样,需要用的指针,要把项目调整为允许不安全的代码。代码和注释如

  • icem网格数和节点数_icem如何查看网格数量[通俗易懂]

    icem网格数和节点数_icem如何查看网格数量[通俗易懂]>减少总块数,加速求解关键:统一索引y/j索引空间索引空间x/i结构网格的索引与合并ICEM中块的合并Autodyn中网格的合并结构网格的索引与合并索引……网格的索引合并->减少总块数,加速求解关键:统一索引y/j索引空间索引空间x/i结构网格的索引与合并ICEM中块的合并Autodyn中网格的合并结构网格的……选择…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号