对称加密/非对称加密

古典密码学

起源于古代战争:在战争中,为了防止书信被截获后重要信息泄露,人们开始对书信进行加密。

移位式加密

如密码棒,使用布条缠绕在木棒上的方式来对书信进行加密。

加密算法:缠绕后书写
密钥: 木棒的尺寸

替换式加密

按规则使用不同的文字来替换掉原先的文字来进行加密

加密算法:替换文字
密钥:替换的码表

现代密码学

可以加密任何二进制数据
非对称加密的出现使得密码学有了更广泛的用途:数字签名

对称加密

原理

通信双方使用同一个密钥,使用加密算法配合密钥来加密,解密时使用加密过程的完全逆过程来进行解密

简化模型即上面的古典密码学中替换式加密的模型:对文字进行规则化替换来加
密,对密文进行逆向的规则化替换来解密

经典算法

DES(56位密钥,密钥太短而逐渐被抛弃)、AES(128位、192位、256位密钥,现在最流行)

对称加密作用

加密通信,防止信息在不安全网络上被截获后,信息被人读取或篡改

对称加密(如AES)的破解

破解思路
拿到一组或多组「原文-密钥」对
设法找到一个密钥,这个密钥可以将这些「原文-密文」对中的原文加密为密文,以及将密文解密为原文,即为成功破解

反破解
一种优秀的堆成加密算法的标准是,让破解者找不到比穷举法(暴力破解发)更有效的破解手段,并且穷举法的破解时间足够长(例如数千年)

对称加密的缺点

密钥泄漏:不能在不安全网络上传输密钥,一旦密钥泄漏则加密通信失败。

非对称加密

原理

使用公钥对数据进行加密得到密文;使用私钥对数据进行解密得到原数据
非对称加密使用的是复杂的数学技巧,在古典密码学中没有对应的原型

签名(确认对方身份)

由于私钥和公钥互相可解,因此非对称加密还可以应用于签名技术
通常会对原数据hash以后对hash签名,然后附加在原数据后面作为签名,这是为了让数据更小

在这里插入图片描述

使用非对称加密通信,可以在不可信网络上将双方的公钥传给对方,然后在发消息前分别对消息使用对方的公钥来加密和使用自己的私钥来签名,做到不可信网络上的可靠密钥传播即加密通信

在这里插入图片描述

经典算法:

RSA(可用于加密和签名)、DSA(仅用于签名)

非对称加密的优缺点

优点:可以在不安全网络上传输密钥
缺点:计算复杂,因此性能相比对称加密差很多

非对称加密(如RSA、ECDSA)的破解

破解思路
和对称加密的不同之处在于,非对称加密的公钥很容易获得,因此制造「原文-密文」对没有什么困难的事
所以非对称加密的关键在于,如何找到一个正确的私钥,可以解密所有经过公钥加密过的密文,找到这样的私钥即为破解
由于非对称加密的自身特性,怎么样通过公钥来推断出

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

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

相关文章

chatgpt如何引入领域知识?mit团队利用gpt4做数据增强来提升小模型在特定领域的效果

一、概述 title:Dr. LLaMA: Improving Small Language Models in Domain-Specific QA via Generative Data Augmentation 论文地址:Paper page - Dr. LLaMA: Improving Small Language Models in Domain-Specific QA via Generative Data Augmentation…

[网络安全]DVWA之XSS(Reflected)攻击姿势及解题详析合集

[网络安全]DVWA之XSS(Reflected)攻击姿势及解题详析合集 XSS(Reflected)-low level源代码姿势 XSS(Reflected)-medium level源代码姿势1.双写绕过2.大小写绕过 XSS(Reflected)-high level源代码str_replace函数 姿势 XSS(Reflected)-Impossible level源代…

Linux---相关介绍、相关下载、连接Linux系统、虚拟机快照

1. Linux系统相关 内核提供了Linux系统的主要功能,如硬件调度管理的能力。 Linux内核是免费开源的,是由林纳斯托瓦兹在1991年创立并发展至今成为服务器操作系统领域的 核心系统。 内核无法被用户直接使用,需要配合应用程序才能被用户使用…

简单网络管理协议 SNMP

文章目录 1 概述1.1 结构1.2 操作 2 SNMP2.1 报文格式2.2 五大报文类型 3 扩展3.1 网工软考真题 1 概述 #mermaid-svg-95KMV1m3prKJgwv1 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-95KMV1m3prKJgwv1 .error-ico…

spring 容器结构/机制debug分析--Spring 学习的核心内容和几个重要概念--IOC 的开发模式--综合解图

目录 Spring Spring 学习的核心内容 解读上图: Spring 几个重要概念 ● 传统的开发模式 解读上图 ● IOC 的开发模式 解读上图 代码示例—入门 xml代码 注意事项和细节 1、说明 2、解释一下类加载路径 3、debug 看看 spring 容器结构/机制 综合解图 Spring Spr…

ChatGpt使用、小白上手指南,整理5个ChatGpt学习文库和平台

ChatGpt目前很火,话题度很高,关于它的账号售卖、视频课程网上遍地都是,尝试没有窍门,学习付费太高,一不小心就会被割韭菜。 闲暇之余也从网上搜集整理了5个平台,里面系统的介绍了有关ChatGpt的应用和相关&…

记一次springboot项目漏洞挖掘

前言 前段时间的比赛将该cms作为了题目考察,这个cms的洞也被大佬们吃的差不多了,自己也就借此机会来浅浅测试下这个cms残余漏洞,并记录下这一整个流程,谨以此记给小白师傅们分享下思路,有错误的地方还望大佬们请以指正…

OpenGL高级-立方体贴图

运行效果 源代码 着色器 渲染物体的顶点着色器: #version 330 core // 传入局部坐标下的顶点坐标 layout( location 0 ) in vec3 position; layout (location 1) in vec2 texCoords;// 传入变换矩阵 uniform mat4 model; uniform mat4 view; uniform mat4 proje…

二十七、搜索与图论——Floyd 算法(多元路最短路径问题)

Floyd算法主要内容 一、基本思路1、算法原理2、基本思路3、注意 二、Java、C语言模板实现三、例题题解 一、基本思路 1、算法原理 遍历每条边,通过比较进行路径更新——暴力 解决多源最短路问题,求解 i 点到 j 点的最短距离 f [ i, j, k] 表示从 i 走…

Linux | 将SpringBoot+Vue项目部署到服务器上

知识目录 一、写在前面二、后端部署2.1 项目打包2.2 项目运行 三、通过Shell脚本自动部署项目3.1 安装Git和Maven3.2 编写Shell脚本3.2 执行脚本 四、前端部署4.1 安装NGINX4.2 node.js安装4.3 npm打包项目4.4 运行项目 四、总结撒花 一、写在前面 大家好,我是初心…

AlmaLinux 9.2 正式版发布 - RHEL 兼容免费发行版

AlmaLinux 9.2 正式版发布 - RHEL 兼容免费发行版 由社区提供的免费 Linux 操作系统,RHEL 兼容发行版。 请访问原文链接:https://sysin.org/blog/almalinux-9/,查看最新版。原创作品,转载请保留出处。 作者主页:sys…

K8s(Kubernetes)学习(一):k8s概念及组件

Kubernetes中文文档:https://kubernetes.io/zh-cn/docs/home/ Kubernetes源码地址:https://github.com/kubernetes/kubernetes 一:Kubernetes是什么 首先要了解应用程序部署经历了以下几个时代: 传统部署时代:在物理服务器上运…

ChatGPT学习研究总结

目录 ChatGPT研究总结 一、程序接入用途不大 二、思考:如何构建一个类似ChatGPT的自定义模型 一些ChatGPT研究学习资料(来源网络) (1)一文读懂ChatGPT模型原理 (2)MATLAB科研图像处理——…

DHCP+链路聚合+NAT+ACL小型实验

实验要求: 1.按照拓扑图上标识规划网络。 2.使用0SPF协议进程100实现ISP互通。 3.私网内PC属于VLAN1O, FTP Server属于VLAN2O,网关分 别为所连接的接入交换机,其中PC要求通过DHCP动态获取 4:私网内部所有交换机都为三层交换机,请合理规划VLAN&#…

带你深入学习k8s--(四) 控制器(k8s核心)

目录 一、概念 1、什么是控制器 2、控制器执行流程 3、控制器类型 二、控制器的使用 1、ReplicaSet 2、Deployment 1、版本迭代 2、回滚 3、修改滚动更新策略 4、暂停与恢复 3、daemonset 4、job 5、cronjob 前言: 上一章我们说到,pod有…

VScode添加右键运行、并设置每次运行前都清屏即去除之前的输出

一、添加右键运行 下载安装运行插件即可 二、运行前清屏 在运行插件中设置 找到Code-runner: Clear Previous Output,把√打上即可

【Linux Network】传输层协议——TCP

目录 TCP协议 TCP协议段格式 确认应答(ACK)机制 超时重传机制 连接管理机制 理解TIME_WAIT状态 解决TIME_WAIT状态引起的bind失败的方法 理解 CLOSE_WAIT 状态 滑动窗口 流量控制 拥塞控制 延迟应答 捎带应答 面向字节流 粘包问题 TCP异常情况 TCP小结 基于TCP应用层协议 TCP/U…

Pytroch nn.Unfold() 与 nn.Fold()图码详解

文章目录 Unfold()与Fold()的用途nn.Unfold()Unfold()与Fold() 变化模式图解 nn.Fold()单通道 滑动窗口无重叠模拟图片数据(b,3,9,9),通道数 C 为3,滑动窗口无重叠。单通道 滑动窗口有重叠。 卷积等价于:Unfold Matri…

【滤波专题-第7篇】“类EMD”算法分解后要怎样使用(3)——EMD降噪方法及MATLAB代码实现

使用EMD分解(以及其他“类EMD”分解方法,以下为了简便统称EMD)做信号降噪,是EMD的一个比较重要的应用方向。EMD可以将复杂的信号分解为一系列的固有模态函数(IMFs),每一个IMF都包含了信号的一部…

ChatGPT:2. 使用OpenAI创建自己的AI网站:1. 初探API

使用OpenAI创建自己的AI网站 如果你还是一个OpenAI的小白,有OpenAI的账号,但想调用OpenAI的API搞一些有意思的事,那么这一系列的教程将仔细的为你讲解如何使用OpenAI的API制作属于自己的AI网站。博主只能利用下班时间更新,进度慢…