密码学基础概念

加密性

什么是加密?

1.对原有的明文数据,执行某种运算,得到密文数据。

2.密文数据对于未授权人员而言,在一定上程度上加大了解读的难度

3.加密功能用于实现机密性

什么是密钥?

1.如同持有保险柜钥匙才能打开保险柜一样。

2.执行加密或解密过程中,均需要“密钥”的参与

明文+算法+密钥=密文

什么是算法?

1.依据密钥的使用方法,可以将算法分为两种,包括对称加密算法,非对称加密算法。

什么是对称加密算法?

1.使用“同一把密钥”来执行加密和解密(明文加密密钥和密文解密密钥相同)

2.对称加密算法有 DES、3DES、AES

明文加密密钥 Huawei@123

密文解密密钥 Huawei@123

对称加密算法-DES

1.DES(数据加密标准),IBM开发于1975年。

2.将数据包划分为等长的64比特,从而进行加密的对称密码算法:

1)加密数据块大小为64比特

2)密钥长度为64比特,实际长度为56比特,剩下的8位用来校验

3.由于密钥长度太短问题,DES算法存在较大的风险。

对称加密算法 3DES

1.基于DES密钥长度导致的安全问题,IBM在1999年创建了3DES

2.3DES密钥长度放大3倍,达到168bi6

3.3DES处理速度不高

原始数据---key1(加密)---key2(解密)---key3(加密)---加密数据

加密数据---key3(解密)---key2(加密)---key1(解密)---原始数据

对称加密算法-AES

1.高级加密标准,用于真正替代DES算法

2.美国国家标准与技术研究院于2001年11月26日发布

3.将数据包划分为等长的128比特(DES的2倍),从而进行加密的对称算法

1)块大小为128比特

2)密钥长度有三种:128、192、256比特(密钥的长度越长越安全,消耗的资源也越多)

4.AES是现在主流的国家密码算法

中国国家商用密码算法-对称算法

1.兼容性不强,外国的厂商设备可能不支持

2.SM1,分组与密钥长度均为128位,不公开算法

3.SM4,分组与密钥长度均为128位,公开算法

4.SM7,分组与长度均为128位,不公开算法,常用于身份识别卡、电子门票等。

5.祖冲之算法

什么是分组密码?

1.每次只能处理特定长度的一块数据。

2.一块就是一个分组

3.分组的大小被称为分组长度

分组密码块加密的两种模式之一:ECB

1.电子密码本块加密方式

1)将一个数据包,分为多个64位的块

2)通过DES算法,用相应的密钥,加密对应的块

3)得到对应的密文

2.该加密模存在的问题:

1)相同的明文,相同的密钥和算法,得到相同的密文

2)块之间加解密是独立的,加解密的失败不会影响后续块的进行

分组密码块加密的两种模式之一:CBC

1.加密块链接方式

1)将一个数据包,分位多个64位的块

2)在发送的时候,附加一个明文IV初始化向量位(随机数)

3)利用初始化向量位,和第一个包做混淆

4)通过DES算法,用相应的密钥,加密对应的块

5)得出对应的密文

4)再利用得到的密文与第二个明文做混淆,以此类推

2.该加密模式的优点:

1)依靠初始化向量位的扰乱,相同的明文,得到不同的密文

2)块之间加密是联系的,加解密的失败会影响后续块的进行

对称加密算法的优缺点

1.优点:算法简单,加密速度快,效率高

2.缺点:使用同一把密钥加解密,如何解决密钥安全共享问题?

什么是非对称加密算法?

1.使用“不同密钥”来执行加密和解密

2.常见非对称加密算法有RSA,DH

非对称加密算法-RSA

1.公共密钥加密系统

2.支持密钥长度为1024、2048位甚至更长

3.工作原理 使用公钥/私钥加密,就必须使用私钥/公钥解密

1)接收方使用RSA算法,生成一对密钥(公钥+私钥)

2)接收方将公钥发给发送方,私钥自己严格保存

3)发送方使用接收方发送的公钥对数据进行加密,再把加密后的数据发送给接收方

4)接收方使用自己的私钥来解密数据

非对称加密算法的优缺点

1.优点:更高的安全性

2.缺点:算法复杂,加解密效率低

非对称加密算法存在的风险:接收方无法判断接收到的公钥是否是发送方发的

完整性

什么是完整性?

1.确保发送的数据和接收的数据一致,称为完整性

2.使用的技术“单向散列函数”

什么是单向散列函数?

1.单向散列函数,有一个输入和输出:

1)输入称为‘消息’

2)输出称为‘散列值’,又称‘哈希值’

2.依据消息的内容来计算出散列值,再利用散列值来验证‘数据完整性’。

3.单向散列函数算-MD4/MD5,能够产生128比特的散列值。

4.单向散列函数算法-SHA

1)SHA0,1993年发布,已撤回

2)SHA1,1995年发布,2005年被破解

3)SHA2,可固定输出224/256/384/512比特的散列值,SHA2为目前的主流算法

4)SHA3,未完全普及,相关资料较少

5)中国国密的算法SM3,类似于SHA2-256

5.单向散列函数的特点

1)依据任意长度的消息计算出固定长度的散列值

2)能够快速计算出散列值

3)散列值具有唯一性

4)具备单向性

什么是认证?

1.为了确保发送源的合法性,需要对发送源执行认证

什么是消息认证码?

1.一种确认‘完整性’并进行‘认证’的技术。

2.输入任意长度的消息和共享的密钥,输出固定长度的MAC值。

消息认证码的工作流程,共享密钥不会从发送者发给接受者

消息认证码常用算法

1.HMAC。

2.一种使用单向散列函数来构造消息认证码的方法

3.任何高强度的单向散列函数都可以被用于HMAC,例 HMAC-SHA-224

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

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

相关文章

数据结构算法题day05

数据结构算法题day05 题目算法思想代码 题目 从有序表中删除所有其值重复的元素,使表中所有元素的值均不同。算法思想 第一个元素(不重复)依次向后扫描,不重复就保留,重复(不保留)就删除所有重…

排序进阶----插入排序,希尔排序

各位看官们好,接下来鄙人想与大家分享的实现被称为六大排序之一的插入排序。其实关于这六大排序在我们最开始就已经接触过了。我们在最开始学习c语言的时候,我们要学习到其中之一的冒泡排序。虽然现在看起来冒泡排序确实是没有太大的实际效果&#xff0c…

【Xilinx约束】create_generated_clock 约束语法介绍

在 Xilinx Vivado 环境中,使用 create_generated_clock 约束来定义由锁相环(PLL)或时钟管理模块(如 MMCM 或 DCM)生成的时钟。这个约束用于指定生成时钟的属性,例如时钟的源、相位和频率。 基本语法 以下是…

618必买的数码好物有哪些?盘点兼具设计与实用的数码好物分享

随着618购物节的到来,数码爱好者们又开始跃跃欲试,期待在这个年度大促中寻找到自己心仪的数码好物,在这个数字化时代,数码产品不仅是我们日常生活的必需品,更是提升生活品质的重要工具,那么在众多的数码产品…

【MySQL】 1130 -Host ‘14.*.**.*‘ is not allowed to connect to this MySQL server

这个错误表明MySQL服务器拒绝了来自IP地址为14.*.**.*的主机的连接请求。这通常是由于MySQL用户的主机限制引起的。 要解决这个问题,你需要在MySQL中允许指定主机的连接。你可以按照以下步骤操作: 使用具有足够权限的用户(如root用户&#x…

HNU-计算机体系结构-实验1-RISC-V流水线

计算机体系结构 实验1 计科210X 甘晴void 202108010XXX 1 实验目的 参考提供为了更好的理解RISC-V,通过学习RV32I Core的设计图,理解每条指令的数据流和控制信号,为之后指令流水线及乱序发射实验打下基础。 参考资料: RISC-…

Ubuntu20.04升级到22.04之后出现的问题

项目场景: 之前一致使用的是Ubuntu20.04,虽然丑了点,但是用着没什么问题,最近没能按捺住好奇心,升级到了22.04,升级后颜值有所提高,但是也带来了一些问题。 从20.04升级到22.04,起始…

【学习笔记】Axios、Promise

TypeScript 1、Axios 1.1、概述 1.2、axios 的基本使用 1.3、axios 的请求方式及对应的 API 1.4、axios 请求的响应结果结构 1.5、axios 常用配置选项 1.6、axios.create() 1.7、拦截器 1.8、取消请求2、Promise 2.1、封装 fs 读…

sendmail发送邮件配置详解?如何正确设置?

sendmail发送邮件如何保障安全?AokSend有何安全措施? 为了确保sendmail发送邮件的高效性和安全性,正确配置是至关重要的。本文将详细介绍sendmail发送邮件的配置步骤,并探讨如何保障sendmail发送邮件的安全性。同时,我…

界面控件DevExpress WinForms的流程图组件 - 可完美复制Visio功能(一)

DevExpress WinForms的Diagram(流程图)组件允许您复制Microsoft Visio中的许多功能,并能在下一个Windows Forms项目中引入信息丰富的图表、流程图和组织图。 P.S:DevExpress WinForms拥有180组件和UI库,能为Windows F…

Express 静态资源存放

如何在 express 中提供对外可以访问的静态资源?只要利用expres.static这个中间件就可以了。 例如,通过如下代码就可以将 static 目录下的图片、CSS 文件、JavaScript 文件对外开放访问了。 app.use(express.static(static)); 现在可以访问 static 目录…

C++项目(游戏角色仓库管理)

#include<iostream> using namespace std; #include<string> #define MAX 6 //设计游戏角色结构体 struct Hero {string name;int gongji;int fangyu;int tili;int tianfu; }; //设计仓库结构体 struct WareHouse {struct Hero array[MAX];int m_size; };//1.添加全…

2024年中国金融行业网络安全研究报告

网络安全一直是国家安全的核心组成部分&#xff0c;特别是在金融行业&#xff0c;金融机构拥有大量的敏感数据&#xff0c;包括个人信息、交易记录、财务报告等&#xff0c;这些数据的安全直接关系到消费者的利益和金融市场的稳定&#xff0c;因此金融行业在网络安全建设领域一…

测试工具记录

1.ios 弱网 1.xcode打开开发者选项 2.开发者选项 -> Network Link Conditioner 字段解释&#xff1a; In Bandwidth&#xff08;入口带宽&#xff09;&#xff1a;用于模拟网络的入口带宽&#xff0c;即数据从网络进入设备的速度。单位Kbps。 In Packet Loss&#xff08;入…

成都市酷客焕学新媒体科技有限公司:助力品牌打破困境!

在数字化浪潮的推动下&#xff0c;营销策略对品牌的发展愈发关键。成都市酷客焕学新媒体科技有限公司&#xff0c;作为短视频营销领域的佼佼者&#xff0c;凭借其卓越的策略和实力&#xff0c;助力众多品牌在信息海洋中脱颖而出&#xff0c;实现品牌的显著增长。 酷客焕学专注于…

计算属性和监听属性

计算属性&#xff08;Computed Properties&#xff09; 定义: 计算属性是基于它们的依赖进行缓存的&#xff0c;只有当依赖发生变化时&#xff0c;它们才会重新计算。这使得计算属性在性能上很有优势&#xff0c;避免了不必要的重复计算。 适用场景: 当你需要根据某个或某些数…

部署八戒-Chat-1.8B 模型

1 简单介绍 八戒-Chat-1.8B 八戒-Chat-1.8B是运用 InternLM2-Chat-1.8B 模型进行微调训练的优秀成果。其中&#xff0c;八戒-Chat-1.8B 是利用《西游记》剧本中所有关于猪八戒的台词和语句以及 LLM API 生成的相关数据结果&#xff0c;进行全量微调得到的猪八戒聊天模型。作为 …

python-使用API

python-使用API 使用github的api-即url地址请求数据 https://api.github.com/search/repositories?qlanguage:python&sortstars #这个调用返回GitHub当前托管了多少个Python项目&#xff0c;还有有关最受欢迎的Python仓库的信息。在浏览器中输入上面地址可以看到该接口&…

论文《Sensor and Sensor Fusion Technology in Autonomous Vehicles: A Review》详细解析

论文《Sensor and Sensor Fusion Technology in Autonomous Vehicles: A Review》详细解析 摘要 该论文对自动驾驶汽车中的传感器和传感器融合技术进行了全面回顾。它评估了各种传感器&#xff08;如相机、LiDAR、雷达&#xff09;的能力和技术性能&#xff0c;并讨论了多传感…

Linux完整版命令大全(二十一)

mkswap 功能说明&#xff1a;设置交换区(swap area)。语  法&#xff1a;mkswap [-cf][-v0][-v1][设备名称或文件][交换区大小]补充说明&#xff1a;mkswap可将磁盘分区或文件设为Linux的交换区。参  数&#xff1a; -c 建立交换区前&#xff0c;先检查是否有损坏的区…