各种加密算法比较各种加密算法比较算法选择:对称加密AES,非对称加密:ECC,消息摘要:MD5,数字签名:DSA对称加密算法(加解密密钥相同)名称密钥长度运算速度安全性资源消耗DES56位较快低中3DES112位或168位慢中高AES128、192、256位快高低非对称算法(加密密钥和解密密钥不同)名称成熟度安全性(取决于密钥长度)运算速度资源消耗RSA高高慢高DSA高高慢只能用于数字签名ECC低高快低(计算量小,存储空间占用小,带宽要求低)散列算法比较名称安全性速度SHA-1高慢MD5中快对称与非对称算法比较名称密钥管理安全性速度对称算法比较难,不适合互联网,一般用于内部系统中快好几个数量级(软件加解密速度至少快100倍,每秒可以加解密数M比特数据),适合大数据量的加解密处理非对称算法密钥容易管理高慢,适合小数据量加解密或数据签名算法选择(从性能和安全性综合)对称加密:AES(128位),非对称加密:ECC(160位)或RSA(1024),消息摘要:MD5数字签名:DSA轻量级:TEA、RC系列(RC4),Blowfish(不常换密钥)速度排名(个人估测,未验证):IDEADESGASTI28GOSTAESRC4TEABlowfish简单的加密设计:用密钥对原文做异或,置换,代换,移位名称数据大小(MB)时间(s)平均速度MB/S评价DES25610.522.5低3DES2561212低AES(256-bit)256551.2中Blowfish2563.764高表5-3单钥密码算法性能比较表名称实现方式运算速度安全性改进措施应用场合DES40-56bit密钥一般完全依赖密钥,易受穷举搜索法攻击双重、三重DES,AES适用于硬件实现IDEA128bit密钥8轮迭代较慢军事级,可抗差值分析和相关分析加长字长为32bit、密钥为256bit,采用232模加、232+1模乘适用于ASIC设计GOST256bit密钥32轮迭代较快军事级加大迭代轮数S盒可随机秘密选择,便于软件实现Blowfish256-448bit密钥、16轮迭代最快军事级、可通过改变密钥长度调整安全性适合固定密钥场合,不适合常换密钥和智能卡RC4密钥长度可变快DESl0倍对差分攻击和线性攻击具有免疫能力,高度非线性密钥长度放宽到64bit算法简单,易于编程实现RC5密钥长度和迭代轮数均可变速度可根据三个参数的值进行选择六轮以上时即可抗线性攻击、通过调整字长、密钥长度和迭代轮数可以在安全性和速度上取得折中引入数据相倚转适用于不同字长的微处理器CASTl28密钥长度可变、16轮迭代较快可抵抗线性和差分攻击增加密钥长度、形成CAST256适用于PC机和UNIX工作站常见加密算法1、DES(DataEncryptionStandard):对称算法,数据加密标准,速度较快,适用于加密大量数据的场合;2、3DES(TripleDES):是基于DES的对称算法,对一块数据用三个不同的密钥进行三次加密,强度更高;3、RC2和RC4:对称算法,用变长密钥对大量数据进行加密,比DES快;4、IDEA(InternationalDataEncryptionAlgorithm)国际数据加密算法,使用128位密钥提供非常强的安全性;5、RSA:由RSA公司发明,是一个支持变长密钥的公共密钥算法,需要加密的文件块的长度也是可变的,非对称算法;6、DSA(DigitalSignatureAlgorithm):数字签名算法,是一种标准的DSS(数字签名标准),严格来说不算加密算法;7、AES(AdvancedEncryptionStandard):高级加密标准,对称算法,是下一代的加密算法标准,速度快,安全级别高,在21世纪AES标准的一个实现是Rijndael算法;8、BLOWFISH,它使用变长的密钥,长度可达448位,运行速度很快;9、MD5:严格来说不算加密算法,只能说是摘要算法;10、PKCS:ThePublic-KeyCryptographyStandards(PKCS)是由美国RSA数据安全公司及其合作伙伴制定的一组公钥密码学标准,其中包括证书申请、证书更新、证书作废表发布、扩展证书内容以及数字签名、数字信封的格式等方面的一系列相关协议。11、SSF33,SSF28,SCB2(SM1):国家密码局的隐蔽不公开的商用算法,在国内民用和商用的,除这些都不容许使用外,其他的都可以使用;12、ECC(EllipticCurvesCryptography):椭圆曲线密码编码学。13、TEA(TinyEncryptionAlgorithm)简单高效的加密算法,加密解密速度快,实现简单。但安全性不如DES,QQ一直用tea加密