常见加密和解密方法介绍。

介绍常见的加密和解密方法。

  1. 加密是利用数学方法将明文转化为密文,从而达到保护数据的目的。
    通过加密可保证数据的机密性、完整性、鉴别性。
    机密性:通过数据加密实现。只允许特定用户访问和阅读信息。
    完整性:通过数字加密、散列、数字签名实现。确保数据在存储和传输过程中不被修改。
    鉴别性:通过数字加密、散列、数字签名实现。提供数据和身份识别有关的服务,即认证数据发送者和接收者的服务。

常用的加密当时有三种分别是:
对称加密:指数据加密和解密使用相同的密钥 数据的机密性: DES,AES

非对称加密:也叫公钥加密,指数据加密和解密使用不同的密钥 密钥对儿 身份验证 DSA,RSA

单向加密:指只能加密数据,而不能解密数据 数据的完整性 MD5,SHA系列算法。

DES算法:

介绍:
DES是一个分组加密算法,就是将明文分组进行加密,每次按顺序取明文的一部分。一个典型的DES以64位为分组,加密解密用算法相同。它的密钥长度为56位,因为每组第8位是用来做奇偶校验,密钥可以是任意56位的数,保密性依赖于密钥。

ip置换:
在这里插入图片描述
在数学中,对合函数是指函数 f(x) 满足 f(f(x))=x。
DES运算是对合运算,是指解密和加密可以共用同一运算(只是子密钥使用的顺序不同)。

秘钥生成:
在这里插入图片描述
参考链接:https://blog.csdn.net/VistorsYan/article/details/115836524

明文加密和解密:
在这里插入图片描述
参考链接:
https://blog.csdn.net/bemodesty/article/details/114999946

AES算法:

为什么 DES 被废弃?
密钥长度是56比特,因此算法的理论安全强度是2的56次方。秘钥长度要求太短,安全性不够。

AES 算法支持三种密钥长度:128 比特、192 比特和 256 比特,对于不同长度的密钥,AES 算法采用不同的轮数进行加密。(16字节、24字节和32字节)

在这里插入图片描述
参考链接:https://blog.csdn.net/u012581020/article/details/131246733

DSA算法

数字签名算法(DSA - Digital Signature Algorithm)是用于数字签名的算法。
简单来说是私钥签名,公钥验证。

DSA 算法包含了四种操作:密钥生成、密钥分发、签名、验证。

在这里插入图片描述
(1) 使用消息摘要算法将发送数据加密生成数字摘要。
(2) 发送方用自己的私钥对摘要再加密,形成数字签名。
(3) 将原文和加密的摘要同时传给对方。
(4) 接受方用发送方的公钥对摘要解密,同时对收到的数据用消息摘要算法产生同一摘要。
(5) 将解密后的摘要和收到的数据在接收方重新加密产生的摘要相互对比,如果两者一致,则说明在传送过程中信息没有破坏和篡改。否则,则说明信息已经失去安全性和保密性。

安全性:
发信者怎么知道从网上获取的公钥就是真的?没有遭受中间人攻击?

这样就需要第三方机构来保证公钥的合法性,这个第三方机构就是 CA (Certificate Authority),证书中心。

CA 用自己的私钥对信息原文所有者发布的公钥和相关信息进行加密,得出的内容就是数字证书。

信息原文的所有者以后发布信息时,除了带上自己的签名,还带上数字证书,就可以保证信息不被篡改了。信息的接收者先用
CA给的公钥解出信息所有者的公钥,这样可以保证信息所有者的公钥是真正的公钥,然后就能通过该公钥证明数字签名是否真实了。

参考链接:
https://blog.csdn.net/u013837825/article/details/123764512
链接:https://blog.csdn.net/weixin_45264425/article/details/127160920

RSA加密

RSA加密是一种非对称加密。可以在不直接传递密钥的情况下,完成解密;是由一对密钥来进行加解密的过程,分别称为公钥和私钥。两者之间有数学相关,该加密算法的原理就是对一极大整数做因数分解的困难性来保证安全性。通常个人保存私钥,公钥是公开的(可能同时多人持有)。

使用:
这里将A理解为客户端,B理解为服务端,A、B分别有一对公钥和私钥。
加解密过程简述
A和B进行通信加密,B要先生成一对RSA密钥,B自己持有私钥,给A公钥 —>A使用B的公钥加密要发送的内容,然后B接收到密文后通过自己的私钥解密内容。

单向加密

原理:
单向散列函数(one-way hash function)是指对不同的输入值,通过单向散列函数进行计算,得到固定长度的输出值。这个输入值称为消息(message),输出值称为散列值(hash value)。
在这里插入图片描述

单向散列函数也被称为消息摘要函数(message digest function)、哈希函数或者杂凑函数。输入的消息也称为原像(pre-image)。输出的散列值也称为消息摘要(message digest)或者指纹(fingerprint),相当于该消息的身份证。

单向散列函数有多种实现算法,常见的有:MD5、SHA-1、SHA-2和 SHA-3。MD5 与 SHA-1 算法已被攻破,不应该被用于新的用途;SHA-2 与 SHA-3 还是安全的,可以使用。

无论消息的长度有多少,使用同一算法计算出的散列值长度总是固定的。比如 MD5 算法,无论输入多少,产生的散列值长度总是 128 比特(16字节)。

计算速度快
计算散列值的速度快。尽管消息越长,计算散列值的时间也越长,但也会在短时间内完成。

不可逆。

可以用于计算文件完整性,和密码保存。

MD5输出128bit、SHA1输出160bit、SHA256输出256bit
SHA-1是160位的哈希值,而SHA-2是组合值,有不同的位数,其中最受欢迎的是256位。

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

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

相关文章

《Vue.js+Spring Boot全栈开发实战》简介

大家好,我是老卫。 恰逢中秋国庆双节,不想出门看人山,惟愿宅家阅书海! 今天开箱的这本书是《Vue.jsSpring Boot全栈开发实战》。 外观 从书名故名思议,就是基于Vue.jsSpring Boot来实现企业级应用全栈开发。 该书由…

开源后台管理系统 (go-vue-admin)

go-vue-admin 是一套基于go语言开源的后台管理系统。功能参考诺依网站 ,前后端分离。 简介 前端采用vue3、Element Plus 、RuoYi-Vue3后端采用gofrome 框架、mysql、redis、Jwt实现了一键生成前后端代码,高效开发。 内置功能 用户管理:用…

AGX-Orin问题汇总

版本5.0.2 1、eth1网口不插网线link switch的问题? 2、eth1的速度不对,不能自动link到100m swith的问题? 3、eth0和eth1同时使用,会eth0不通,需要动态获取一次 网关问题吗? 4、eth0的arp不完整&…

LabVIEW工业虚拟仪器的标准化实施

LabVIEW工业虚拟仪器的标准化实施 创建计算机化的测试和测量系统,从计算机桌面控制外部测量硬件设备,以及在计算机屏幕上显示的类似仪器的面板上查看来自外部设备的测试或测量数据,所有这些都需要虚拟仪器系统软件。该软件允许用户执行所有这…

Axios post请求出现500错误

笔者在编写前端form表单传后端数据的时候,出现了以下问题 一、问题场景 当我用axios发送post请求的时候,出现了500错误 笔者找了很长时间错误,代码没问题,后端接口也没问题,后来发现问题出在实体类上了 当前端post请…

BGP服务器租用价格表_腾讯云PK阿里云

BGP云服务器像阿里云和腾讯云均是BGP多线网络,速度更快延迟更低,阿里云BGP服务器2核2G3M带宽优惠价格108元一年起,腾讯云BGP服务器2核2G3M带宽95元一年起,阿腾云分享更多云服务器配置如2核4G、4核8G、8核16G等配置价格表如下&…

list(链表)

文章目录 功能迭代器的分类sort函数(排序)merage(归并)unique(去重)removesplice(转移) 功能 这里没有“[]"的实现;原因:实现较麻烦;这里使用迭代器来实…

【大麦小米学量化】使用文心一言AI编写股票量化交易策略代码(含演示代码和进阶演示)

文章目录 AI是个宝前言一、文心一言是什么?二、让AI根据策略写出代码1. 策略提示词2. AI给出的策略代码及说明 三、进阶调试总结 AI是个宝 小米听说百度开放了文心一言AI,好奇的跑去问大麦:“文心一言都放开了,什么代码都可以写&a…

服务注册发现机制

二、注册中心选型 1. zk和eureka的区别 zk:CP设计(强一致性),目标是一个分布式的协调系统,用于进行资源的统一管理。 当主节点crash后,需要进行leader的选举,在这个期间内,zk服务是不可用的(当然…

基于mediasoup的webrtc server,性能压测时发现带宽利用率偏低(40%)

基于mediasoup的webrtc server,进行性能压测时发现,在1gbps的网络条件下,带宽利用率在40%(400Mbps)时,就会出现过高丢包率的(packet loss > 10%)的情况。这个结果是合理的吗?如果不合理,要如何提升性能&…

《数据结构、算法与应用C++语言描述》-栈的应用-迷宫老鼠问题

迷宫老鼠 问题描述 迷宫(如图 8-9 所示)是一个矩形区域,有一个入口和一个出口。迷宫内部包含不能穿越的墙壁或障碍物。这些障碍物沿着行和列放置,与迷宫的边界平行。迷宫的入口在左上角,出口在右下角。 假定用 nxm 的…

正则表达式 Regular Expression学习

该文章内容为以下视频的学习笔记: 10分钟快速掌握正则表达式_哔哩哔哩_bilibili正则表达式在线测试工具:https://regex101.com/, 视频播放量 441829、弹幕量 1076、点赞数 19330、投硬币枚数 13662、收藏人数 26242、转发人数 2768, 视频作者 奇乐编程学…

【iptables 实战】07 iptables NAT实验

在上一节中,我们将两个网段的机器,通过中间机器的网络转发,能达到互通。再来回顾一下这个网络连接的图 上一节我们在防火墙实验中,设置了主机B的的转发规则,我们先清空主机B的转发规则 [rootlocalhost ~]# iptables…

飞桨EasyDL-Mac本地部署离线SDK-Linux集成Python

前言:本文对使用飞桨EasyDL桌面版实现本地部署物体检测做一下说明 一、训练模型 如何使用飞桨EasyDL桌面版这里就不再赘述,直接参照官方文档进行物体检测模型训练。 飞桨EasyDL桌面版-用零代码开发实现物体检测https://ai.baidu.com/ai-doc/EASYDL/Tl2…

STL关联式容器set,multiset,pair,map

set容器是一个集合容器。包含元素是唯一的。集合元素按照一点顺序排列,元素插入过程是顺序插入,所有不能插入指定位置。 set采用红黑树变体的数据结构实现。红黑树属于平衡二叉树。再插入和删除上比vector快。 set不能直接存取元素(不能用a…

基于监督学习的多模态MRI脑肿瘤分割,使用来自超体素的纹理特征(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

国庆作业 day1

C语言基础考题(40) 选择题 20分每题2分 1、已知字母A的ASCII码为十进制数值65,且S为字符型,则执行语句SA6-3;后S中的值为 ( ) A.D B.68 C.不确定的值 D.C 2、若有定义语句:int a12;,则执…

asp.net core mvc 视图组件viewComponents

ASP.NET Core MVC 视图组件(View Components)是一种可重用的 UI 组件,用于在视图中呈现某些特定的功能块,例如导航菜单、侧边栏、用户信息等。视图组件提供了一种将视图逻辑与控制器解耦的方式,使视图能够更加灵活、可…

Linux配置命令

一&#xff1a;HCSA-VM-Linux安装虚拟机后的基础命令 1.代码命令 1.查看本机IP地址&#xff1a; ip addr 或者 ip a [foxbogon ~]$ ip addre [foxbogon ~]$ ip a 1&#xff1a;<Loopback,U,LOWER-UP> 为环回2网卡 2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP&g…

10个与AI相关的技术领域

**10个与AI相关的技术领域** 除了与各个科学领域相关的具体挑战之外&#xff0c;AI在科学领域还存在一些共同的技术挑战。特别是&#xff0c;我们确定了以下四个共同的技术挑战&#xff1a;超出分布的泛化、可解释性、由自监督学习提供支持的基础模型和不确定性量化。尽管这些…