2025/1/4期末复习 密码学 按老师指点大纲复习

我们都要坚信,道路越是曲折,前途越是光明。

---------------------------------------------------------------------------------------------------------------------------------

现代密码学 第五版 杨波

第一章  引言

1.1三大主动攻击

1.中断

2.篡改

3.伪造

1.2 五大安全业务

1.保密业务

2.认证业务

3.完整性业务

4.不可否认业务

5.访问控制

1.3 安全的网络通信考虑四个方面

1.加密算法

2.用于加密算法的秘密信息

3.秘密信息的分布和共享

4.使用加密算法和秘密信息以获得安全服务所需的协议

1.4 信息安全包括三个层次

1.系统安全(数据库、操作系统)

2.数据安全(数据的存储、传输)

3.内容安全(病毒的防护、不良内容的过滤)

1.5 保密通信系统构成

明文消息空间M、密文消息空间C、密钥空间K1和K2,在单钥体制下K1=K2=K,此时密钥K需经安全的密钥信道由发送方传给接收方,加密变换E(K1):M---->C,由加密器完成,解密变换D(K2):C----->M由解密器实现。总体(M,C,K1,K2,E,D)为保密通信系统。

1.6 保密通信系统应该满足的要求

1)系统即达不到理论上是不可破的,也就是说,从截获的密文或已知的明文,去决定密钥在计算上是不可行的。

2)系统的保密性不依赖于对加密体制或算法的保密,而依赖于密钥。

3)加密算法和解密算法适用于密钥空间中的所有元素。

4)系统便于实现和使用。

1.7 单钥体制对明文加密的两种方式

1)明文消息按字符逐位加密,称为流密码

2)明文消息分组(含多个字符),逐组地进行加密,称为分组密码。

单钥体制不仅可以用于数据加密,也可用于消息认证

1.8 对密码系统的攻击类型

唯密文攻击

已知明文攻击

选择明文攻击

选择密文攻击

1.9 几种古典密码

1.9.1 恺撒密码(填空题)

公式:

加密:c=E3(m)=m+3    ,0<=m<=25

解密:m=D3(c)=c-3        ,0<=c<=25

1.9.2 移位变换(凯撒密码的推广)

公式的写法只不过将密钥写成了K

c=Ek(m)=m+k     ,0<=m,k<=25

m=Dk(c)=c-k      ,0<=c,k<=25

1.9.3 仿射变换(大题出现,十分左右)

相比前面的公式出现了两个密钥

c=Ea,b(m)=am+b(mod26) 

m=Da,b(c)=a的逆运算(c-b)(mod26)

求乘法逆元,简单的我们很快就能出结果,但是稍微数值大的,还是需要掌握欧几里得去计算乘法逆元。这里我私下问豆包进行了练习。乘法结合律小学数学不过关呜呜呜。

但是我找到了一个规律就是余数是几,就消除几。我们可以拼拼凑凑。去有意消除某一个余数。

书上的两道习题可以巩固我们对仿射加密算法的理解,P11

设仿射变换的加密是:

E11,23(m)=11m+23(mod26)

对明文THE NATIONAL SECURITY AGENCY加密,并使用解密变换

解密变换使用公式:

D11,23(c)=11^-1(c-23)(mod26)

首先求出乘法逆元

11^-1mod26

11在模26下的乘法逆元为为19,计算过程不再赘述。

要强调的是c-23为负数时,先正常计算乘法,最后把得到的负数结果通过加上合适的模数倍数,转化为到之间的非负整数,也就是模运算的标准结果。

比如m为12,加密结果应该是k

k为10,10-23=-13

-13*19/26=9....13那么余数是13,即为n

第二章 流密码

2.1 流密码的基本概念

流密码的基本思想是利用密钥k产生一个密钥流z=z0z1...,并使用如下规则对明文串x=x0x1x2...进行加密:y=y0y1y2...=Ez0(x0)Ez1(x1)Ez2(x2).......

这里 Ez0(x0) 代表使用密钥流中的第 0 个元素 z0 对明文的第 0 个元素 x0 执行加密变换。

第三章 分组密码体制

3.1.什么叫分组密码?

分组密码是将明文消息编码表示后的数字序列,x0,x1,xi...划分成长n的组x=(x0,x1......xn-1),各组(长为n的矢量)分别在密钥k=(k0,k1,ki-1)控制下变换成等长的输出数字序列y=(y0,y1...ym-1),其加密函数E:Vn*K---->Vm,Vn和Vm是n维和m维矢量空间,k为密钥空间。

3.2 分组密码设计算法应该满足什么要求? P书本33

1)分组长度n要足够大

2)密钥量要足够大,但密钥又不能过长

3)密钥确定置换的算法要足够复杂

4)加密和解密运算要简单

5)数据扩展尽可能小

6)差错传播尽可能小

3.3 为什么DES不安全?

答:密钥长度短,DES 使用 56 位的密钥长度,在计算能力飞速发展的当下,通过穷举密钥进行暴力破解的难度已经大幅降低。(就是老师说的的穷苦攻击)

(谈二重DES,三重DES)

  二重 DES:使用了两个密钥, 但实际上,存在一种中间相遇攻击法。安全性和普通的DES差不多。

  三重DES运算速度相对较慢,但是在 AES 正式广泛推行前,三重 DES 是一种被广泛认可且应用的对称加密标准。

  

3.4 为什么现在还要使用DES(好处谈一谈)

DES 加密算法虽然安全性有所欠缺,但在加解密速度与层级特性上,仍有值得一提的优势:

  • 加解密速度快
    • 运算逻辑简单:DES 的加密和解密过程基于固定的置换、代换操作,并且按轮次依次开展。每一轮内部的变换都是预先定义好的简单位运算,像是异或、移位、替换等基础操作,现代处理器能够极为高效地执行这类底层指令,无需复杂的浮点运算或高耗时的矩阵操作,使得单次加密或解密的运算速度非常可观。
    • 成熟优化:作为问世多年的经典算法,DES 积累了海量的优化经验与代码实现范例。无论是软件层面,程序员们通过汇编语言、C 语言对关键运算步骤精细调优;还是硬件层面,芯片厂商将 DES 运算模块集成进专用电路,都使得 DES 在实际应用场景下,能实现高速的加解密吞吐,快速处理输入数据。
  • 层级不高
    • 易于集成:相较于一些新兴的高级加密算法,DES 层级架构简单。它没有多层嵌套的复杂加密模式,对于很多小型设备、简易系统而言,这种低层级加密方案更容易嵌入。举例来说,智能家居里的一些基础传感器,只需简单几步就能把 DES 加密模块整合进其有限的固件当中,不涉及复杂的架构适配与多层加密协同难题。
    • 便于理解与维护:低层级意味着其加密原理清晰直白,技术人员不需要深厚的密码学专业知识储备,就能明白 DES 的加密、解密流程走向。当出现问题或者需要对加密过程微调时,运维、开发人员能够快速定位故障、做出调整,降低了运维成本与系统的故障风险。

3.5 混淆和扩散     P34

答:扩散和混淆是由Shannon提出的设计密码系统的两个基本方法,目的是抗击敌手对密码系统的统计分析。

扩散的目的是使明文和密文之间的统计关系尽可能复杂,使敌手无法得到密钥。混淆是使密钥和密文关系尽可能复杂,使敌手无法得到密钥。

扩散和混淆成功实现了分组密码的本质特性,因而成为设计现代分组密码的基础。

3.6 S盒的输入输出模式    P42

答:具体原理我没懂。我只能用自己的话说了。

在 DES(数据加密标准)算法中,S 盒是极为关键的组件

输入 6 位二进制数据。将这6位二进制数据放入S盒中处理一次就得到四位二进制数,一共处理8次,经过内部查表后,输出32位的二进制数。

3.7 分组密码的4种模式                p47

电码本模式

密码分组链接模式

密码反馈模式

输出反馈模式

3.8 IDEA 通过哪两种来实现算法

可以非常方便的通过软件和硬件实现

1.软件:采用16比特子段处理,可通过使用容易编程的加法、移位等运算实现算法的三个运算

2.硬件:由于加解密相似,差别仅为使用密钥的方式,因此可以使用同一器件实现。

3.9  AES算法        P59

它的设计策略是宽轨迹策略,是针对差分分析和线性分析提出的,它最大的优点是可以给出算法的最佳差分特征的概率及最佳线性逼近的偏差的界,因此,可以分析算法抵抗差分密码分析及线性密码的分析能力。

多项式的表示 :填空题出现

四位二进制代表一个十六进制数。

比如57就是 5和7

0101 0111

最后应该表示为 x+x^2+x^4+x^6+1

57+83=D4

记住我们是需要把十进制拆成两位数,去表示十六进制的

也就是5和7,8和3

0101 0111       1000 0011

x+x^2+x^4+x^6+1+(x^7+x+1)=x^7+x^6+x^4+x^2

结果我们会发现常数项被约掉了,这是因为在有限域 GF (2) 当中,系数只有 0 和 1,做加法遵循异或规则。

所以结果是:11010100

字节的乘法        大题出现

书上的例题是

57 * 83 =C1

老子真的是学得要疯了,最讨厌算算术了。这个我根本算不出,算不懂。

昨天去问了一班学委,告诉我字节的乘法是,移位相加减。异或。

第四章 公钥密码

4.1 群、环、域概念                P84

群、环、域都是代数结构,代数系统是对要研究的现象或过程建立起的一种数学模型,模型中包括要处理的数学对象的集合以及集合上的关系或运算,运算可以是一元的也可以是多元的,可以是一个也可以有多个。

懂都不懂,我感觉,不重要,因为不懂。哈哈哈哈哈哈哈哈哈哈哈哈哈哈。》

---------------------------------------------------------------------------------------------------------------------------------

群:封闭性、结合性、存在单元、存在逆元  (二元运算)  例如:非零有理数

有理数是:整数和分数的统称。

环:有两个二元运算,通常记为加法 “+” 和乘法 “*” ,构成环的集合  满足:

  • 关于加法 “” 构成一个阿贝尔群,也就是加法满足封闭性、结合律、有单位元、每个元素有加法逆元,还满足交换律。
  • 关于乘法 “” 满足封闭性和结合律。
  • 例如:整数集Z

域:特殊的环,满足环的所有特点。实数R

4.2 模运算

模逆运算,学会仿射加密的解密就应该会这个才对!

一些简单的我们不必进行欧几里得计算,比如5^-1mod13

遇到简单的我们只需要想简单的定义就好,5乘以多少去mod13=1,五八四十,三*13=39,也就是8,有时候进行欧几里得去算,反而显得我们很呆知道吗?难能可贵的是我可能去算,算的可能是错的。

模运算有以下性质:

[ ( a mod n ) + ( b mod n ) ]mod n = (a + b)mod n

[ ( a mod n ) - ( b mod n ) ]mod n = (a - b)mod n

[ ( a mod n ) * ( b mod n ) ]mod n = (a * b)mod n

4.3 欧拉定理

在密码学的 RSA 加密算法里,欧拉定理起到了核心作用。RSA 算法利用大整数分解难题以及欧拉定理来实现加密和解密过程,保障信息传输的安全性。例如,公钥和私钥的生成、加密消息与解密消息的数学变换,背后的理论依据都离不开欧拉定理构建的同余关系体系。

计算逻辑一般是,这个数的因子里如果有平方,那么就 这个数乘以(1-1/p)乘以(1-1/q)

这是一种情况

还有一种情况是这样的

比较简单

有时候我们想要计算4^12=4^4+4^8=(4^2)^2+((4^2)^2)^2

4.4 欧几里得算法

用来求最大公因式的,也叫辗转相除法

(108,386)=(62,108)=(46,62)=(16,46)=(14,16)=(2,14)

所以最大公因数是2

用大的除以小的,余数作为下一个小的.

4.5 陷门单向函数       

研究公钥密码算法就是要找出合适的陷们单向函数。

称一个函数是陷门单向函数,是指该函数是易于计算的,但求它的逆是不可行的,除非再已知某些附加信息。当附加信息给定后,求逆可在多项式时间完成。总结为:陷门单向函数是一族可逆函数。

老师给我们举的例子是,已知大素数P,Q  求N=P*Q

在计算上是可行的,反过来已知N,但是求PQ是不可行的。这也反映了陷门单向函数的一种思想。

4.6 公钥密码算法要满足的六点要求       

1.产生的公钥和私钥在计算上是容易的。

2.发送方使用公钥加密产生密文在计算上是容易的。

3.收方B用自己的秘密钥解密,在计算上是容易的。

4.敌手使用公钥求密钥是不可行的。

5.敌手由知道密文和公钥,是恢复不出明文的。

6.加解密次序可以互换。(不对所有做要求)

4.7 公钥加密过程四步       

书上懂都不懂 还是豆包好

  1. 密钥生成
    • 接收方利用特定的加密算法生成一对密钥,分别是公钥和私钥。这两个密钥在数学上存在紧密关联,但通过公钥很难推算出私钥。例如在 RSA 算法中,会挑选两个大质数,经过一系列复杂的数论运算得出公钥和私钥。公钥会被公开分享,可随意发布在网络等渠道,供任何想要给接收方发送加密信息的人获取;而私钥则被严格保密,只有接收方自己持有 。
  2. 明文加密
    • 发送方获取接收方的公钥后,使用公钥对原始的明文消息进行加密。加密算法会依据公钥的参数,将明文中的每一个字符、数据块,通过复杂的函数运算,转化为一串看似毫无规律的密文。这一过程保证了只有对应的私钥才能逆向还原出原始信息,即便其他人截获密文,由于没有私钥,也难以解读内容。
  3. 密文传输
    • 经过加密生成的密文,会通过不安全的公开通信渠道, 如互联网,从发送方传输至接收方。因为密文已经经过加密处理,所以即使传输过程中被第三方监听、窃取,第三方也无法直接知晓其中的含义。
  4. 密文解密
    • 接收方拿到传输过来的密文后,使用自己一直秘密保存的私钥对密文进行解密。解密算法利用私钥的特性,逆转加密时的运算过程,将密文重新还原成原始的明文消息,至此,接收方成功获取发送方发来的真实信息。

4.8 掌握RSA加解密

要死啊什么都是重点,挂科算了。

其实不难,也就是是一个计算顺序的问题,首先求出大素数欧拉值,之后选一个整数必须小于欧拉值也必须与欧拉值互为质数,使用公钥加密,使用私秘钥,解密。

不像人类学的东西一样。哈哈。

这里的三个横线(≡)是同余符号,表示两个数在除以某个特定数(模数)时余数相同。

首先密钥生成选两个保密的大素数 p q

计算欧拉值,也就是 =(p-1)(q-1)  n=pq

选取整数e,小于欧拉值,必须与刚刚计算的欧拉值互质。作为公钥的一部分。

计算私钥d:找到一个整数d,使得(e*d)mod欧拉值=1

d=e^-1modn

4.9         P114  4-26

计算RSA算法的题目

选p=7,q=17,求n=p*q=119,欧拉值为96,取e=5

d=e^-1mod(欧拉值)

d=19

c=m^5mod119

m=c^19mod119

在书中,明文是自己设置的。m=19,在进行计算时,我们可以将次方拆解后进行计算

算术题一共有三道:1.仿射加密 2.多项式乘法 3.RSA加解密

4.10 RSA的安全性问题和密码分析问题(与分组密码对应着)

答:RSA算法的安全性主要依赖于大数分解的困难性。给定一个非常大的合数(即两个或多个质数的乘积),目前没有已知的高效算法能够在合理的时间内分解出它的质因数。这使得RSA算法在合理选择密钥长度和参数的情况下具有很高的安全性。

RSA是非对称密码,分组密码是对称密码。

分组密码的安全性依赖于密钥,而RSA的安全性不仅依赖于密钥而且依赖于算法。

对称密码适用于需要高速处理大量数据的场景,如文件传输。非对称密码适用于需要高安全性的场景,如网络传输和数字签名。‌

4.11  简答题出现 :共模攻击和低指数攻击      P118

答: 只有彻底弄懂RSA,才可以理解

4.12 IFP问题和DLP问题分析。

答:

4.13 AES移位相加法

第五章 密钥分配与密钥管理

5.1 密钥交换的问题(如何进行的安全性问题)P143

该算法的唯一目的是使得两个用户能够安全地交换密钥,得到一个共享的会话密钥,算法本身不能用于加解密。

BBS产生器(谈安全性,算法,分析题)P149

安全性:密码强度最强的伪随机数产生器。安全性较高

秘密分割     P150

有三个门限方案,名字真高级,字太多了,我不学 

秘密分割门限方案

Shanmir门限方案

基于中国剩余定理的门限方案

第六章 消息认证和哈希函数

P157  消息认证

消息认证码是指消息被一个密钥控制的公开函数作用后产生的,用作认证符的、固定长度的数值,也称密码校验和。

哈希函数(公开函数)

性质:

1.函数的输入可以是任意长

2.函数的输出是固定长

3.已知x,求H(x)较为容易,可用硬件或软件实现。

.................................看书吧其实都不懂。P162

MD5哈希算法

如果不懂的话,其实不如不记

处理过程:

1.对消息的填充

2.附加消息的长度

3.对MD缓冲区的初始化

4.以分组为单位对消息进行处理

第七章 数字签名和认证协议

        

数字签名的性质:

1.能够验证签名产生者的身份,以及产生签名的日期和时间

2.能用于证实被签消息的内容

3.数字签名可由第三方验证,从而能够解决通信双方的争议。

数字签名的要求:

1.签名的产生必须使用发方独有的一些信息以防伪造和否认

2.签名的产生较为容易

3.签名的识别和验证较为容易

4.构造假冒的数字签名是不可行的,无论是对于新的消息还是已知的消息。

数字签名产生的方式:P183

加密算法和签名算法产生.

时间戳、时间和应答

第一次听到时间戳还是python课上面,下面是豆包的回答。

可以稍微多看两眼,考试知道怎么多写点字就好了。老师,菜菜捞捞。

时间戳:

在数字签名场景下,时间戳常被添加到待签名的消息当中。这样做可以防止重放攻击,因为带有时间戳的消息,接收方能够核查消息生成的时间是否合理,拒绝接收过时的、可能是攻击者重放的消息。在区块链技术里,时间戳更是关键要素,每一个区块都带有生成时的时间戳,用于确定交易的先后顺序,维持区块链账本的时序性与不可篡改性。

时间:

在分布式系统中,多个节点的时间同步至关重要。不同节点如果时间不一致,会引发一系列问题,例如在加密协议里,若双方时间偏差过大,可能导致密钥交换、认证流程出错。网络时间协议(NTP)就是常用的用于同步计算机网络中各个设备时间的协议,它让设备能够与权威时间源(如原子钟服务器)保持精确同步,误差可控制在毫秒级。

应答:

在安全协议中,应答也融入了安全考量。如身份认证环节,服务端收到客户端的认证请求后,返回的应答可能携带验证码、加密挑战等信息,客户端需正确回应才能完成认证;数字签名验证时,接收方验签后的应答会明确告知签名是否有效,发送方借此判断后续操作流程。

RSA与数字签名的安全性问题

写在最后

大家一起备考复习,如果有错,请在评论区或私信指正,互相学习,共同进步。🌹🌹

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

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

相关文章

Vulnhub靶场(Earth)

项目地址 https://download.vulnhub.com/theplanets/Earth.ova.torrent 搭建靶机 官网下载.ova文件双击vm打开导入 获取靶机IP kail终端输入 arp-scan -l 获取靶机 IP 192.168.131.184 信息收集 端口扫描 sudo nmap -sC -sV -p- 192.168.131.184 可以看到开启22端口&…

Linux菜鸟级常用的基本指令和基础知识

前言:很多Linux初学者都会头疼于指令太多记不住&#xff0c;笔者刚学习Linux时也是如此&#xff0c;学习Linux指令时&#xff0c;学了后面的指令&#xff0c;前面的指令也会忘的差不多了&#xff0c;针对于以上这些情况&#xff0c;笔者今天来分享一篇Linux菜鸟级的常用指令的博…

使用SSH建立内网穿透,能够访问内网的web服务器

搞了一个晚上&#xff0c;终于建立了一个内网穿透。和AI配合&#xff0c;还是得自己思考&#xff0c;AI配合才能搞定&#xff0c;不思考只依赖AI也不行。内网服务器只是简单地使用了python -m http.server 8899&#xff0c;但是对于Gradio建立的服务器好像不行&#xff0c;会出…

2024年1月4日蜻蜓hr人才招聘系统v1.1.7更新-正式版发布-客户端源代码开源发布供学习-本产品完成上线正式版-修复多个bug-优雅草果果|小无

2024年1月4日蜻蜓hr人才招聘系统v1.1.7更新-正式版发布-客户端源代码开源发布供学习-本产品完成上线正式版-修复多个bug-优雅草果果|小无 前端代码开源库 关于开源说明&#xff1a;企业服务-招聘信息管理系统-前端uniapp-系统前端开放源代码仅供学习-优雅草科技-目前优雅草科…

HTML——75. 内联框架

<!DOCTYPE html> <html><head><meta charset"UTF-8"><title>内联框架</title><style type"text/css">iframe{width: 100%;height: 500px;}</style></head><body><!--iframe元素会创建包含…

Ajax原理-XMLHttpRequest

1. XMLHttpRequest 是什么&#xff1f; 和axios的关系&#xff1a; axios 内部采用 XMLHttpRequest 与服务器交互 学习XMLHttpRequest的目的&#xff1a; 掌握使用 XHR 与服务器进行数据交互&#xff0c;了解 axios 内部原理&#xff0c;加强对知识的理解&#xff0c;提升技…

离散数学 期末笔记

命题符号化 使用等值演算法证明 求公式范式 在自然推理体系中构造下列推理的证明 在一阶逻辑中将下列命题符号化 设A、B、C、D是 Z 的子集 证明下列集合恒等式 二元关系 性质 没有空的 没有漏的 没有重复 函数

Fabric环境部署-Git和Node安装

一.安装Git&#xff08;v2.43.0&#xff09; Git 是一个开源的分布式版本管理系统&#xff08;也是全球最大的开源软件存储服务器&#xff09;&#xff0c;用于敏捷高效地处理任何或小或大的项目。搭建区块链需要使用Git&#xff0c;因为区块链的开发和部署需要使用版本控制工…

springCloud 脚手架项目功能模块:Java分布式锁

文章目录 引言分布式锁产生的原因:集群常用的分布式锁分布式锁的三种实现方式I ZooKeeper 简介zookeeper本质上是一个分布式的小文件存储系zookeeper特性:全局数据一致性ZooKeeper的应用场景分布式锁(临时节点)II 基于ZooKeeper 实现一个排他锁创建锁获取锁释放锁Apache Zo…

stm32入门元件介绍

stm32入门元件介绍 文章目录 stm32入门元件介绍入门套件总览套件介绍面包板面包板跳线/飞线杜邦线STM32最小系统板STLINKOLED显示屏LED按键电位器蜂鸣器光敏/热敏电阻传感器/对射式/反射式红外传感器旋转编码器USB转串口MPU6050陀螺仪加速度计W25Q64 Flash闪存TB6612FNG电机驱动…

C语言:调试的概念和调试器的选择

所谓调试&#xff08;Dubug&#xff09;&#xff0c;就是跟踪程序的运行过程&#xff0c;从而发现程序的逻辑错误&#xff08;思路错误&#xff09;&#xff0c;或者隐藏的缺陷&#xff08;Bug&#xff09;。 在调试的过程中&#xff0c;我们可以监控程序的每一个细节&#xff…

Python深度学习GRU、LSTM 、BiLSTM-CNN神经网络空气质量指数AQI时间序列预测及机器学习分析|数据分享...

全文链接&#xff1a;https://tecdat.cn/?p38742 分析师&#xff1a;Zhixiong Weng 人们每时每刻都离不开氧&#xff0c;并通过吸入空气而获得氧。一个成年人每天需要吸入空气达6500升以获得足够的氧气&#xff0c;因此&#xff0c;被污染了的空气对人体健康有直接的影响&…

Flink源码编译与运行

1 准备 准备好Java 8环境和编译器&#xff08;如IDEA&#xff09;。 下载源码&#xff1a; 官网&#xff1a;https://flink.apache.org/downloads/。GitHub&#xff1a;https://github.com/apache/flink。 2 编译 在IDEA终端&#xff0c;使用下面命令之一编译源码&#xff…

Elasticsearch:Lucene 2024 年回顾

作者&#xff1a;来自 Elastic Chris Hegarty 2024 年对于 Apache Lucene 来说又是重要的一年。在本篇博文中&#xff0c;我们将探讨主要亮点。 Apache Lucene 在 2024 年表现出色&#xff0c;发布了许多版本&#xff0c;包括三年来的首次重大更新&#xff0c;其中包含令人兴奋…

(四)基于STM32通过Event Recoder实现时间测量功能

目录 1. 了解Event Recorder 2. 硬件和软件准备 硬件需求 软件需求 3. 配置STM32工程 使用STM32CubeMX初始化项目 配置Event Recorder 4. 实现时间记录功能 初始化Event Recorder 时间间隔计算 配置Debug选项 测量结果查看 5总结 在嵌入式系统开发中&#xff0c;精…

Java 内存溢出(OOM)问题的排查与解决

在 Java 开发中&#xff0c;内存溢出&#xff08;OutOfMemoryError&#xff0c;简称 OOM&#xff09;是一个常见且棘手的问题。相比于数组越界、空指针等业务异常&#xff0c;OOM 问题通常更难定位和解决。本文将通过一次线上内存溢出问题的排查过程&#xff0c;分享从问题表现…

Python、R用深度学习神经网络组合预测优化能源消费总量时间序列预测及ARIMA、xgboost对比...

全文链接&#xff1a;https://tecdat.cn/?p38726 分析师&#xff1a;Qingxia Wang 在能源领域&#xff0c;精准预测能源消费总量对制定合理能源战略至关重要。当前&#xff0c;能源消费预测分析主要运用单一模型&#xff08;如灰色预测法、时间序列分析法等&#xff09;和组合…

【LLM-Agent】Building effective agents和典型workflows

note Anthropic的工程经验&#xff1a; 大道至简&#xff0c;尽量维护系统的简洁&#xff1b;尽量让过程更加透明&#xff08;因为你依赖的是LLM的决策&#xff0c;如果只看输出不看过程&#xff0c;很容易陷入难以debug的情况&#xff09;&#xff1b;对LLM需要调用的工具&am…

音视频入门基础:MPEG2-PS专题(4)——FFmpeg源码中,判断某文件是否为PS文件的实现

一、引言 通过FFmpeg命令&#xff1a; ./ffmpeg -i XXX.ps 可以判断出某个文件是否为PS文件&#xff1a; 所以FFmpeg是怎样判断出某个文件是否为PS文件呢&#xff1f;它内部其实是通过mpegps_probe函数来判断的。从《FFmpeg源码&#xff1a;av_probe_input_format3函数和AVI…

CSS——5. 外部样式

<!DOCTYPE html> <html><head><meta charset"UTF-8"><title>方法3&#xff1a;外部样式</title><link rel"stylesheet" href"a.css" /><link rel"stylesheet" href"b.css"/&g…