011各种加密算法比较

算法选择:对称加密AES,非对称加密: ECC,消息摘要: MD5,数字签名:DSA

对称加密算法(加解密密钥相同)

名称

密钥长度

运算速度

安全性

资源消耗

DES

56位

较快

3DES

112位或168位

AES

128、192、256位

非对称算法(加密密钥和解密密钥不同)

名称

成熟度

安全性(取决于密钥长度)

运算速度

资源消耗

RSA

DSA

只能用于数字签名

ECC

低(计算量小,存储空间占用小,带宽要求低)

散列算法比较

名称

安全性

速度

SHA-1

MD5

对称与非对称算法比较

名称

密钥管理

安全性

速度

对称算法

比较难,不适合互联网,一般用于内部系统

快好几个数量级(软件加解密速度至少快100倍,每秒可以加解密数M比特数据),适合大数据量的加解密处理

非对称算法

密钥容易管理

慢,适合小数据量加解密或数据签名

算法选择(从性能和安全性综合)

对称加密: AES(128位),

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

消息摘要: MD5

数字签名:DSA

轻量级:TEA、RC系列(RC4),Blowfish (不常换密钥) 速度排名(个人估测,未验证):IDEA <DES <GASTI28<GOST<AES<RC4<TEA<Blowfish 简单的加密设计: 用密钥对原文做 异或,置换,代换,移位

名称

数据大小(MB)

时间(s)

平均速度MB/S

评价

DES

256

10.5

22.5

3DES

256

12

12

AES(256-bit)

256

5

51.2

Blowfish

256

3.7

64

表5-3 单钥密码算法性能比较表

名称

实现方式

运算速度

安 全 性

改进措施

应用场合

DES

40-56bit密钥

一般

完全依赖密钥,易受穷举搜索法攻击

双重、三重DES,AES

适用于硬件实现

IDEA

128bit密钥8轮迭代

较慢

军事级,可抗差值分析和相关分析

加长字长为32bit、密钥为256bit,采用232 模加、232+1模乘

适用于ASIC设计

GOST

256bit密钥32轮迭代

较快

军事级

加大迭代轮数

S盒可随机秘密选择,便于软件实现

Blowfish

256-448bit密钥、16轮迭代

最快

军事级、可通过改变密钥长度调整安全性

适合固定密钥场合,不适合常换密钥和智能卡

RC4

密钥长度可变

快DESl0倍

对差分攻击和线性攻击具有免疫能力,高度非线性

密钥长度放宽到64bit

算法简单,易于编程实现

RC5

密钥长度和迭代轮数均可变

速度可根据三个参数的值进行选择

六轮以上时即可抗线性攻击、通过调整字长、密钥长度和迭代轮数可以在安全性和速度上取得折中

引入数据相倚转

适用于不同字长的微处理器

CASTl28

密钥长度可变、16轮迭代

较快

可抵抗线性和差分攻击

增加密钥长度、形成CAST256

适用于PC机和UNIX工作站

常见加密算法 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加密

参考文章

  1. 各种加密算法比较
  2. TEA加密算法java版
  3. Java利用 AES/ECB/PKCS5Padding 算法加解密

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏企鹅号快讯

黑客们都是如何给勒索软件加密的?

加密是计算机科学中历史最长久的一种计算了。早在二战时期,德国就制造了Enigma密码机,来传输机密信息。计算机科学的祖师爷之一图灵也参与了对Enigma密码的破...

22890
来自专栏区块链

SSL证书的加密技术

根据密钥类型不同将现代密码技术分为两类:对称加密算法(秘密钥匙加密)和非对称加密算法(公开密钥加密)。对于对称性加密算法,信息接收双方都需事先知道密匙和加解密算...

24660
来自专栏jouypub

区块链之非对称加密算法

非对称加密,在现在网络应用中,有这非常广泛的场景,更是加密货币的基础。本文主要介绍非对称加密、解密的原理和过程,以及在区块链中的使用。

21410
来自专栏阮一峰的网络日志

密码学笔记

1. 加密方法可以分为两大类。一类是单钥加密(private key cryptography),还有一类叫做双钥加密(public key cryptogra...

34440
来自专栏小工匠技术圈

【Java小工匠聊密码学】--非对称加密--RSA1

  RSA加密算法是一种非对称加密算法。在公开密钥加密和电子商业中RSA被广泛使用。RSA是1977年由罗纳德·李维斯特(Ron Rivest)、阿迪·萨莫尔(...

9630
来自专栏贾老师の博客

加密与签名算法

37530
来自专栏黑白安全

如何攻破加密算法

当应用加密算法时,有许多地方可能会出错。难点在于识别和分析程序员用来加密的方法,然后寻找其中的漏洞。漏洞的种类也很多,比如弱加密算法、弱密钥生成器、服务端漏洞和...

22620
来自专栏码神联盟

敲一天代码了,轻松下吧,精彩 !看人潮如海

先来首歌曲,耶耶耶..... ? 一边听歌,一遍来看几个算法 一、数字摘要算法 数字摘要也称为消息摘要,它是一个唯一对应一个消息或文本的固定长度的值,它由一个...

30350
来自专栏fangyangcoder

密码学笔记

看了李永乐老师的密码学视频,真的是收获满满,在这里记录一下。现代密码学分主要有两种加密方式,一种是对称加密,另一种是非对称加密,李永乐老师在视频中讲解了非常著名...

16730
来自专栏java一日一条

DES/3DES/AES 三种对称加密算法在 Java 中的实现

1)算法和数据结构就是编程的一个重要部分,你若失掉了算法和数据结构,你就把一切都失掉了。 2)编程就是算法和数据结构,算法和数据结构是编程的灵魂。

16020

扫码关注云+社区

领取腾讯云代金券