内容安全补充

第十一天

密码学

近现代加密算法

古典加密技术 --- 算法保密原则

近现代加密技术 --- 算法公开,密钥保密

对称加密算法,非对称加密算法

对称加密 --- 加密和解密的过程中使用的是同一把密钥。 所以,对称加密所使用的算法一定是一种双向函数,是可逆的。 异或运算 --- 相同为0,不同为1

流加密

主要是基于明文流(数据流)进行加密,在流加密中,我们需要使用的密钥是和明 文流相同长度的一串密钥流

常见的流加密算法 --- RC4

分组加密(块加密算法)

目前比较常用的对称加密算法 --- DES/3DES,AES(高级加密标准)

1,密钥共享

带外传输 --- 不方便

带内传输 --- 不安全

2,密钥管理 --- N * N

非对称加密算法

思路:设计类似家用邮箱取放

非对称加密算法和对称加密算法的主要区别在于,对称加密算法加解密仅使用同一把密 钥,而非对称加密算法,加密和解密使用的是不同的密钥。 --- 两把密钥

一把叫做公钥,另一把叫做私钥。 ---- 这两把钥匙,任意一把钥匙都可以进行加密的操 作,然后,需要通过另外一把钥匙来进行解密。

非对称加密算法使用的算法一定是不可逆的,取模运算(求余)

目前常用的非对称加密算法 --- RSA

结论 ---我们一般采用的做法是,在数据传输的时候,我们会选择使用对称加密算法进行加密,为了保证效率。但是,对称加密算法最主要的问题是密钥传递可能存在安全风险,所以,我们在传递密钥的时候,可以通过非对称加密算法进行加密,保证密钥传递的安全性。实现二者的互补,达到安全传输的目的。

DH算法 --- Diffie-Hellman算法 ---密钥交换算法 ---用来分发对称密钥的。

身份认证以及数据认证技术

对数据进行完整性校验 --- 我们会针对原始数据进行HASH运算,得到摘要值,之后, 发送到对端,也进行相同的运算,比对摘要值。如果摘要值相同,则数据完整;如果不 同,则数据不完整。

HASH算法 --- 散列函数

1,不可逆性

2,相同输入,相同输出。

3,雪崩效应 --- 原始数据中即使存在细微的区别,也会在结果中呈现出比较明显 的变化,方便,我们看出数据是否被篡改。

4,等长输出 --- 不管原始数据多长,运算之后的摘要值长度是固定。(MD5可以 将任意长度的输入,转换成128位的输出。

我们可以使用私钥对摘要值进行加密,之后传递,这就形成了数字签名。

注意:这整个过程只能表示Bob收到的数据,的确是他拥有公钥的这个人发送的数据, 但是,你拥有公钥有没有被别人恶意篡改或者替换,这种方法是无法识别出来的,所 以,这仅能实现一种数据源的检测,不能进行身份认证。 同时,可以完成完整性校验。

数字证书

CA可信机构 --- 提供身份信息证明的第三方机构

通信双方需要完全信任这个第三方机构,之后,让CA为公钥作证。 因为双方都信任该CA机构,所以,实现拥有这个CA机构的公钥信息。 CA机构会使用自己的私钥对A的公钥和一些其他信息一起进行加密,生成数字证书。

1,原始信息HASH算法得到摘要值 ---- 为了做完整性校验。为了保证我们的摘要 值在传递的过程中,不会被篡改,所以,需要使用私钥进行加密。形成数字签名。

2,针对原始信息,数字签名,数字证书(是用户提前向CA机构申请,获取到的通 过CA机构私钥加密后的证书。里面主要包含了Alice的公钥。主要是做身份认证使 用)进行加密。使用的是对称加密算法。对称机密算法需要使用对应的密钥来进行 加密。

3,将对称加密算法的密钥通过Bob的公钥进行加密,形成密钥信封。(这里是通 过非对称加密算法的方式,来传输对称密钥的。也可以使用DH算法,使双方获得 对称密钥。)

4,将加密信息和密钥信封通过公网传递到对端Bob处。

5,Bob首先对密钥信封进行解密。因为这个密钥信封是通过Bob的公钥进行加密 的,所以,使用Bob自己的私钥就可以进行解密。解密后,将得到对称密钥。

6,使用对称密钥去解密加密信息。 ---- 原始数据,数字签名,数字证书

7,使用CA机构的公钥来解开数字证书。因为数字证书是由CA机构的私钥进行加 密的,并且,Bob本身也信任CA机构,所以,自身设备上是拥有CA机构的公钥 的。

8,解开数字证书后将得到Alice的公钥,根据Alice的公钥可以解开数字签名。因 为数字签名是由Alice自己的私钥来进行加密的,所以,如果可以顺利的使用ALICE 的公钥进行解密,则完成了身份认证和数据源鉴别工作。

9,Bob自身需要对原始信息进行HASH运算,并且,数字签名解开后,里面也包 含ALice发送时对原始信息进行HASH运算的摘要值,比对两次摘要值,则可完成 完整性校验。

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

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

相关文章

Node.js+vue校内二手物品交易系统tdv06-vscode前后端分离

二手物品交易系统采用B/S架构,数据库是MySQL。网站的搭建与开发采用了先进的nodejs进行编写,使用了vue框架。该系统从三个对象:由管理员和用户、店铺来对系统进行设计构建。主要功能包括:个人信息修改,对用户、店铺、二…

【RN】为项目使用React Navigation中的navigator

简言 移动应用基本不会只由一个页面组成。管理多个页面的呈现、跳转的组件就是我们通常所说的导航器(navigator)。 React Navigation 提供了简单易用的跨平台导航方案,在 iOS 和 Android 上都可以进行翻页式、tab 选项卡式和抽屉式的导航布局…

Vue2:路由命名

一、情景说明 我们使用router-link&#xff0c;配置path属性时&#xff0c;如果是多级路由&#xff0c;会写一个很长的path 如下代码&#xff1a; <!-- 跳转路由并携带query参数&#xff0c;to的对象写法 --> <router-link :to"{path:/home/message/detail,que…

c++ primer plus 编程答案 上

c primer plus 编程答案上 第二章第三章第四章第五章第六章 第二章 编写一个c程序&#xff0c;它显示您的姓名和地址 #include<iostream> int main() {using namespace std;cout << "my name is xxx,\nmy address is xxx" << endl;return 0; }编…

高防服务器和高防CDN有哪些区别?

高防服务器是独立单个防御50G以上的服务器类型&#xff0c;高防服务器能够为客户提供网络安全维护的服务器类型&#xff0c;是专门用来低于DDOS攻击的服务器&#xff0c;在硬件、软件和网络等方面能够提供可靠稳定的服务。 高防CDN则是一种基于分布式架构的网络加速和安全保护技…

如何在 Tomcat 中为 Web 应用程序启用和配置缓存?

在Tomcat中为Web应用程序启用和配置缓存通常涉及到对Tomcat的连接器&#xff08;Connector&#xff09;进行配置&#xff0c;以及可能的话&#xff0c;配置Web应用程序本身以支持缓存。 1. 配置Tomcat连接器以启用缓存 Tomcat的连接器可以通过其配置来启用各种…

解决错误:nested exception is org.apache.ibatis.binding.BindingException

mybatis报错信息&#xff1a; Error: nested exception is org.apache.ibatis.binding.BindingException: Parameter ‘categoryList’ not found. Available parameters are [arg0, collection, list] 网上搜到的解决办法&#xff1a; 一、多个参数使用Param注解标识 对于多个…

【Qt】Qt QML添加软件图标(Windows)

1. 准备图标文件 将图片转换成.ico文件&#xff0c;注意&#xff1a;需要用专门的工具转换&#xff08;https://convertio.co/zh/image-converter/&#xff09; 2. 工程配置 2.1 方法1 pro文件中添加&#xff1a; RC_ICONS AutoTitration.ico2.2 方法2 添加qrc文件&…

已解决org.springframework.beans.BeanInstantiationException异常的正确解决方法,亲测有效!!!

已解决org.springframework.beans.BeanInstantiationException异常的正确解决方法&#xff0c;亲测有效&#xff01;&#xff01;&#xff01; 文章目录 问题分析 报错原因 解决思路 解决方法 步骤一&#xff1a;检查Bean定义 步骤二&#xff1a;检查Bean的依赖 步骤三…

C++中的构造函数

目录 前言 1.构造函数的作用 2.构造函数的定义 1.内联函数 2.类体外构造函数 前言 记录下C中的构造函数。 1.构造函数的作用 构造函数的作用主要是对对象的成员变量进行初始化赋值操作。 当我们没有定义构造函数的时候&#xff0c;系统会默认添加一个没有参数的构造函数…

软考-中级-系统集成2023年综合知识(三)

&#x1f339;作者主页&#xff1a;青花锁 &#x1f339;简介&#xff1a;Java领域优质创作者&#x1f3c6;、Java微服务架构公号作者&#x1f604; &#x1f339;简历模板、学习资料、面试题库、技术互助 &#x1f339;文末获取联系方式 &#x1f4dd; 软考中级专栏回顾 专栏…

C#学习总结

1、访问权限 方法默认访问修饰符&#xff1a;private 类默认访问修饰符&#xff1a;internal 类的成员默认访问修饰符&#xff1a;private 2、UserControl的使用 首先添加用户控件 使用时一种是通过代码添加&#xff0c;一种是通过拖动组件到xaml中

Stable Diffusion 绘画入门教程(webui)-ControlNet(IP2P)

上篇文章介绍了深度Depth&#xff0c;这篇文章介绍下IP2P&#xff08;InstructP2P&#xff09;, 通俗理解就是图生图&#xff0c;给原有图加一些效果,比如下图&#xff0c;左边为原图&#xff0c;右边为增加了效果的图&#xff1a; 文章目录 一、选大模型二、写提示词三、基础参…

LeetCode146: LRU缓存

题目描述 请你设计并实现一个满足 LRU (最近最少使用) 缓存 约束的数据结构。 实现 LRUCache 类&#xff1a; LRUCache(int capacity) 以 正整数 作为容量 capacity 初始化 LRU 缓存 int get(int key) 如果关键字 key 存在于缓存中&#xff0c;则返回关键字的值&#xff0c;否则…

RabbitMQ的死信队列和延迟队列

文章目录 死信队列如何配置死信队列死信队列的应用场景Spring Boot实现RabbitMQ的死信队列 延迟队列方案优劣&#xff1a;延迟队列的实现有两种方式&#xff1a; 死信队列 1&#xff09;“死信”是RabbitMQ中的一种消息机制。 2&#xff09;消息变成死信&#xff0c;可能是由于…

绿盾限制终端网络访问权限会恢复后,别的网站访问正常就是无法访问钉钉网站和下载东西

环境&#xff1a; Win10 专业版 钉钉7.5.5 绿盾7.0 问题描述&#xff1a; 绿盾限制终端网络访问权限会恢复后&#xff0c;别的网站访问正常就是无法访问钉钉网站和下载东西 解决方案&#xff1a; 排查方法 1.重置浏览器或者更换浏览器测试&#xff08;未解决&#xff09…

【Java】输入输出流(实验八)

目录 一、实验目的 二、实验内容 三、实验小结 一、实验目的 1、掌握java I/O的基本原理。 2、掌握标准输入输出流和Scanner类的基本使用方法。 3、掌握FileInputStream、FileOutStream、FileReader、FileWriter、BufferedReader 、BufferedWriter类的常用方法。 二、实验…

VR系统的开发流程

虚拟现实&#xff08;Virtual Reality&#xff0c;VR&#xff09;系统是一种通过计算机技术模拟出的具有三维视角和交互性的虚拟环境&#xff0c;使用户能够沉浸在其中并与虚拟环境进行交互。这种技术通常利用头戴式显示器和手柄等设备&#xff0c;使用户能够感觉到仿佛身临其境…

【kubernetes】kubeadm部署k8s集群(3主3从+keepalived/nginx负载均衡高可用)

目录 一、完成系统初始化 步骤一&#xff1a;常规环境初始化 步骤二&#xff1a;内核版本升级以及内核限制文件参数修改 步骤三&#xff1a;提前准备好负载均衡器和keepalived(接着之前的二进制部署修改的) 二、所有节点部署docker&#xff0c;以及指定版本的kubeadm 步骤…

Mysql系列之命令行登录、连接工具登录、数据库表常用命令

登录与常用命令 连接工具登录命令行登录数据库1、查看数据库2、指定数据库3、查看当前数据库4、建库语句 数据表1、查看数据表2、查看表结构信息3、查看建表语句4、建表语句 连接工具登录 首先下载mysql连接工具&#xff0c;解压后直接打开软件&#xff0c;按以下步骤操作&…