对称加密非对称加密原理

信息安全的基础 - 机密性

  • 明文:加密前的消息叫“明文”(plain text)
  • 密文:加密后的文本叫“密文”(cipher text)
  • 密钥:只有掌握特殊“钥匙”的人,才能对加密的文本进行解密,这里的“钥匙”就叫做“密钥”(key)
    • 密钥”就是一个字符串,度量单位是“位”(bit),比如,密钥长度是 128,就是 16 字节的二进制串
  • 加密:实现机密性最常用的手段是“加密”(encrypt)
    • 按照密钥的使用方式,加密可以分为两大类: 。 密加称对非和密加称对
  • 解密:使用密钥还原明文的过程叫“解密”(decrypt)
  • 加密算法:加密解密的操作过程就是“加密算法”
    • 所有的加密算法都是公开的,而算法使用的“密钥”则必须保密

加密方式

• 密钥的度量单位是位 bit,如,秘钥长度128,就是16字节的二进制串

对称加密

  • 特点:只使用一个密钥,密钥必须保密,常用的有 AES算法
    •  AES加密算法,密钥长度128、192或256,安全强度很高,性能很好
  • 优点:运算速度快
  • 缺点:秘钥需要信息交换的双方共享,一旦被窃取,消息会被破解,无法做到安全的密钥交换

非对称加密

  • 特点:使用两个密钥:公钥和私钥,公钥可以任意分发而私钥保密,常用的有 RSA
  • 优点:黑客获取公钥无法破解密文,解决了密钥交换的问题
  • 缺点:运算速度非常慢

混合加密

  • 实际场景中把对称加密和非对称加密结合起来使用。
    

身份认证

  • 公钥加密,私钥解密的作用是加密信息
  • 私钥加密,公钥解密的作用是身份认证

摘要算法和数据的完整性

摘要算法就是我们常说的散列函数、哈希函数(Hash Function),它能够把任意长度的数据“压缩”成

固定长度、而且独一无二的“摘要”字符串,就好像是给这段数据生成了一个数字“指纹”。

作用:

保证信息的完整性

特性:

  • 不可逆:只有算法,没有秘钥,只能加密,不能解密

  • 难题友好性:想要破解,只能暴力枚举
  • 发散性:只要对原文进行一点点改动,摘要就会发生剧烈变化
  • 抗碰撞性:原文不同,计算后的摘要也要不同
    • 常见摘要算法: MD5、SHA1、SHA2(SHA224、SHA256、SHA384)

数字签名

数字签名是使用私钥对摘要加密生成签名,需要由公钥将签名解密后进行验证,实现身份认证和不可否认

签名和验证签名的流程:

公钥的信任:黑客可以伪造公钥,怎么判断公钥是真实的? 

数字证书 

数字证书解决“公钥的信任”问题,可以防止黑客伪造公钥。 不能直接分发公钥,公钥的分发必须使用数字证书,数字证书由CA颁发

  • 公钥:Bob的公钥

  • 所有者:Bob

  • 颁发者:CA(Certificate Authority,证书认证机构)

  • 有效期:证书的使用期限

  • 签名哈希算法:指定摘要算法,用来计算证书的摘要

  • 指纹:证书的摘要,保证证书的完整性

  • 签名算法:用于生成签名,确保证书是由CA签发

  • 序列号:证书的唯一标识

 

数字证书-https协议

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

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

相关文章

【C语言】——联合体与枚举

【C语言】——联合体与枚举 一、联合体1.1、联合体类型的声明1.2、联合体的特点1.3、相同成员的结构体和联合体对比1.4、联合体的大小计算1.5、联合体的应用举例 二、枚举2.1、枚举类型的声明2.2、枚举类型的优点 一、联合体 1.1、联合体类型的声明 联合体也叫做共用体   与…

在Java中如何有效地处理内存泄露

在Java中,处理内存泄露有多种方法,以下是其中三种常见的方法及其原理和适用场景: ## 1. 合理使用垃圾回收机制 Java中的垃圾回收机制(Garbage Collection,GC)是一种自动化的内存管理技术,它可以…

使用Three.js开发一个3D案例Demo

使用Three.js开发一个3D案例 最近在找工作,发现好多招聘要求都需要会Three.js,以前接触比较多的是2D开发,也就是平面开发,用到的做多的技术就是d3.js,现在3D开发已经成为了大势所趋,所以就学习下Three.js。…

Poisson_Image-Editing

1.算法介绍 快速泊松图像编辑(Fast Poisson Image Editing)是一种图像处理算法,用于将源图像的某个区域无缝地嵌入到目标图像中。它基于泊松方程的性质,通过求解离散化的泊松方程来实现图像的融合。该算法的核心思想是&#xff0c…

给网站网页PHP页面设置密码访问代码

将MkEncrypt.php文件上传至你网站根目录下或者同级目录下。 MkEncrypt.php里面添加代码,再将调用代码添加到你需要加密的页进行调用 MkEncrypt(‘123456’);括号里面123456修改成你需要设置的密码。 密码正确才能进去页面,进入后会存下cookies值&…

一览函数式编程

文章目录 一、 什么是函数式编程1.1 编程范式1.1.1 命令式编程(Imperative Programming)范式1.1.2 声明式编程(Declarative Programming)范式1.1.3 函数式编程(Functional Programming)范式1.1.4 面向对象编程(Object-Oriented Programming)范式1.1.5 元编程(Metaprogramming)范…

【自动驾驶|毫米波雷达】逻辑化讲解测角全流程

第一次更新:2024/5/7 目录 一. 引入 基础概念 二. 测角原理 1. 接收天线不同位置 2. 角度几何关系 3. 角度正负规定 4. 角度测量 5. 最大不模糊角 三. 角度分辨率 1. 相位变化量 2. 角度表示 3. 角度变化量 三. 测角算法 1. 三维快速傅里叶变换 (3D-FFT&…

湖仓一体 - Apache Arrow的那些事

湖仓一体 - Apache Arrow的那些事 Arrow是高性能列式内存格式标准。它的优势:高效计算:所有列存的通用优势,CPU缓存友好、SIMD向量化计算友好等;零序列化/反序列化:arrow的任何数据结构都是一段连续的内存,…

什么是电脑监控软件?哪些监控软件好用?

电脑监控软件是一种用于监控和管理计算机系统和数据的工具。它可以对计算机的使用情况进行实时监控,记录用户的操作行为,并及时发出警报,以防止数据泄露、违规操作和其他安全问题的发生。在当今信息时代,保护企业和个人信息安全变…

2022 年全国职业院校技能大赛高职组云计算赛项试卷(容器云)

#需要资源(软件包及镜像)或有问题的,可私聊博主!!! #需要资源(软件包及镜像)或有问题的,可私聊博主!!! #需要资源(软件包…

IDEA中向Data Sources导入sql文件

IDEA中向Data Sources导入sql文件 开篇 在学习黑马的课程时,时常需要向数据库中导入sql文件生成数据库表,每次都会忘记导入步骤,折腾许久,于是将过程记录下来。 步骤 在Database中选择你要导入的数据库源,如图我想…

【陀螺仪JY61P维特智能】通过单片机修改波特率和角度参考的方法

根据官方文档: 修改波特率 1.解锁:FF AA 69 88 B5 1.1延时200ms 2.修改波特率:FF AA 04 06 00 2.1切换已修改的波特率然后重新发送解锁和保存指令 2.2解锁:FF AA 69 88 B5 2.3延时200ms 4.保存: FF AA 00 00 00 XY轴角度参考 角度参考是以传感器当前的实际位置&…