加解密原理(HCIA)

一、加密技术

1、加密的两个核心组件

2、加密技术作用:

二、加解密技术原理

1、对称加密

2、非对称加密

(1)思考问题?

1)、有了非对称加密为什么还用对称加密?

2)、如何传递秘钥呢(解决秘钥分发问题,对称加密存在这个问题)?

4、数字信封(数据加密,验证接收方身份,数字信封结合数据签名)

5、什么是哈希函数、哈希函数特点

6、数字签名(数据验证,接收方验证发送方的身份,数字信封结合数据签名)

三、加密常见算法

1、对接加密算法:

(1)、流加密算法:

(2)、分组加密算法:分块加密

2、非对称加密算法

3、散列算法


一、加密技术

加密是利用数学方法将明文 (需要被隐蔽的数据) 转换为密文(不可读的数据)从而达到保护数据的目的。

1、加密的两个核心组件

加密的两个核心组件:算法、秘钥。

2、加密技术作用:

加密技术作用:是实现数据的保密性、完整性、鉴别性、不可抵赖性。

二、加解密技术原理

1、对称加密

对称加密:又称为共享密钥加密,它使用同一个密钥对数据进行加密和解密。

2、非对称加密

非对称加密:加解密使用两个不同的密钥,私钥加密公钥解密,公钥加密私钥解密,用来检验信息及其发送者的真实性和身份。

3、密钥

密钥: 公钥&私钥

(1)思考问题?

1)、有了非对称加密为什么还用对称加密?

2)、如何传递秘钥呢(解决秘钥分发问题,对称加密存在这个问题)?

有RSA和DH算法。

非对称加密适合小文件,大文件加密速度相对于对称加密慢很多。

4、数字信封(数据加密,验证接收方身份,数字信封结合数据签名)

对称秘钥加密数据,传递对称加密的公钥使用非对称加密进行(对称加密公钥不是很大)

A用对称密钥加密数据,再用B的公钥封装对称密钥,B收到用私钥解密得到对称密钥,再用对称密钥解密业务数据。

5、什么是哈希函数、哈希函数特点

哈希函数(hash):做数据的一个完整性校验,哈希的特点有:

(1)、相同输入,相同输出:MD5,原始数据用MD5(123)=abc,那么不管谁用MD5(123)永远都是abc。

(2)、等长输出:MD5,MD5(123)=abc,MD5算出的哈希值长度都是固定的,不管原始数据有多大,计算出的长度是相同的(MD5的哈希值是固定128位)。

(3)、不可逆推:无法从哈希结果逆推出原数据。

(4)、雪崩效应:原本MD5(123456)=abcdef,这个时候MD5(1234567)得到的数据跟MD5(123456)没有一点关系MD5(1234567)=dg4,*as。由于微妙的变化导致结果发生天翻地覆的变化。

HMAC哈希信息验证码:带秘钥的哈希,传输哈希前先通过DH算法协商秘钥(全球唯一),秘钥不加密,参与哈希计算,A做完哈希后加上秘钥发送B,C由于没有秘钥,修改了数据发送给B也无法验证成功。

6、数字签名(数据验证,接收方验证发送方的身份,数字信封结合数据签名)

数字签名:用私钥加密的哈希值得到的密文就是签名,不可抵赖性。

(1)、A先使用哈希计算1G数据得出数据哈希值AJ。

(2)、A使用私钥加密哈希值AJ得到的签名发送给B。

(3)、B收到数据后,使用A的公钥解密签名,得到了一个哈希值。

(4)、B再对1G的数据进行一次哈希运算,如果B计算的哈希值和A发的哈希值相同,这1G数据是A发的。

三、加密常见算法

1、对接加密算法:

(1)、流加密算法:

1)、RC4:用在WiFi传输加密。

(2)、分组加密算法:分块加密

1)、DES标准加密算法:是一个函数,但是每次加密用56位的秘钥key加密64位长度的数据,不满足64位的最小倍数会进行填充。

2)、3DES:做3次DES,例如原始数据是ABC,使用A秘钥用DES加密ABC变成密文1ABC,用B秘钥解密A秘钥加密后的1ABC得出2ABC,再用A秘钥结合B秘钥解密后的2ABC加密得出3ABC。(整个计算过程用到2个56位的EDS加密)

3)、AES:AES-128,AES-192,AES-256.

4)、IDEA

5)、RC2、RC5、RC6

6)、SM1、SM4:国密算法。

2、非对称加密算法

(1)、DH:用来算秘钥的,DH算法一般用于双方协商出一个对称加密的密钥,即加密解密都是同一个密钥。实质是双方共享一些参数然后各自生成密钥,然后根据数学原理,各自生成的密钥是相同的,这个密钥不会涉及到在链路中传播,但是之前的参数的交互会涉及链路传输。

DH的目的就是在一个不安全的环境下,产生安全的秘钥(计算秘钥的算法,算秘钥的,不是用来加密的)。

A————B算秘钥过程:

1、A和B进行秘钥交换协商出一个P(P是素数,因式分解只能分解出自己,素数就是质数,最小的质数是2可以被1和本身分解)

A的P=11,g=2(固定是2),B的P=11,g=2(固定是2)

A本地产生小x=3(素数),B本地产生y=2(素数)

mol取余数

A的大X=g的小x次方molP

B的大Y=g的小y次方molP

2、A把X=8发给B,B把Y=4发给A。

3、A算Z,Z=Y的小x次方molP,Z=9

B算算Z,Z=X的小y次方molP,Z=9

A和B算出来Z的值都是一样的,计算过程中双方各有小x和小y,小x和小y从头到尾都没发送出去,只是交互了大X和大Y(X和Y是DH的公开值),公开值攻击者抓到无所谓,私有x和y抓不到永远算不出来,动态计算P、小x、小y,利用数学难题。

DH1素数是768位

DH2素数是1048位

(2)、RSA:RSA公加密算法是1977年由Ron RivestAdi Shamirh和LenAdleman在(美国麻省理工学院)开发的RSA取名来自开发他们三者的名字。RSA是目前最有影响力的公钥加密算法,它能够抵抗到目前为止已知的所有密码攻击,已被ISO推荐为公钥数据加密标准。是第一个能同时用于加密和数字签名的算法。

(3)、DSA:DSA是Schnorr和ElGamal签名算法的变种,被美国NIST作为DSS(DigitalSignature Standard)。在保证数据的完整性、私有性、不可抵赖性等方面起着非常重要的作用。DSA是基于整数有限域离散对数难题的,其安全性与RSA相比差不多。在DSA数字签名和认证中,发送者使用自己的私钥对文件或消息进行签名接受者收到消息后使用发送者的公钥来验证签名的真实性。DSA只是一种算法,和RSA不同之处在于它不能用作加密和解密,也不能进行密钥交换,只用于签名,它比RSA要快很多。

目前比较常用的公钥加密算法,主要包含DH ()Diffie-Hellman)、RSA (Ron Rivest、Adi Shamirh.LenAdleman)和DSA (Digital Signature Algorithm)算法。

3、散列算法

散列算法:把任意长度的输入变换成固定长度的输出。挖矿就是一个算哈希的过程(SHA-256)。

常见散列算法

(1)、MD5 (Message Digest Algorithm 5)

(2)、SHA (Secure Hash Algorithm)

(3)、SM3 (Senior Middle 3)

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

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

相关文章

Megatron-LM GPT 源码分析(一) Tensor Parallel分析

引言 本文基于开源代码 GitHub - NVIDIA/Megatron-LM: Ongoing research training transformer models at scale ,通过GPT的模型运行示例,从三个维度 - 模型结构、代码运行、代码逻辑说明 对其源码做深入的分析。 Tensor Parallel源码分析

基于RK3568高性价比全国产EMS储能解决方案(二)设计方案

目录 版 本 修 订 记 录 1. 产品介绍 1.1. 什么是XM3568-EP 1.2. 产品特点 1.3. 外壳尺寸 1.4. 外壳外观 1.5. 规格参数 2. 设备使用介绍 2.1. 下载需要使用到的驱动和调试工具 2.2. 启动网关 2.3. DEBUG串口的使用方法 2.4. LED指示灯说明 3. Linux系…

计算机网络(谢希仁)第八版课后题答案(第二章)

1.物理层要解决哪些问题?物理层的主要特点是什么? (1)物理层要尽可能地屏蔽掉物理设备和传输媒体,通信手段的不同,使数据链路层感觉不到这些差异,只考虑完成本层的协议和服务。 (2)给其服务用户(数据链路…

MySQL(1):开始

概述 DB:数据库(Database) 即存储数据的“仓库”,其本质是一个文件系统。它保存了一系列有组织的数据。 DBMS:数据库管理系统(Database Management System) 是一种操纵和管理数据库的大型软件…

win10虚拟机安装教程

目录 1、安装VMware 10、12、16都可以,看个人选择 2、开始安装系统(以vm16为例) 3、在虚拟机中安装win10 完成 1、安装VMware 10、12、16都可以,看个人选择 下面链是我虚拟机安装包,需要可以下载。 YR云盘 软件安…

css:button实现el-radio效果

先看最终效果&#xff1a; ​​​ 思路&#xff1a; 一、 首先准备好按钮内容&#xff1a;const a [one,two,three] 将按钮循环展示出来&#xff0c;并设置一些样式&#xff0c;将按钮背景透明&#xff1a; <button v-for"(item,index) in a" :key"in…

【网络安全 --- 文件上传靶场练习】文件上传靶场安装以及1-5关闯关思路及技巧,源码分析

一&#xff0c;前期准备环境和工具 1&#xff0c;vmware 16.0安装 若已安装&#xff0c;请忽略 【网络安全 --- 工具安装】VMware 16.0 详细安装过程&#xff08;提供资源&#xff09;-CSDN博客文章浏览阅读186次&#xff0c;点赞9次&#xff0c;收藏2次。【网络安全 --- 工…

如何配置微信小程序id

使用uni-app开发微信小程序项目&#xff0c;配置好微信小程序id是必不可少的。 一、如何找微信小程序id 二、如何配置微信小程序id

Illustrator 2024(AI v28.0)

Illustrator 2024是一款功能强大的矢量图形编辑软件&#xff0c;由Adobe公司开发。它是设计师、艺术家和创意专业人士的首选工具&#xff0c;用于创建和编辑各种矢量图形、插图、图标、标志和艺术作品。 以下是Adobe Illustrator的主要功能和特点&#xff1a; 矢量图形编辑&…

系列二十一、请描述BeanDefinition的加载过程

一、概述 BeanDefinition是用来描述bean的生产信息&#xff0c;决定bean如何生产&#xff0c;是一个定义态的bean。 二、流程 2.1、第一步&#xff1a;启动IOC容器 AnnotationConfigApplicationContext context new AnnotationConfigApplicationContext(MySpringConfig.cla…

企业年度经营计划预算最全攻略来了!附年度费用预算表格模板

经营分析里最重要&#xff0c;也最让人头大的部分&#xff0c;莫过于制定经营计划。现实中很多企业因为制定年度经营预算费用不善&#xff0c;导致年度经营计划与预算脱节&#xff0c;年度计划成了摆设…… 年度费用预算表 为了摆脱企业年度经营与发展&#xff0c;并作出科学合…

mysql 增删改查基础命令

数据库是企业的重要信息资产&#xff0c;在使用数据库时&#xff0c;要注意(查和增,无所谓,但是删和改,要谨慎! ) 数据库管理系统(DBMS) :实现对数据的有效组织&#xff0c;管理和存取的系统软件 mysgl 数据库是一个系统&#xff0c; 是一个人机系统&#xff0c;硬件, gs,数据库…

《HelloGitHub》第 91 期

兴趣是最好的老师&#xff0c;HelloGitHub 让你对编程感兴趣&#xff01; 简介 HelloGitHub 分享 GitHub 上有趣、入门级的开源项目。 github.com/521xueweihan/HelloGitHub 这里有实战项目、入门教程、黑科技、开源书籍、大厂开源项目等&#xff0c;涵盖多种编程语言 Python、…

目标检测算法改进系列之嵌入Deformable ConvNets v2 (DCNv2)

Deformable ConvNets v2 简介&#xff1a;由于构造卷积神经网络所用的模块中几何结构是固定的&#xff0c;其几何变换建模的能力本质上是有限的。在DCN v1中引入了两种新的模块来提高卷积神经网络对变换的建模能力&#xff0c;即可变形卷积 (deformable convolution) 和可变形…

Android OpenGL ES 2.0入门实践

本文既然是入门实践&#xff0c;就先从简单的2D图形开始&#xff0c;首先&#xff0c;参考两篇官方文档搭建个框架&#xff0c;便于写OpenGL ES相关的代码&#xff1a;构建 OpenGL ES 环境、OpenGL ES 2.0 及更高版本中的投影和相机视图。 先上代码&#xff0c;代码效果如下图…

基于哈里斯鹰算法的无人机航迹规划-附代码

基于哈里斯鹰算法的无人机航迹规划 文章目录 基于哈里斯鹰算法的无人机航迹规划1.哈里斯鹰搜索算法2.无人机飞行环境建模3.无人机航迹规划建模4.实验结果4.1地图创建4.2 航迹规划 5.参考文献6.Matlab代码 摘要&#xff1a;本文主要介绍利用哈里斯鹰算法来优化无人机航迹规划。 …

私有云:【4】Esxi安装Server2012R2

私有云&#xff1a;【4】Esxi安装Server2012R2 1、使用Esxi安装虚拟机2、启动虚拟机3、安装必要服务及打补丁 1、使用Esxi安装虚拟机 选择esxi虚拟机挂在Win2012的镜像iso 使用Esxi客户端新建虚拟机 设置虚拟机名称及系统作为模板&#xff0c;如图所示 选择数据存储&#xff0…

C#WPF嵌入字体实例

本文介绍C#WPF嵌入字体实例。 首先创建项目 添加Resources文件夹,添加字体文件,字体文件属性:生成操作为Resources,复制到输出目录:不复制 字体的使用可以采用以下两种方法: 方式一 直接引用 FontFamily="./Resources/#幼圆" 方式二 定义资源 <Applica…

东软集团:看似低调,却有了19年的AI坚持

【科技明说 &#xff5c; 重磅专题】 在AI领域的专注与研究&#xff0c;东软集团是一个低调的存在。 可能很多人不太了解东软集团对于AI的专心与专注以及专业。三专可以简单概括东软集团的AI雄心壮志。 专注在于&#xff0c;早在2004年&#xff0c;东软就开始启动人工智能技…

openEuler 22.03 LTS 安装 Docker CE 和 Dcoker Compose

openEuler 使用 DNF 安装 Docker CE 1024&#xff0c;节日快乐&#xff01;回归正题&#xff0c;DNF 安装 DockerOS 系统环境准备安装 docker-ce 步骤1、更新系统2、安装必要的软件包3、添加 Docker CE 存储库4、更新索引缓存并安装 Docker CE5、启动 Docker 服务6、查看 Docke…