各种加密算法比较


各种加密算法比较

算法选择:对称加密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加密

时间: 2024-10-13 22:05:42

各种加密算法比较的相关文章

常见加密算法

常见的加密算法可以分成三类,对称加密算法,公钥加密算法和单向加密算法. 对称加密 指加密和解密使用相同密钥的加密算法.对称加密算法的优点在于加解密的高速度和使用长密钥时的难破解性.假设两个用户需要使用对称加密方法加密然后交换数据,则用户最少需要2个密钥并交换使用,如果企业内用户有n个,则整个企业共需要n×(n-1) 个密钥,密钥的生成和分发将成为企业信息部门的恶梦.对称加密算法的安全性取决于加密密钥的保存情况,但要求企业中每一个持有密钥的人都保守秘密是不可能的,他们通常会有意无意的把密钥泄漏出去

加密算法笔记

加密算法:MD5.SHA,DES,AES,IDEA,RSA.BlowFish 一:单向散列算法 单向散列算法:1.也就是Hash算法,将任意长度的消息队列压缩成某一固定长度的函数, 2.过程不可逆,只是单向过程, 3.包括MD5,SHA,N-Hash, MD5:消息摘要算法,对输入任意长度的消息进行运算,产生一个128位的消息摘要. SHA:安全散列算法,SHA-1,SHA-256,SHA-384,SHA-512 二:对称加密算法 1.加密秘钥和解密秘钥完全相同 2.加密安全性依赖于秘钥的秘密性

C#封装加密算法(MD5、SHA、HMAC、DES、RSA)的一个类

using System; using System.IO; using System.Security.Cryptography; using System.Text; namespace Wen.Helpers { /// <summary> /// 安全助手 /// </summary> public sealed class SecurityHelper { private static readonly byte [] IvBytes = { 0x01, 0x23, 0x

Patch OpenSSL使其支持CHACH20_POLY1305加密算法

截止目前的OpenSSL-1.0.2j的版本还不支持Google的CHACHA20加密算法.CHACHA20加密算法相对RC4等相对安全,也针对ARM的手机端进行优化,使其更快更省电. 不过最新的Intel处理器及ARM V8的处理器通过AES-NI指令集对AES-GCM加密算法进行了优化,速度要比chacha20快很多,所以在支持AES-NI指令集的设备上优先使用AES-GCM加密算法,在设备不支持的情况下使用chacha20加密算法. 支持chacha20加密算法的3种方式: 使用Libre

加密技术及常见加密算法

有了互联网的同时给我们的日常生活带来了不少的便利,与此同时也给我们带来了不少的安全隐患,可能你在和别人通信的同时,通信数据就被别人截获了,所以就必须要有一种相应的加密技术,来保护我们的通信隐私.那么今天就大家来简单的了解一下加密技术及一些常见的加密算法. 1.为什么需要加密 1.不加密流量的易受攻击性 2.不加密密码/数据容易被嗅探 3.不加密数据容易被操作 4.不加密无法验证操作 5.不加密相当于邮寄明信片 2.不安全的传统协议 telnet.FTP.POP3等等:不安全密码 http.smt

PHP android ios相互兼容的AES加密算法

APP项目用户密码传输一直没有用HTTPS,考虑到用户的隐私暂时先用AES对密码加密,以后也可以用于手机端与服务端加密交互. PHP的免费版phpAES项目,手机端解码各种不对. 好不容易找了PHP ANDROID IOS,相互加解密正常的AES加密算法代码. PHP的AES加密算法: [codesyntax lang=”php”] <?php class MCrypt { private $hex_iv = '00000000000000000000000000000000'; # conve

[转载]MD5加密算法原理

本文转载自: http://blog.csdn.net/forgotaboutgirl/article/details/7258109 需要视频版的可以看一下泰克老林讲的MD5原理 下载地址: 网速太卡,周末上传后补上.... MD5(单向散列算法)的全称是Message-Digest Algorithm 5(信息-摘要算法),经MD2.MD3和MD4发展而来.MD5算法的使用不需要支付任何版权费用. MD5功能: 输入任意长度的信息,经过处理,输出为128位的信息(数字指纹): 不同的输入得到

对称加密算法

对称加密算法 提示:加密内容属于高级程序员的话题!有些内容会很枯燥!注意掌握加密的思路和操作步骤即可!代码不要求会写,只要会用就行! 又称传统加密算法 加密和解密使用同一个密钥 对称加密算法示例 密钥:X 加密算法:每个字符+X 明文:Hello 密钥为 1 时加密结果:Ifmmp 密钥为 2 时加密结果:Jgnnq 优缺点 优点 算法公开.计算量小.加密速度快.加密效率高 缺点 双方使用相同钥匙,安全性得不到保证 注意事项 密钥的保密工作非常重要 密钥要求定期更换 经典算法 算法 说明 DES

非对称加密算法

介绍 非对称加密算法需要两个密钥:公开密钥(publickey) 和 私有密钥(privatekey) 公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密:如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密 特点 算法强度复杂.安全性依赖于算法与密钥 加密解密速度慢 与对称加密算法的对比 对称加密只有一种密钥,并且是非公开的,如果要解密就得让对方知道密钥 非对称密钥体制有两种密钥,其中一个是公开的 RSA 算法原理 找出两个“很大”的质数:P & Q

第九章 对称加密算法--IDEA

注意:本节内容主要参考自<Java加密与解密的艺术(第2版)>第7章“初等加密算法--对称加密算法” 9.1.IDEA 特点: 先于AES出来取代DES 安全性极高 常用于电子邮件加密算法 9.2.实现方式 Bouncy Castle(BC,工作模式只有ECB,密钥长度为128位) 9.2.1.基于BC实现的IDEA算法 1 package com.util.idea; 2 3 import java.io.UnsupportedEncodingException; 4 import java