您的位置:首页 > 其它

各种加密算法比较

2017-09-02 10:33 169 查看
算法选择:对称加密AES,非对称加密: ECC,消息摘要: MD5,数字签名:DSA

对称加密算法(加解密密钥相同)
[align=center]名称[/align]
[align=center]密钥长度[/align]
[align=center]运算速度[/align]
[align=center]安全性[/align]
[align=center]资源消耗[/align]
[align=left]DES[/align]
[align=left]56位[/align]
[align=left]较快[/align]
[align=left]低[/align]
[align=left]中[/align]
[align=left]3DES[/align]
[align=left]112位或168位[/align]
[align=left]慢[/align]
[align=left]中[/align]
[align=left]高[/align]
[align=left]AES[/align]
[align=left]128、192、256位[/align]
[align=left]快[/align]
[align=left]高[/align]
[align=left]低[/align]
非对称算法(加密密钥和解密密钥不同)
[align=center]名称[/align]
[align=center]成熟度[/align]
[align=center]安全性(取决于密钥长度)[/align]
[align=center]运算速度[/align]
[align=center]资源消耗[/align]
[align=left]RSA[/align]
[align=left]高[/align]
[align=left]高[/align]
[align=left]慢[/align]
[align=left]高[/align]
[align=left]DSA[/align]
[align=left]高[/align]
[align=left]高[/align]
[align=left]慢[/align]
[align=left]只能用于数字签名[/align]
[align=left]ECC[/align]
[align=left]低[/align]
[align=left]高[/align]
[align=left]快[/align]
[align=left]低(计算量小,存储空间占用小,带宽要求低)[/align]
散列算法比较
[align=center]名称[/align]
[align=center]安全性[/align]
[align=center]速度[/align]
[align=left]SHA-1[/align]
[align=left]高[/align]
[align=left]慢[/align]
[align=left]MD5[/align]
[align=left]中[/align]
[align=left]快[/align]
对称与非对称算法比较
[align=center]名称[/align]
[align=center]密钥管理[/align]
[align=center]安全性[/align]
[align=center]速度[/align]
[align=left]对称算法[/align]
[align=left]比较难,不适合互联网,一般用于内部系统[/align]
[align=left]中[/align]
[align=left]快好几个数量级(软件加解密速度至少快100倍,每秒可以加解密数M比特数据),适合大数据量的加解密处理[/align]
[align=left]非对称算法[/align]
[align=left]密钥容易管理[/align]
[align=left]高[/align]
[align=left]慢,适合小数据量加解密或数据签名[/align]
算法选择(从性能和安全性综合)

对称加密: AES(128位),

非对称加密: ECC(160位)或RSA(1024),

消息摘要: MD5

数字签名:DSA

轻量级:TEA、RC系列(RC4),Blowfish (不常换密钥)

速度排名(个人估测,未验证):IDEA <DES <GASTI28<GOST<AES<RC4<TEA<Blowfish

简单的加密设计: 用密钥对原文做 异或,置换,代换,移位

[align=center]名称[/align]
[align=center]数据大小(MB)[/align]
[align=center]时间(s)[/align]
[align=center]平均速度MB/S[/align]
[align=center]评价[/align]
[align=center]DES[/align]
[align=center]256[/align]
[align=center]10.5[/align]
[align=center]22.5[/align]
[align=center]低[/align]
[align=center]3DES[/align]
[align=center]256[/align]
[align=center]12[/align]
[align=center]12[/align]
[align=center]低[/align]
[align=center]AES(256-bit)[/align]
[align=center]256[/align]
[align=center]5[/align]
[align=center]51.2[/align]
[align=center]中[/align]
[align=center]Blowfish[/align]
[align=center]256[/align]
[align=center]3.7[/align]
[align=center]64[/align]
[align=center]高[/align]
[align=center]表5-3 单钥密码算法性能比较表[/align]
[align=left]名称[/align]
[align=left]实现方式[/align]
[align=left]运算速度[/align]
[align=left]安 全 性[/align]
[align=left]改进措施[/align]
[align=left]应用场合[/align]
[align=left]DES[/align]
[align=left]40-56bit[/align]
[align=left]密钥[/align]
[align=left]一般[/align]
[align=left]完全依赖密钥,易受穷举搜索法攻击[/align]
[align=left]双重、三重DES,AES[/align]
[align=left] 适用于硬件实现[/align]
[align=left]IDEA[/align]
[align=left]128bit密钥[/align]
[align=left]8轮迭代[/align]
[align=left]较慢[/align]
[align=left]军事级,可抗差值分析和相关分析[/align]
[align=left]加长字长为32bit、密钥为256bit,采用232 模加、232+1模乘[/align]
[align=left] 适用于ASIC设计[/align]
[align=left]GOST[/align]
[align=left]256bit密钥[/align]
[align=left]32轮迭代[/align]
[align=left]较快[/align]
[align=left]军事级[/align]
[align=left]加大迭代轮数[/align]
[align=left]S盒可随机秘[/align]
[align=left]密选择,便于软件实现[/align]
[align=left]Blowfish[/align]
[align=left]256-448bit[/align]
[align=left]密钥、16轮迭代[/align]
[align=left]最快[/align]
[align=left] 军事级、可通过改变密钥长度调整安全性[/align]
[align=left]适合固定密钥场合,不适合常换密钥和智能卡[/align]
[align=left]RC4[/align]
[align=left]密钥长度可变[/align]
[align=left]快DESl0倍[/align]
[align=left]对差分攻击和线性攻击具有免疫能力,高度非线性[/align]
[align=left]密钥长度放宽到64bit[/align]
[align=left]算法简单,易于编程实现[/align]
[align=left]RC5[/align]
[align=left]密钥长度和迭代轮数均可变[/align]
[align=left]速度可根据[/align]
[align=left]三个参数的[/align]
[align=left]值进行选择[/align]
[align=left]六轮以上时即可抗线性攻击、通过调整字长、密钥长度和迭代轮数可以在安全性和速度上取得折中[/align]
[align=left]引入数据相倚转[/align]
[align=left] 适用于不同字长的微处理器[/align]
[align=left]CASTl28[/align]
[align=left]密钥长度可变、16轮迭代[/align]
[align=left]较快[/align]
[align=left]可抵抗线性和差分攻击[/align]
[align=left]增加密钥长度、形成CAST256[/align]
[align=left]适用于PC机和[/align]
[align=left]UNIX工作站[/align]
常见加密算法

1、DES(Data Encryption Standard):对称算法,数据加密标准,速度较快,适用于加密大量数据的场合;

2、3DES(Triple DES):是基于DES的对称算法,对一块数据用三个不同的密钥进行三次加密,强度更高;

3、RC2和RC4:对称算法,用变长密钥对大量数据进行加密,比 DES 快;

4、IDEA(International Data Encryption Algorithm)国际数据加密算法,使用 128 位密钥提供非常强的安全性;

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

6、DSA(Digital Signature Algorithm):数字签名算法,是一种标准的 DSS(数字签名标准),严格来说不算加密算法;

7、AES(Advanced Encryption Standard):高级加密标准,对称算法,是下一代的加密算法标准,速度快,安全级别高,在21世纪AES 标准的一个实现是 Rijndael 算法;

8、BLOWFISH,它使用变长的密钥,长度可达448位,运行速度很快;

9、MD5:严格来说不算加密算法,只能说是摘要算法;

10、PKCS:The Public-Key Cryptography Standards (PKCS)是由美国RSA数据安全公司及其合作伙伴制定的一组公钥密码学标准,其中包括证书申请、证书更新、证书作废表发布、扩展证书内容以及数字签名、数字信封的格式等方面的一系列相关协议。

11、SSF33,SSF28,SCB2(SM1):国家密码局的隐蔽不公开的商用算法,在国内民用和商用的,除这些都不容许使用外,其他的都可以使用;

12、ECC(Elliptic Curves Cryptography):椭圆曲线密码编码学。

13、TEA(Tiny
Encryption Algorithm)简单高效的加密算法,加密解密速度快,实现简单。但安全性不如DES,QQ一直用tea加密
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: