现代密码学期末重点(备考ing)

现代密码学期末重点,个人备考笔记哦

    • 密码学概念
      • 四种密码学攻击方法
      • 什么是公钥密码?
      • 什么是对称密码?
      • 什么是无条件密码?
    • 中国剩余定理(必考)
      • 什么是原根
        • 什么是阶
    • 经典密码学
      • 密码体制
      • 什么是列置换?
    • 分组密码
    • 分组密码运行模式
      • ECB电码本模式
      • CBC密码分组链接模式
      • CFB密码反馈模式
      • OFB输出反馈模式
      • DES
        • DES弱密钥半弱密钥?
      • AES(了解)
        • 列混合?
        • 字节代换的作用:是扩散?是混淆?至少20字 (必考)
      • AES与DES扩散的区别?至少五条(必考)
    • 序列密码
      • 多级反馈移位寄存器(序列密码产生密钥流核心部件)
        • 课后作业(师兄说,老登出题的习惯就是偏重课后作业)
      • 线性反馈移位寄存器
        • 线性反馈移位寄存器的破译机制?(应该是做大题)
        • 课后题
      • 伪随机序列发生器怎么产生的?(老登提问)
    • 公钥密码学-RSA
      • RSA算法
        • 解密举例(熟悉公式)
      • RSA加密原理-给个值怎么做?
      • RSA安全机制(了解)未完善。。

密码学概念

在这里插入图片描述
密码技术:把可理解的消息变换成不可理解的消息,同时又可恢复原消息的方法和原理的一门科学或艺术,密码学技术可以使消息的内容对(除发送者和接受者外的)所有人保密

四种密码学攻击方法

唯密文攻击
条件:拥有密文、密码体制和密文信息的一般了解
目的:1.尽可能恢复明文 2.推算密钥破译其他加密消息
在这里插入图片描述

已知明文攻击
条件:许多密文,一些明文-密文对
目的:推算密钥->解密使用同一密钥的密文
在这里插入图片描述

选择明文攻击
条件:一定的明文-密文对,可使用特定明文加密->产生更多密钥信息
目的:推算密钥或算法(使用同一密钥的密文有通用性)
在这里插入图片描述
选择密文攻击
条件:密文和对应解密的明文
目的:密钥和其他密文
在这里插入图片描述

什么是公钥密码?

公钥密码学(也叫非对称加密)是一种使用**一对密钥(公钥和私钥)**进行加密和解密的加密方法。
公钥是公开的,任何人都可以使用它加密信息;而私钥是保密的,只有密钥的拥有者才能使用它解密信息。公钥和私钥是数学上配对的,公钥加密的信息只能用对应的私钥解密

什么是对称密码?

加解密都使用同一密钥

什么是无条件密码?

基于信息论的安全性加密方法,即其安全性不依赖于计算的复杂性或破解的难度,而是通过理论证明确保其无法被破解(计算资源再大也无法破解)
例如:

一次性密码本(One-TimePad,OTP):这是一种典型的无条件加密方法,使用一个与消息等长的随机密钥来加密消息。只要密钥是随机的、一次性使用,并且与消息长度相等,消息就无法被破解,具有无条件安全性

中国剩余定理(必考)

在这里插入图片描述
在这里插入图片描述

什么是原根

定义: 对于一个给定的数 n,如果存在一个数 g,使得通过不断地将 g 进行幂运算(即 g 的不同次方)后取模 n,可以生成所有与 n 互质的数(也就是与 n 没有共同因数的数)的集合,那么这个数 g 就被称为 n 的一个原根
应用于: Diffie-Hellman密钥交换 和 ElGamal加密
理解:求模n的原根?
找出一个数g,使得g的幂次方对n取模后的余数覆盖所有与n互素的数(与n互素只需要找齐比n小的那些即可)

例子:找出模 5 的原根首先,我们需要找出所有与5互质的数。由于5是质数,除了15本身,所有小于5的数都与5互质。因此,1234是与5互质的数。接下来,找一个数 g,使得通过不断计算 g 的幂并取模5,能够生成1234这四个数。尝试 g = 22¹ mod 5 = 2
2² mod 5 = 4
2³ mod 5 = 8 mod 5 = 3
2⁴ mod 5 = 16 mod 5 = 1
通过这个过程,我们得到的结果是2, 4, 3, 1。这覆盖了所有与5互质的数(1, 2, 3, 4),所以 25 的一个原根。再尝试 g = 33¹ mod 5 = 3
3² mod 5 = 9 mod 5 = 4
3³ mod 5 = 27 mod 5 = 2
3⁴ mod 5 = 81 mod 5 = 1
结果是3, 4, 2, 1,这也覆盖了所有与5互质的数。所以 3 也是 5 的一个原根
什么是阶

定义:对于一个给定的数 g 和模 n,g 的阶是最小的正整数 k,使得 gᵏ ≡ 1 mod n
解释:g 的阶是 g 被不断地乘以自己,直到结果在模 n 下等于 1 所需要的最小幂次 k
判断原根应用:如果一个数的阶等于 φ(n),那么这个数就是 n 的一个原根
在我们的例子中:
φ(5) = 4
2 的阶是 4,所以 2 是 5 的一个原根。
3 的阶是 4,所以 3 也是 5 的一个原根。
4 的阶是 2,不等于 φ(5),所以 4 不是 5 的原根

经典密码学

密码体制

密码体制是六元组
变换即置换
在这里插入图片描述

什么是列置换?

**列置换密码:**明文遵照密钥的规程按列换位并且按列读出序列得到密文
举例:列置换加密------变换即置换
将明文按行写入矩阵,按列读出矩阵
在这里插入图片描述
列置换解密:
在这里插入图片描述

分组密码

什么是分组密码
一种对称加密算法 分为多个固定大小块->同一密钥按块加密->分块组成密文
明文分成固定长度的块(通常为128位、64位等),分别对每个块进行加密处理。
每个分组(块)通过相同的密钥进行加密
最终得到的密文是这些分组加密后的结果

分组密码运行模式

分组密码只能处理固定长度的明文分组,而实际的明文长度通常无法整除分组长度,所以需要采用 分组密码工作模式 来处理更复杂的加密需求

ECB电码本模式

ECB(electronic codebook)最简单的运行模式,发送少量分组数据
1.一次对一个64比特长的明文分组加密,
2.每次的加密密钥都相同(因此明文分组相同则密文分组相同),如图4.10所示。
当密钥取定时,对明文的每一个分组,都有一个惟一的密文与之对应。
因此形象地说,可以认为有一个非常大的电码本,对任意一个可能的明文分组,电码本中都有一项对应于它的密文。

CBC密码分组链接模式

让重复明文分组产生不同的密文分组
原理:输入是当前明文分组和前一次密文分组的异或
解密也因此不同:每一个密文分组被解密后,再与前一个密文分组异或得出真正的明文分组
前后关联的链接式加密缺陷:错误传播–某处加密错误后续解密皆错,但解密时仍只有该处出错
适用:
长度大于64比特的消息、用户鉴别

CFB密码反馈模式

原理:加密过程转化为一种流加密模式->前一个密文块的一部分与当前的明文进行异或来加密数据。反馈机制逐步加密数据流而非一次性加密
加解密对称(即加密解密过程相同)
特点:
1.流加密:按字节进行加密(非块),适合比特或字节形式的数据
2.误差传播

OFB输出反馈模式

消息作为比特流
分组加密的输出与被加密的消息相加
比特差错不容易传播

DES

 明文和密文分组长度为64比特
 算法包含两部分:迭代加解密密钥编排
 Feistel结构(加解密相似):加密和解密除密钥编排(即密钥自己顺序不同)不同外, 完全相同
(思考:1 为什么解密函数不是逆函数?(因为密钥子集是反向的)2 为什么不用逆函数来解密(解密操作可以使用加密的相同结构,只是需要倒序应用密钥子集))
 密钥长度:56比特(DES的密钥空间:2^{56}),每7比特后为一个奇偶校验位(第8位),共64比特
 轮函数采用混乱和扩散的组合,共16轮(轮次写16,包考的)

在这里插入图片描述

DES弱密钥半弱密钥?

必考:弱密钥4个,半弱密钥12个
弱密钥:
EK(m)=Dk(m), 有4个
半弱密钥:
K1不等于K2, 但Ek1(m)=Ek2(m).
至少有12个半弱密钥。
弱密钥:
若密钥 k 使得 加密函数与解密函数一致:Dk§=Ek§对所有明文P成立,即为弱密钥。
解释:明文P+弱密钥k加密=密文Q,则Q+弱密钥k加密=明文P
半弱密钥(成对出现):
存在一对密钥 𝐾1和 𝐾2 ,使得当一个密钥用于加密时,另一个密钥用于解密,会导致加密和解密结果相同。

重点例子,课堂要求:弄清楚16轮中每一轮的明文与明文是什么(鄙人觉得大概率不会考这么复杂)

在这里插入图片描述
IP置换表,初始置换对照下表进行输出。即按照明文第58bit、50bit、42bit的顺序进行输出,该序输出即为置换后的明文
在这里插入图片描述

AES(了解)

老登暗示:AES处理单元为字节,DES处理基本单元为bit

前n-1轮的四个变换组:
字节代换->行移位->列混合->行密钥加

Rijindael(该算法确定为AES标准)特点(作为补充)

  1. 不属于Feistel结构
  2. 加密、解密相似但不对称
  3. 分组长度灵活:支持128/32=Nb数据块大小
  4. 密钥长度灵活:支持128/192/256(/32=Nk)密钥长度
  5. 有较好的数学理论作为基础
  6. 结构简单、速度快
  7. Rijndael的操作简单,并可抵御时间和能量攻击,
  8. 它还有许多未被特别强调的防御性能;
  9. Rijndael内在迭代结构显示良好潜能来防御入侵行为。

概念要熟知

在这里插入图片描述

列混合?

老登布置过作业 ,解答过程太长,暂时赌他不考
学习这个B站视频

字节代换的作用:是扩散?是混淆?至少20字 (必考)

该题由老登上课暗示
答案(GPT给出):是混淆作用,字节代换通过使用S盒进行非线性替换,打乱了明文的比特位模式,增强了密码的安全性。
解释:字节代换是通过非线性替换操作(使用S盒)将每个字节替换为另一个字节,从而改变了明文的每个比特位。这种替换操作使得密文与明文之间的关系变得更加复杂,无法直接从密文推断出明文。通过这一过程,原始数据中的模式被打乱,增加了密码系统的复杂性和安全性

AES与DES扩散的区别?至少五条(必考)

该问题由老师上课暗示,极大概率考
AES与DES扩散的区别:(答案暂由GPT生成)
扩散机制:
DES:通过Feistel结构,采用置换和异或操作进行扩散。
AES:通过替代-置换网络(SPN)结构,采用字节替代和列混淆操作进行扩散。
扩散速度:
DES:扩散较慢,需要16轮才能充分扩散。
AES:每轮加密就产生较强的扩散。
扩散范围:
DES:每轮扩散仅影响数据块的一部分。
AES:每轮扩散整个数据块,扩散更广泛。
轮数与扩散强度:
DES:16轮加密才达到较好的扩散效果。
AES:更少的轮数(10、12、14轮)即可实现强扩散。
数学操作:
DES:依赖于S盒和P置换,扩散效果较为简单。
AES:通过字节替代和列混淆的复杂操作实现强扩散。

序列密码

概念:对称加密算法,它通过生成一个伪随机密钥流(Keystream),将该密钥流逐位或逐字节地与明文进行加密(通常使用异或操作 XOR),生成密文

在这里插入图片描述
主要特点:

  1. 逐位/逐字节加密:
    序列密码按位或按字节处理数据,因此适合实时加密(如音频、视频流)。
  2. 伪随机密钥流:通过初始密钥和随机初始化向量(IV)生成一个伪随机的密钥流,该密钥流长度与明文相同
  3. 对称加密:
    加密和解密使用相同的密钥流:密文=明文⊕密钥流
    解密时:明文=密文⊕密钥流
  4. 高效性:
    由于只涉及异或操作,计算复杂度较低,适合高速数据加密

多级反馈移位寄存器(序列密码产生密钥流核心部件)

在这里插入图片描述

课后作业(师兄说,老登出题的习惯就是偏重课后作业)

在这里插入图片描述

线性反馈移位寄存器

当移位寄存器反馈函数为a1、a2、、、an的线性函数时,称之为线性反馈移位寄存器
如:f(a1,a2,…,an)= cna1 + cn-1a2 + … +c1an(其中常数ci=0或1,+是模2加法)
在这里插入图片描述
m序列的概念:
只要选择合适的反馈函数便可使序列的周期达到最大值2n-1,周期达到最大值的序列称为m序列
注意:线性反馈移位寄存器与特征多项式是一一对应的。即线性反馈移位寄存器与特征多项式可互推

线性反馈移位寄存器的破译机制?(应该是做大题)
  1. 已知序列分析法
    获取一段足够长的LFSR输出序列(称为已知序列),可以利用LFSR的线性特性恢复其反馈多项式和初始状态
    只需要已知序列的长度 ≥2n,即可完全恢复LFSR
  2. 贝鲁克姆普-马西算法(Berlekamp-Massey Algorithm)
  3. 穷举法
    如果LFSR的寄存器长度 𝑛较小,攻击者可以通过穷举所有可能的初始状态反馈多项式进行暴力破解
课后题

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
该类题目求解见B站视频

伪随机序列发生器怎么产生的?(老登提问)

什么是伪随机序列?
**概念:**如上所提,m序列的周期很长,但是仍然具有周期性。所以不可能是完全随机的(只能要求比周期短的一段泄露时不会泄露更多信息),因此称此序列为伪随机序列。
伪随机序列应满足的条件:
① {ai}的周期相当大。
② {ai}的确定在计算上是容易的。
③ 由密文及相应的明文的部分信息,不能确定整个{ai}。

伪随机序列发生器包括以下结构或算法:

  1. 线性反馈移位寄存器(LFSR)
  2. 非线性反馈移位寄存器NLFSR(非线性函数或者多个LFSR组合)
  3. 基于密码学安全的生成器: 如基于分组密码的AES、DES
  4. 以及上述各方法的组合

伪随机序列发生器的破译

  1. 已知明文攻击
    已知一部分明文和对应的密文,密钥流=密文⊕明文
  2. 相关密钥攻击
    若生成器对类似密钥生成的密钥流有明显的模式或相关性,可分析类似密钥流破译密钥
  3. 状态恢复攻击
    恢复伪随机序列发生器的内部状态(如LFSR的内容)

公钥密码学-RSA

RSA算法安全性依赖于一个事实:将两个大素数相乘十分容易,但对其进行整数分解却极为困难

RSA算法

学习这个视频
在这里插入图片描述

解密举例(熟悉公式)

在这里插入图片描述

RSA加密原理-给个值怎么做?


在这里插入图片描述

RSA安全机制(了解)未完善。。

1) 分解模数n:若模数n = pq被分解,则RSA被攻破
因为若p, q已知,则即可计算
φ(n) = (p – 1)(q – 1)。
再根据关系: ed ≡ 1mod φ(n),即d是e的逆元。
从公开的公钥e求出私钥d,即可解密。
因此,理论上,RSA安全性依赖于整数分解的困难性
2)若从**求φ(n)**入手对RSA进行攻击,它的难度和分解n相当。
已知φ(n)可求秘密素数p、q
在这里插入图片描述

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

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

相关文章

HarmonyOS:@Builder装饰器:自定义构建函数

一、前言 ArkUI提供了一种轻量的UI元素复用机制Builder,其内部UI结构固定,仅与使用方进行数据传递,开发者可以将重复使用的UI元素抽象成一个方法,在build方法里调用。 为了简化语言,我们将Builder装饰的函数也称为“自…

VISRAG论文介绍:一种直接的视觉RAG

今天给大家介绍一篇论文,VISRAG: VISION-BASED RETRIEVAL-AUGMENTED GENERATION ON MULTI-MODALITY DOCUMENTS [pdf],一种直接的视觉RAG。 Source(来源):ICLR2025 Summary: (文献方向归纳 )多模态RAG Mot…

在 .Net 8.0 中使用 AJAX 在 ASP.NET Core MVC 中上传文件

上传文件是现代 Web 应用程序中的常见要求。在 ASP.NET Core MVC 中,高效处理文件上传可以提高应用程序的可用性和性能。在本文中,我们将探讨如何使用 AJAX 在 ASP.NET Core MVC 应用程序中实现文件上传,通过允许文件上传而无需刷新整个页面&…

简单的spring boot tomcat版本升级

简单的spring boot tomcat版本升级 1. 需求 我们使用的springboot版本为2.3.8.RELEASE,对应的tomcat版本为9.0.41,公司tomcat对应版本发现攻击者可发送不完整的POST请求触发错误响应,从而可能导致获取其他用户先前请求的数据,造…

linux系统(ubuntu,uos等)连接鸿蒙next(mate60)设备

以前在linux上是用adb连接,现在升级 到了鸿蒙next,adb就不好用了。得用Hdc来了,在windows上安装了hisuit用的好好的,但是到了linux(ubuntu2204)下载安装了 下载中心 | 华为开发者联盟-HarmonyOS开发者官网,共建鸿蒙生…

C++:位与运算符

& 一,位与运算符的运算规则 有0则0。 二,判断奇偶性 %:优先级高,效率低 &:优先级低,效率高 数与1的位与运算结果为1则为奇数,结果为0则为偶数 三,获取一个数二进制的后…

(已开源-AAAI25) RCTrans:雷达相机融合3D目标检测模型

在雷达相机融合三维目标检测中,雷达点云稀疏、噪声较大,在相机雷达融合过程中提出了很多挑战。为了解决这个问题,我们引入了一种新的基于query的检测方法 Radar-Camera Transformer (RCTrans)。具体来说: 首先设计了一个雷达稠密…

如何利用PHP爬虫按关键字搜索淘宝商品

在当今的电商时代,获取淘宝商品信息对于市场研究、价格监控和竞争分析等方面具有重要意义。手动搜索和整理大量商品信息不仅耗时耗力,而且容易出错。幸运的是,PHP爬虫技术为我们提供了一种高效、自动化的方式来按关键字搜索淘宝商品。本文将详…

【数据可视化-11】全国大学数据可视化分析

🧑 博主简介:曾任某智慧城市类企业算法总监,目前在美国市场的物流公司从事高级算法工程师一职,深耕人工智能领域,精通python数据挖掘、可视化、机器学习等,发表过AI相关的专利并多次在AI类比赛中获奖。CSDN…

ceph集群配置

4台机器 高度可扩展,分布式的存储文件系统,旨在提供高性能,高可靠性和高可用的对象存储,块存储,文件系统的存储。 使用分布式的算法保证数据的高可用和一致性。 ceph的架构: 1、ceph minitor MON&…

winform中使用panuon开源UI库的问题

在 WinForms 中使用 Panuon UI 是一种提高应用程序用户界面美观和交互性的方式。Panuon UI 是一个用于 .NET 应用程序的现代化 UI 库,它提供了一些非常好看的控件,能够让 WinForms 应用程序看起来更现代。 But------------------------------------&…

【Uniapp-Vue3】swiper滑块视图容器的用法

我们使用swiper标签就可以实现轮播图的效果。 一、swiper组件的结构 整体的轮播图使用swiper标签&#xff0c;轮播的每一页使用swiper-item标签。 <template><swiper class"swiper"><swiper-item><view class"swiper-item">111…

Which CAM is Better for Extracting Geographic Objects? A Perspective From参考文献

参考文献列表 [1] E. Shelhamer, J. Long, and T. Darrell, “Fully convolutional networks for semantic segmentation,” in Proc. Comput. Vis. Pattern Recognit., Jun. 2015, pp. 3431–3440. 中文翻译&#xff1a;[1] 谢尔哈默, E., 龙, J., & 达雷尔, T. (2015).…

【C++项目实战】类和对象入门实践:日期类实现万字详解

&#x1f493; 博客主页&#xff1a;倔强的石头的CSDN主页 &#x1f4dd;Gitee主页&#xff1a;倔强的石头的gitee主页 ⏩ 文章专栏&#xff1a;《C项目实战》 期待您的关注 ​ 目录 引言 介绍 一、类的设计 二、成员函数的实现 &#x1f343;构造函数、析构函数、拷贝构造…

基于32单片机的智能语音家居

一、主要功能介绍 以STM32F103C8T6单片机为控制核心&#xff0c;设计一款智能远程家电控制系统&#xff0c;该系统能实现如下功能&#xff1a; 1、可通过语音命令控制照明灯、空调、加热器、窗户及窗帘的开关&#xff1b; 2、可通过手机显示和控制照明灯、空调、窗户及窗帘的开…

hot100_54. 螺旋矩阵

hot100_54. 螺旋矩阵 给你一个 m 行 n 列的矩阵 matrix &#xff0c;请按照 顺时针螺旋顺序 &#xff0c;返回矩阵中的所有元素。 示例 1&#xff1a; 输入&#xff1a;matrix [[1,2,3],[4,5,6],[7,8,9]] 输出&#xff1a;[1,2,3,6,9,8,7,4,5] 示例 2&#xff1a; 输入&am…

HTML5实现好看的博客网站、通用大作业网页模板源码

HTML5实现好看的博客网站、通用大作业网页模板源码 前言一、设计来源1.1 主界面1.2 列表界面1.3 文章界面 二、效果和源码2.1 动态效果2.2 源代码 源码下载结束语 HTML5实现好看的博客网站、通用大作业网页模板源码&#xff0c;博客网站源码&#xff0c;HTML模板源码&#xff0…

移动硬盘无法访问:全面解析、恢复方案与预防策略

描述移动硬盘无法访问现象 在日常的数据存储和传输过程中&#xff0c;移动硬盘无疑扮演着举足轻重的角色。然而&#xff0c;当移动硬盘突然无法访问时&#xff0c;这无疑给用户带来了巨大的困扰。想象一下&#xff0c;你急需从移动硬盘中调取一份重要文件&#xff0c;但系统却…

1-markdown转网页样式页面 --[制作网页模板] 【测试代码下载】

markdown转网页 将Markdown转换为带有样式的网页页面通常涉及以下几个步骤&#xff1a;首先&#xff0c;需要使用Markdown解析器将Markdown文本转换为HTML&#xff1b;其次&#xff0c;应用CSS样式来美化HTML内容。此外&#xff0c;还可以加入JavaScript以增加交互性。下面我将…

基于Centos 7系统的安全加固方案

创作不易&#xff0c;麻烦点个免费的赞和关注吧&#xff01; 声明&#xff01; 免责声明&#xff1a;本教程作者及相关参与人员对于任何直接或间接使用本教程内容而导致的任何形式的损失或损害&#xff0c;包括但不限于数据丢失、系统损坏、个人隐私泄露或经济损失等&#xf…