对称加密 和 非对称加密

news2024/9/29 13:32:58

对称加密 和 非对称加密

文章目录

  • 对称加密 和 非对称加密
    • `对称解密——异或运算`
    • `非对称解密——RSA算法`
      • `问题`
      • `RSA算法`
      • `社会地位`
      • `缺点`
    • `PS:RSA算法的攻击方式`
  • `如果对你有帮助,就点赞收藏把!(。・ω・。)ノ♡`


在这里插入图片描述


对称解密——异或运算

异或(xor),顾名思义,是一种基于异或运算的加密算法。
异或加密是密码学中一种简单的加密算法,常作为更为复杂的加密算法的组成部分。

原理:
两个值不相同,则异或结果为1;两个值相同,异或结果为0。
所以根据异或的运算规则,在二进制中,相同为0,不同为1。

特性:
异或运算具有可逆性。
如:若 a xor b = c,则 c xor b = a

由此可知
如果a为需要加密的明文
b为规定的密钥
则将明文a与密钥b进行异或运算加密得到密文c
此时对方需要对密文c进行解密
只要得到密钥b
然后将密文c与密钥b进行异或运算加密就可以得到明文a。


非对称解密——RSA算法

问题

由于对称加密的加密和解密使用同样规则(简称"密钥")
这种加密模式有一个最大弱点:甲方必须把加密规则告诉乙方,否则无法解密。
保存和传递密钥,就成了最头疼的问题。

RSA算法

为了解决这个问题,就有了一种新的加密模式被称为"非对称加密算法"。
(1)乙方生成两把密钥(公钥和私钥)。公钥是公开的,任何人都可以获得,私钥则是保密的。
(2)甲方获取乙方的公钥,然后用它对信息加密。
(3)乙方得到加密后的信息,用私钥解密。
如果公钥加密的信息只有私钥解得开,那么只要私钥不泄漏,通信就是安全的。

RSA算法作为当前最成熟且广泛应用的公钥加密体系
RSA算法解决了传统对称密码体系中密钥分发的难题,
并且能够有效地进行数字签名,确保信息的不可否认性,有效抵御非法篡改,从而保障了数据传输的完整性。

在这里插入图片描述

社会地位

毫不夸张地说,RSA算法几乎遍布所有计算机网络之中。这种算法因其坚固的防线而备受信赖——密钥越长,其防御越是坚不可摧。据公开资料显示,迄今为止,已被攻破的RSA密钥长度纪录为768位。据此推断,1024位的RSA密钥可被视为相对安全,而2048位的密钥则堪称固若金汤,至今尚无人能撼动其安全壁垒。


缺点

速度慢:与对称密码体制相比,其加/解密过程相对缓慢,更适合处理小规模数据
资源消耗大:加解密运算过程的复杂性和密钥长度的增加,导致计算机资源的使用率很高。
私钥丢失将不可挽回:私钥的独特性意味着一旦遗失,将无法恢复,且无法从发送者那里获取私钥。
密钥位数较多:同等安全强度下,非对称体系所需的密钥位数更多。
数据量变大:加密后的数据往往比原始文本更长


PS:RSA算法的攻击方式

1.穷举攻击:这种方法尝试遍历所有可能的私钥组合,以期找到正确的密钥;

2.数学攻击:这类方法的核心在于尝试分解两个大素数的乘积
其中包括试除分解法、连分数分解法、 p − 1 p-1 p1分解法、 p + 1 p+1 p+1分解法、二次筛选分解法、椭圆曲线分解法以及代数域筛选分解法等多种策略;

3.计时攻击:此类攻击依赖于解密过程的执行时间差异;

4.基于硬件故障的攻击:利用处理器在签名过程中的异常行为;

5.选择密文攻击:针对RSA算法特性进行的针对性攻击;

6.共模攻击:由于目前生成大素数的速度还是比较慢的,造成有的人为了加快算法速度而选择同样的大素数,也就是相同的模数,只是选择不同的密钥。这样做虽然加快了速度,但也给RSA算法带来了安全隐患。

用数学方法攻击RSA的途径有以下三种:
1.分解n为两个素因子。这样就可以计算出 φ ( n ) = ( p − 1 ) ( q − 1 ) φ(n)=(p-1)(q-1) φ(n)=(p1)(q1) ,从而可以确定 d d d
2.直接确定 φ ( N ) φ(N) φ(N)而不先确定 p p p q q q。这样同样也可以确定d
3.直接确定 d d d,而不先确定 φ ( N ) φ(N) φ(N)


┈┈┈┈▕▔╲┈┈┈┈┈┈┈ ┈┈┈┈▕▔╲┈┈┈┈┈┈┈ ┈┈┈┈▕▔╲┈┈┈┈┈┈┈┈
┈┈┈┈┈▏▕┈┈┈┈┈┈┈ ┈┈┈┈┈▏▕┈┈┈┈┈┈┈ ┈┈┈┈┈▏▕┈┈┈┈┈┈┈ ┈
┈┈┈┈┈▏ ▕▂▂▂▂▂┈┈┈┈┈┈┈▏ ▕▂▂▂▂▂┈┈┈┈┈┈┈▏ ▕▂▂▂▂▂┈┈┈
▂▂▂▂╱┈┈▕▂▂▂▂▏┈ ▂▂▂▂╱┈┈▕▂▂▂▂▏┈ ▂▂▂▂╱┈┈▕▂▂▂▂▏┈┈
▉▉▉┈┈┈┈▕▂▂▂▂▏ ┈ ▉▉▉┈┈┈┈▕▂▂▂▂▏ ┈ ▉▉▉┈┈┈┈▕▂▂▂▂▏ ┈
▉▉▉┈┈┈┈▕▂▂▂▂▏ ┈ ▉▉▉┈┈┈┈▕▂▂▂▂▏ ┈ ▉▉▉┈┈┈┈▕▂▂▂▂▏ ┈
▔▔▔▔╲▂▂▕▂▂▂▂▏┈ ▔▔▔▔╲▂▂▕▂▂▂▂▏┈ ▔▔▔▔╲▂▂▕▂▂▂▂▏┈┈

如果对你有帮助,就点赞收藏把!(。・ω・。)ノ♡

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

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

相关文章

支持10K长视频理解的多模态大模型MovieChat(CVPR 2024)

MovieChat: From Dense Token to Sparse Memory for Long Video Understanding 论文信息 paper:CVPR 2024 code:https://rese1f.github.io/MovieChat/ 视觉模型大语言模型:首个支持10K帧长视频理解任务的新型框架(推荐这篇公众号…

小程序开发全攻略:从零到上线的实战历程

引言 在当今的数字化时代,小程序凭借其轻便、快捷的特点,成为了连接用户与服务的桥梁。作为一名开发者,你可能正考虑踏入小程序开发的领域,但面对纷繁复杂的开发流程和技术要点,或许会感到无从下手。今天,我…

C 语言文件操作详解

目录 引言 一、基本概念 1.什么是文件 2.文件的属性 3.为什么使用文件 4.二进制文件和文本文件 二、文件的打开和关闭 1.流和标准流 2.文件指针 3.文件的打开和关闭 三、⽂件的顺序读写 1.顺序读写函数 2.详细介绍 1.fgetc 2.fputc 3.fgets 4.fputs 5.fscan…

统计:多变量时间序列分析 — VMA、VAR、VARMA

统计:多变量时间序列分析 — VMA、VAR、VARMA 一、说明 多变量时间序列是一个在大学课堂上经常被忽视的话题。然而,真实世界的数据通常具有多个维度,我们需要多变量时间序列分析技术。在这篇博客中,我们将通过可视化和 Python 实现…

【GLM-4开发实战】Function Call进阶实战:外部函数调用回顾

系列篇章💥 No.文章1【GLM-4开发实战】Function Call进阶实战:外部函数调用回顾2【GLM-4开发实战】Function Call进阶实战:常见挑战之意图识别处理3【GLM-4开发实战】Function Call进阶实战:常见挑战之海量函数处理4【GLM-4开发实…

【STM32】GPIO和AFIO标准库使用框架

本篇博客重点在于标准库函数的理解与使用,搭建一个框架便于快速开发 目录 GPIO简介 GPIO时钟使能 GPIO初始化 工作模式 选择引脚 输出速度 函数应用 GPIO初始化框架 8个电平读写函数 写端口电平 读端口电平 GPIO框架汇总 AFIO简介 AFIO时钟使能 函数应…

【Material-UI】深入理解useAutocomplete Hook:自定义与高级用法

文章目录 一、什么是useAutocomplete?导入useAutocomplete 二、基本用法代码解析 三、高级定制1. 自定义选项渲染2. 分组和排序3. 自定义输入框行为4. 与其他组件集成 四、注意事项1. 类型安全2. 性能优化 五、总结 Material-UI提供了强大的Autocomplete组件&#x…

Stable Diffusion绘画 | 图生图-基础使用介绍—重绘幅度与缩放模式

重绘幅度 重绘幅度越大,出图与原图差异越大。 重绘幅度0.7 重绘幅度0.3 缩放模式 目前有以下四种缩放模式: 原图的宽高是1080x1440,当修改宽高,与原图不一致时,可选择其中一种缩放模式来处理图片。 仅调整大小 缩放…

C++入门基础(上篇)

C入门基础(上篇) hello everybody!经历了C语言和初阶数据结构的头脑风暴,相信大家对于编程的学习更加开心,所以说接下来我们将迎来C的学习与探索,话不多说让我们开始吧 namespace的价值 在C/C中,变量、函…

计算机毕业设计选题推荐-自习室座位预约系统-Java/Python项目实战

✨作者主页:IT毕设梦工厂✨ 个人简介:曾从事计算机专业培训教学,擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Py…

GD32 MCU硬件I2C不可靠不如软件I2C?

在一个评论中,看到网友对硬件I2C的讨论,硬件I2C Busy找不到原因、软件I2C稳得一批。 那么为什么会出现I2C BUSY?硬件I2C真的不如软件I2C吗?怎么让硬件I2C也稳得一批,让我们来一探究竟。 首先我们从I2C时序分析下I2C总…

基于pytorch的steam游戏评分的线性回归问题分析

前言 相信已经暑假一个月的大家肯定并不陌生上面这个学习软件(),面对琳琅满目的游戏总是让人不知道挑选什么,这时候一个游戏的评分往往便成为了一个玩家选择下载的原因,那么今天我们就来研究研究,steam上一个游戏的种种数据&…

Celery注册装饰器@app.task和@shared_task

注册装饰器 app.task和shared_task是Celery中用于定义任务的两种不同装饰器, 它们之间存在明显的区别.from celery import Celery app Celery(my_app, brokeramqp://guestlocalhost//) app.task def my_task(): # 任务逻辑 passfrom celery import shared_task shared…

数据结构——双链表详解(超详细)

前言: 小编在之前已经写过单链表的创建了,接下来要开始双链表的讲解了,双链表比单链表要复杂一些,不过确实要比单链表更好进行实现!下面紧跟小编的步伐,开启今天的双链表之旅! 目录 1.概念和结构…

Pixart LED调变开发笔记

Pixart提供基础的鼠标和键盘代码, 开发者可以基于此快速的建置自己的firmware, application, 以下介绍代码中用来控制LED的API函式. 常亮模式 (Always on) 常亮模式, 调用API "pwm_led_set_always_on" 及 channel 来设置对应LED常亮. 闪烁模式 (Flash mode) 闪烁模…

华为OD机试 - 字符串编码校验(Java 2024 D卷 100分)

华为OD机试 2024D卷题库疯狂收录中,刷题点这里 专栏导读 本专栏收录于《华为OD机试(JAVA)真题(D卷C卷A卷B卷)》。 刷的越多,抽中的概率越大,私信哪吒,备注华为OD,加入华…

Unity3D 物体圆周运动

Unity3D 实现一个 2D 物体沿着圆周进行运动。 物体圆周运动 前段时间在开发一个小游戏时,需要实现火箭沿着一个圆形轨道进行圆周运动。 以前面试的时候也被问到过这类问题(如何让一个 2D 物体做圆周运动),所以还是记录一下实现…

ICML 2024 | 矛与盾的较量!北大提出提示无关数据防御保护算法PID

文章链接:https://arxiv.org/pdf/2406.15305 代码地址:https://github.com/PKU-ML/Diffusion-PID-Protection 亮点直击 本文在实证观察中发现,保护阶段和利用阶段之间的提示不匹配可能会削弱当前数据保护算法的有效性。本文深入探讨了利用LDM…

【机器学习第7章——贝叶斯分类器】

机器学习第7章——贝叶斯分类器 7.贝叶斯分类器7.1贝叶斯决策论7.2 朴素贝叶斯分类器条件概率的m估计 7.3 极大似然估计优点基本原理 7.4 贝叶斯网络7.5 半朴素贝叶斯分类器7.6 EM算法7.7 EM算法实现 7.贝叶斯分类器 7.1贝叶斯决策论 一个医疗判断问题 有两个可选的假设&#…