|
本帖最后由 liqingboyou 于 2015-5-6 17:01 编辑
各种加密算法比较 算法选择:对称加密AES,非对称加密: ECC,消息摘要: MD5,数字签名:DSA
对称加密算法(加解密密钥相同) 名称 | 密钥长度 | 运算速度 | 安全性 | 资源消耗 | DES | 56位 | 较快 | 低 | 中 | 3DES | 112位或168位 | 慢 | 中 | 高 | AES | 128、192、256位 | 快 | 高 | 低 |
非对称算法(加密密钥和解密密钥不同) 名称 | 成熟度 | 安全性(取决于密钥长度) | 运算速度 | 资源消耗 | RSA | 高 | 高 | 慢 | 高 | DSA | 高 | 高 | 慢 | 只能用于数字签名 | ECC | 低 | 高 | 快 | 低(计算量小,存储空间占用小,带宽要求低) |
散列算法比较
对称与非对称算法比较 名称 | 密钥管理 | 安全性 | 速度 | 对称算法 | 比较难,不适合互联网,一般用于内部系统 | 中 | 快好几个数量级(软件加解密速度至少快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加密
|
|
|