加解密原理(HCIA)

news2024/11/26 0:24:47

一、加密技术

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)

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

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

相关文章

【微信小程序开发】学习小程序的网络请求和数据处理

前言 网络请求是微信小程序中获取数据和与服务器交互的重要方式。微信小程序提供了自己的API来处理网络请求,使得开发者可以轻松地在微信小程序中实现数据的获取和提交。本文将介绍微信小程序中的网络请求,包括使用wx.request发起GET和POST请求&#xf…

基于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系…

【每日一题】274. H 指数-2023.10.29

题目: 274. H 指数 给你一个整数数组 citations ,其中 citations[i] 表示研究者的第 i 篇论文被引用的次数。计算并返回该研究者的 h 指数。 根据维基百科上 h 指数的定义:h 代表“高引用次数” ,一名科研人员的 h 指数 是指他…

计算机视觉注意力机制小盘一波 (学习笔记)

将注意力的阶段大改分成了4个阶段 1.将深度神经网络与注意力机制相结合,代表性方法为RAM ⒉.明确预测判别性输入特征,代表性方法为STN 3.隐性且自适应地预测潜在的关键特征,代表方法为SENet 4.自注意力机制 通道注意力 在深度神经网络中…

ARPG----C++学习记录01日志和调试

多人射击有点难,发现这个更加基础,先学习这个 显示日志 可以在代码中插入这样一行来打印日志,蓝图里的printstring会在屏幕和日志里都显示。可以使用%f,d等来获取后边的输入值。对于打映字符串变量,传入需要* UE_LOG…

基于 matplotlib 实现的基本排序算法的动态可视化项目源码,通过 pyaudio 增加音效,冒泡、选择、插入、快速等排序

基本排序算法动态可视化 依托 matplotlib 实现的基本排序算法的动态可视化,并通过 pyaudio 增加音效。 安装 在使用之前请先检查本地是否存在以下库: matplotlibpyaudiofire requirements.txt 中包含了上述的库 使用 目前本项目仅提供了以下排序算…

最新基于机器学习模型单图换脸离线版软件包及使用方法,本地离线版本模型一键运行(免费下载)

最新基于机器学习模型单图换脸离线版软件包及使用方法,本地离线版本模型一键运行(免费下载)。 “单图换脸”离线一键运行版来了。Roop发布几十个小时后,马不停蹄地搞了Colab在线版。其实这东西都挺好的,又快又方便,几乎没有任何硬件要求,点一点就可以搞定了。但是它有…

案例分析真题-数据库

案例分析真题-数据库 2010年真题 【问题1】 【问题2】 【问题3】 2011 年真题 【问题1】 【问题2】 【问题3】 骚戴理解:这里主要是要学会分析出题目中哪里用到了反规范化技术,主打的就是一个会分析! 2012年真题 【问题1】 【问题2】 【问题…

2022年上半年上午易错题(软件设计师考试)

1.以下关于冯诺依曼计算机的叙述中,不正确的是( )。 A.程序指令和数据都采用二进制表示 B.程序指令总是存储在主存中,而数据则存储在高速缓存中 C.程序的功能都由中央处理器(CPU)执行指令来实现 D.程序的执行过程由指令进行自动控制 程序指令和数据…

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

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

提高网站速度与用户体验:CDN加速的解决方案

对于网站运营者而言,维持高速和稳定的网站速度对于提升用户体验和提高搜索引擎排名至关重要。为了达到这一目标,内容交付网络(CDN)加速服务提供了一个强大的解决方案。然而,传统的CDN加速服务需要备案手续,…

『阿里云盘 AList Kodi』家庭影院搭建指南

文章目录 前言AList简介安装相关命令获取密码 阿里云盘Kodi安装 参考链接 前言 之前我们使用简易 Python 框架搭建部署了私人影院,但是部分小伙伴们表示对于个人使用来说比较复杂,这次将会带来更加适合个人使用,并且部署更加简单的 阿里云盘…

合并两个有序链表(C++)

题目 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例 1: 输入:l1 [1,2,4], l2 [1,3,4] 输出:[1,1,2,3,4,4]示例 2: 输入:l1 [], l2 [] 输出&#xff1…

案例分析大汇总

案例分析心得 2018-2022年的案例分析考试内容汇总(近五年) 架构设计题型 软件系统建模 数据库 Web 系统设计 2018年 胖/瘦客户端 C/S 架构非功能性需求 数据流图DFDE-R图Essential Use Cases(抽象用例),Real Use Cases(基础用例)信息工…

Prometheus接入AlterManager配置钉钉告警(基于K8S环境部署)

文章目录 一、钉钉群创建报警机器人二、安装Webhook-dingtalk插件三、配置Webhook-dingtalk插件对接钉钉群四、配置AlterManager告警发送至Webhook-dingtalk五、Prometheus接入AlterManager配置六、部署PrometheusAlterManager(放到一个Pod中)七、测试告警 注意:请基…

Xubuntu16.04系统中create_ap开启5G网络的踩坑记录

Xubuntu16.04系统中安装create_ap创建无线AP: https://blog.csdn.net/qq_45445740/article/details/133972642?spm1001.2014.3001.5501 目录 1.create_ap.conf 配置文件解析2.关于信号强度和延时2.1 信号强度2.2 信号延时2.3 网络延时测试工具推荐——PingPlotter …

Linux | 程序替换

前言 本文主要记录小编学习程序替换中遇到的一些问题,并分享记录下来,希望可以给大家带来帮助; 一、初始程序替换 所谓程序替换,就是将本进程的代码和数据进行替换,运行新程序的代码;我们之前在讲解进程地址…

CDN技术:提升网络效能与用户满意度

网络的持续增长和数字内容的快速传播已经引发了对网络性能和用户体验的不断挑战。内容交付网络(CDN)技术应运而生,以应对这些挑战,实现内容高效分发,提升了整体网络质量。 CDN的核心原理在于通过在全球范围内部署多个服…

【C++初阶】类和对象——操作符重载const成员函数取地址重载日期类的实现

个人主页点击直达:小白不是程序媛 C系列专栏:C头疼记 目录 前言: 运算符重载 运算符重载 赋值运算符重载 前置和后置重载 const成员 取地址及const取地址操作符重载 使用函数操作符重载完成日期类的实现 前言: 上篇文…

YOLO v1(2016.5)

文章目录 AbstractIntroduction过去方法存在的问题我们提出的方法解决了... Unified DetectionNetwork DesignTrainingInference Comparison to Other Detection SystemsDeformable parts modelsR-CNNOther Fast DetectorsDeep MultiBoxOverFeatMultiGrasp ExperimentsConclusi…