各种加密算法比较

2023-11-06

 

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

转载于:https://www.cnblogs.com/sunxuchu/p/5483956.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

随机推荐

  • opencv+python物体检测【03-模仿学习】

    仿照练习 原文链接 步骤一 准备图片 正样本集 正样本集为包含 识别物体 的灰度图 一般大于等于2000张 尺寸不能太大 尺寸太大会导致训练时间过长 负样本集 负样本集为不含 识别物体 的任何图片 一般大于等于5000张 尺寸比正样本集稍大
  • Egg 使用 Sequelize

    npm install save egg sequelize mysql2 在 config plugin js 中引入 egg sequelize 插件 exports sequelize enable true package egg
  • 人工智能与教育融合的文献总结

    一般来说 人工智能与教育融合 首先要重塑教育理念 这是实现 教育 人工智能 的前提 格物斯坦提示 越是科技发达 越需要人性的支撑 教育的本质也是一种能力 生命和智能反映的是个体能力 这是亘古不变的科学原理 人工智能的观点来源于人们对于人工计
  • 数字型字符串千分位加逗号

    在数字型字符串千分位加逗号 param str return public static String addComma String str boolean neg false if str startsWith 处理负数 str str
  • 回调函数(入门篇)

    首先 我们回忆一下 标准库函数printf是如何被我们调用的 1 包含库函数所在的头文件 include
  • Linux sed 利剑之探索

    sed Linux sed命令是利用script来处理文本文件 sed可依照script的指令 来处理 编辑文本文件 Sed主要用来自动编辑一个或多个文件 简化对文件的反复操作 编写转换程序等 语法 sed hnV e
  • Linux防火墙开关命令

    关闭防火墙 systemctl stop firewalld service 停止firewall systemctl disable firewalld service 禁止firewall开机启动 开启端口 firewall cmd z
  • LeetCode算法题 :第三大的数thirdMax

    给定一个非空数组 返回此数组中第三大的数 如果不存在 则返回数组中最大的数 要求算法时间复杂度必须是O n 示例 1 输入 3 2 1 输出 1 解释 第三大的数是 1 示例 2 输入 1 2 输出 2 解释 第三大的数不存在 所以返回最大
  • 区块链笔记4--BTC实现

    1 UTXO 区块链是一个去中心化的账本 比特币采用了 基于交易的账本模式 然而 系统中并无显示记录账户包含BTC数 实际上其需要通过交易记录进行推算 在比特币系统中 全节点需要维护一个名为 UTXO UnspentTransaction
  • Android技术功底不够如何去面试,已整理成文档

    IT行业的前景 近几年来 大数据 人工智能AI 物联网等一些技术不断发展 也让人们看到了IT行业的繁荣与良好的前景 越来越多的高校学府加大了对计算机的投入 设立相应的热门专业来吸引招生 当然也有越来越多的人选择从事这个行业 希望能从这个行业
  • 线性回归介绍及分别使用最小二乘法和梯度下降法对线性回归C++实现

    回归 在这类任务中 计算机程序需要对给定输入预测数值 为了解决这个任务 学习算法需要输出函数f Rn R 除了返回结果的形式不一样外 这类问题和分类问题是很像的 这类任务的一个示例是预测投保人的索赔金额 用于设置保险费 或者预测证券未来的价
  • 进入U盘PE系统无法识别硬盘分区的原因分析和解决方法

    进入U盘PE系统无法识别硬盘分区的原因分析和解决方法 时间 2015 07 15 来源 http www xitongtiandi com 复制网址 进入U盘PE系统无法识别硬盘分区的原因分析和解决方法分享给大家 PE Windows PE
  • Sqli-labs靶场详细攻略Less 23-28a

    Less 23 28a Less 23 GET Error based strip comments 这一关还是使用get方法进行注入 不过这次对 这些用于注释的字符做了过滤 这样我们可以使用两个 进行绕过 第一个 用于闭合原代码语句中的前
  • 【建议收藏】11+实战技巧,让你轻松从Vue过渡到React

    前言 在这个卷神辈出的时代 只是熟练Vue的胖头鱼 已经被毒打过多次了 面试中曾被质疑 你居然不会React 我无语凝噎 不知说啥是好 这篇文章尝试将Vue中一些常见的功能在React中实现一遍 如果你恰巧是Vue转React 或者Reac
  • Shell笔记--Shell使用系统变量、自定义变量、特殊变量和运算符

    目录 1 Shell使用系统变量 2 Shell使用自定义变量 3 特殊变量 3 1 n 3 2 3 3 和 3 4 4 运算符 1 Shell使用系统变量 常用的系统变量有 HOME PWD SHELL USER 等 echo HOME
  • Spring 基础教程之三:JavaBean生命周期

    Spring中Bean 的生命周期 在学习 spring 的过程中 bean 的生命周期理解对学习 spring 有很大的帮助 下面我就分别介绍在 ApplicationContext 和 BeanFactory 中 Bean 的生命周期
  • CrtIsValidHeapPointer(block)错误

    删除线格式 CrtIsValidHeapPointer block 内存错误 今天写代码时VS2019报了 CrtIsValidHeapPointer block 的错误 VS报错 https img blog csdnimg cn 202
  • chatgpt赋能python:免费的Python编程软件:开发者必备工具!

    免费的Python编程软件 开发者必备工具 Python是一门广受欢迎的编程语言 它已经成为了很多公司和开发者的首选语言 Python的出现改变了编程的方式 它具有简单 易懂 易读 易写 易拓展等特点 因此成为了很多新手入门的语言 Pyth
  • 火山视窗超级列表框-报表列表框操作

    本源码转载自利快云https www lkuaiy com 火山视窗超级列表框 报表列表框操作 想要使用本组件首选需要配置mfc扩展界面支持类库模块 超级列表框组件是火山中非常常用的一个组件 共有几种类型 大图标列表框 小图标列表框 普通列
  • 各种加密算法比较

    各种加密算法比较 算法选择 对称加密AES 非对称加密 ECC 消息摘要 MD5 数字签名 DSA 对称加密算法 加解密密钥相同 名称 密钥长度 运算速度 安全性 资源消耗