常用加密算法

news/2024/5/5 14:36:50/文章来源:https://blog.csdn.net/m0_66051368/article/details/130137846

目录

常见的加密算法可以分成三种:

对称加密算法

DES

3DES

AES

非对称加密

RSA

ECC

Hash算法

MD5

SHA1

算法对比

算法选择


常见的加密算法可以分成三种:

  • 对称加密算法;
  • 非对称加密算法;
  • Hash算法;

接下来我们就来看看这些算法。

对称加密算法

 对称加密算法,如其名,就是使用同一个秘钥进行加密和解密。

优点是速度较快,适合对数据量比较大的数据进行加密。

缺点是密钥的保存方式需要保证,一旦加密或者解密的哪一方泄漏了密钥,都会导致信息的泄漏。

常用的对称加密算法有:DES3DESDESXBlowfishIDEARC4RC5RC6AES

DES

DES加密算法是一种分组加密算法,以64位为分组对数据进行加密,他的密钥长度为56位,速度较快,适合用于大量数据加密的场合。

3DES

基于DES加密,对一块数据使用三个不同的密钥进行加密三次,强度更高。

AES

高级加密标准,是新一代加密算法标准,取代DES,速度快,安全级别高。密钥长度最少支持128、192、256,分租长度128位。

非对称加密

与对称加密相对的,非对称加密需要两个密钥,一个公开密钥(Public Key),一个私有密钥(Private Key)。公钥和私钥是一对,如果使用公钥进行加密的数据,只有对应的私钥才能解密。相对的,如果是使用私钥加密的数据,只有对应的公钥才能解密。

优点是公钥可以被任何人知道,而公钥的泄漏也不会导致信息泄漏,但是一旦私钥泄漏了就会导致信息泄漏。

常用的非对称加密算法有:RSAECC(移动设备用)Diffie-HellmanEl GamalDSA(数字签名用)

RSA

RSA加密算法是目前最有影响力的公钥加密算法,并且被普遍任务是最优秀的公钥方案之一。RSA是第一个能同时加密和数字签名的算法,它能够抵抗到目前为止已知的所有密码攻击。

RSA算法基于一个十分简单的数论事实:将两个大素数相乘十分容易,但是如果想要对其进行因式分解却极其困难,因此可以将乘积公开作为密钥。

ECC

ECC使用的是椭圆曲线编码学,相对于RSA,ECC的抗攻击性更强,并且计算量小,处理速度快,存储空间占用小,所以适用于移动设备使用。

Hash算法

Hash算法(哈希散列算法)特别之处在于它是一种单向算法,即不可逆,用户可以通过Hash算法对目标信息生成一段特定长度的唯一的Hash值,但是却不能通过这个Hash值重新获得目标信息。

因为此特点,Hash算法通常用在存储不可还原的密码存储,信息完整校验等地方。

常用的Hash算法有:MD2MD4MD5HAVALSHASHA-1HMACHMAC-MD5HMAC-SHA1

MD5

MD5加密算法可以简单的分析为以512位分组来处理输入的信息,且每一个分组又被划分为16个32位的子分组,经过一系列的处理之后,算法的输出由4个32位分组组成,将这4个32位分组级联后就会生成一个128位散列值。

MD5大多被用于软件的密码认证和钥匙识别上。

SHA1

SHA1和MD5一样是流行的信息摘要算法。对于长度小于2’64位的消息,SHA1会生成一个160位的信息摘要,当接收到消息的时候,这个消息摘要可以用来验证数据的完整性,在传输的过程中,数据很可能发生变化,那么这时候就会生成不同的信息摘要。SHA1不可以从消息摘要中复原信息,而两个不同的消息不会产生同样的信息摘要。这样,SHA1就可以用来验证数据的完整性。

算法对比

名称密钥长度运算速度安全性资源消耗加密类型
DES56位较快对称加密
3DES168位对称加密
IDEA128位较慢对称加密
AES128、192、256位对称加密
RSA1024、2048、3072、4096位非对称加密
DSA1024、2048、3072、4096位非对称加密
ECC256非对称加密
SHA-1Hash加密
MD5Hash加密

算法选择

对称加密的算法相较于非对称加密算法会快很多,如果需要对大量的数据进行加密时,建议采用对称加密算法,加快加密解密速度。

而对于需要签名的情况,只能使用非对称加密。

当数据量很小,而密钥的管理用来决定数据安全时,最好使用非对称加密。

在选定了算法之后,选择多少位的密钥也是一个难题,一般情况下,密钥越长,运行的速度越慢,所以我们要根据实际需要选择加密的位数,一般来说,RSA采用1024位ECC采用160位AES采用128位

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_286089.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

面试手撕堆排序

堆排序代码如下(注释见下): 首先将待排序的数组构造成一个大根堆,此时,整个数组的最大值就是堆结构的堆顶 将堆顶的数与末尾的数交换,此时,末尾的数为最大值,剩余待排序数组个数为n…

Linux设备驱动开发 - 块设备驱动ramdisk实例

By: fulinux E-mail: fulinuxsina.com Blog: https://blog.csdn.net/fulinus 喜欢的盆友欢迎点赞和订阅! 你的喜欢就是我写作的动力! 目录理论来源源码编译测试理论来源 ramdisk驱动,区别在与使用最新的内核版本,比如linux-4.15。…

MySQL数据库:聚合函数、分组查询、约束、默认值设置、自增属性

一、聚合函数 1.聚合函数 在MySQL数据库中预定义好的一些数据统计函数。 2.count(*) 功能:统计结果条数。 3.sum(字段名) 功能:对指定字段的数据求和。 4.avg(字段名) 功能:对指定字段的数据求平均值。 5.max(字段名) 和 min(字段名) …

答疑——20年国赛题(JAVA解法)

题目链接:用户登录https://www.lanqiao.cn/problems/1025/learning/?page3&first_category_id1&sortstudents_count 题目描述 有 n 位同学同时找老师答疑。每位同学都预先估计了自己答疑的时间。 老师可以安排答疑的顺序,同学们要依次进入老…

sqoop数据导出、脚本使用

目录 准备表与数据 数据导出 脚本调用 准备表与数据 mysql表 CREATE TABLE user (id int(20),name varchar(20) )ENGINEINNODB DEFAULT CHARSETutf8; hive表 create table users( id bigint, name string ) row format delimited fields terminated by "\t";…

软考初级程序员--学习

1、十进制 转 二进制 十进制87 转换为 二进制为 1010111 2、二进制 转 十进制 二进制1010111 转换为 十进制 3、循环队列 计算长度通用公式: front:表示队首 rear:表示队尾 M:表示队列容量 队列长度 (rear - fr…

Verilog | 二进制与格雷码

一、格雷码简介 格雷码是一个叫弗兰克格雷的人在 1953 年发明的,最初用于通信。格雷码是一种循环二进制码或者叫作反射二进制码。格雷码的特点是从一个数变为相邻的一个数时,只有一个数据位发生跳变,由于这种特点,就可以避免二进…

进销存管理系统能为企业带来哪些实际效益?

随着互联网的不断发展,如今的商业世界已经越来越向数字化转型。拥有一套完整的数字化的进销存管理能够极大地提升公司货物进出库存情况的效率和准确性,避免过程中出现不必要的错误和漏洞,从而帮助企业更加稳健地自我发展。那么,一…

3.7.2数据库系统-数据库控制技术:数据库的安全性、数据库备份与恢复技术、数据备份、数据库故障与恢复

3.7.2数据库系统-数据库控制技术:数据库的安全性、数据库备份与恢复技术、数据备份、数据库故障与恢复数据库的安全性数据库备份与恢复技术数据备份数据库故障与恢复数据库的安全性 在做信息系统开发的过程当中,数据库是其中很大的占比,信息…

【MySQL入门指南】数据库基本操作

文章目录MySQL库操作一、SQL语句二、创建数据库1.语法2.案例3.极其不推荐的方式三、查看数据库1.语法四、修改数据库五、删除数据库六、字符集与校验规则1.是什么2.相关指令3.校验规则的影响七、备份数据库1.基本语法2.注意事项MySQL库操作 一、SQL语句 DDL(data definition l…

Visual Studio Code跳转到CSS定义

Visual Studio Code 快速跳转到 VUE文件 或 CSS文件的定义位置(跳转到class定义,跳转到css定义),插件Css Peek、Vue Peek 对提升开发效率上,事半功倍。 目录 1、跳转到CSS定义 1.1、CSS Peek 1.2、Vue Peek 2、其他…

全国青少年软件编程(Scratch)等级考试一级考试真题2023年3月——持续更新.....

一、单选题(共25题,共50分) 1. 下列说法不正确的是?( ) A.可以从声音库中随机导入声音 B.可以录制自己的声音上传 C.可以修改声音的大小 D.不能修改声音的速度 试题解析:针对声音可以进行导入,上传&…

【C++】哈希的应用 -- 布隆过滤器

文章目录一、布隆过滤器的引入二、哈希函数个数的选择三、布隆过滤器的实现四、布隆过滤器的应用五、布隆过滤器总结一、布隆过滤器的引入 我们在上一节中学习了 位图,知道了位图可以用来快速判断某个数据是否在一个集合中,但是位图有如下的缺点&#x…

计网第五章.运输层—TCP的三次握手与四次挥手

以下来自湖科大计算机网络公开课笔记及个人所搜集资料 目录一、TCP三次握手建立连接为什么TCP客户进程最后还要发送一个普通的TCP确认报文段呢?能不能两次握手?总结:二、TCP四次挥手释放连接四次挥手过程问题1:TCP客户进程在发送完…

论文阅读 - ANEMONE: Graph Anomaly Detection with Multi-Scale Contrastive Learning

目录 摘要 1 简介 2 问题陈述 3 PROPOSED ANEMONE FRAMEWORK 3.1 多尺度对比学习模型 3.1.1 增强的自我网络生成 3.1.2 补丁级对比网络 3.1.3 上下文级对比网络 3.1.4 联合训练 3.2 统计异常估计器 4 EXPERIMENTS 4.1 Experimental Setup 4.1.1 Datasets 4.1.2 …

HuggingGPT强势来袭,LLM+专家模型,迈向更通用的AI

出品人:Towhee 技术团队 超级组合:HuggingFace ChatGPT HuggingGPT强势来袭。人类仿佛距离真正的AGI又更近了一步。 HuggingGPT是浙江大学与微软亚洲研究院的联手研究,发布之后迅速引发关注,已经开源。 它的使用非常简单&#x…

极氪X上市,18.98万元起售,进军紧凑豪华车市场

HiEV消息(文/Amy)4月12日,纯电SUV极氪X上市,共发布三个版本,官方零售价为: •ME版 五座后驱 189,800元 •YOU版 五座四驱 209,800元 •YOU版 四座后驱 209,800元全系三款车型预计将于6月起开启交付。极氪X限…

分享一个RecyclerView嵌套webview 滑动不流畅的解决方法

因RecyclerView 和webview 或者X5的webview 都具有滑动的功能 所以在做嵌套的时候 会出现滑动不流畅 等问题 解决思路 就是判断滑动的时候 是否自身消耗 或者父布局的RecycleView消耗 开发中还遇到个问题 就是 更换成x5的时候 getScrolly() 返回的一直是0 改成getWebScrollY(…

借助Nacos配置中心实现一个简易的动态线程池

目录 一、实现思路 二、实现说明概览 三、代码实现 DynamicThreadPool RejectedProxyInvocationHandler DynamicThreadPoolRegister DynamicThreadPoolRefresher 测试动态线程池 平常我们系统中定义的一些线程池如果要想修改的话,需要修改配置重启服务才能生…

HTTPS-TSL握手

HTTP一般基于TCP协议,而HTTPS就是在这之间加了SSL/TLS协议,那么在TCP三次握手建立TCP连接后,就需要TLS握手建立SSL/TLS连接。 TLS握手-流程 (基于RSA算法) (1)首先,客户端向服务器发…