对传统加密算法降维打击?!——量子计算

news2024/11/24 17:23:43

量子计算

声明!
学习视频来自B站up主 泷羽sec 有兴趣的师傅可以关注一下,如涉及侵权马上删除文章,笔记只是方便各位师傅的学习和探讨,文章所提到的网站以及内容,只做学习交流,其他均与本人以及泷羽sec团队无关,切勿触碰法律底线,否则后果自负!!!!有兴趣的小伙伴可以点击下面连接进入b站主页B站泷羽sec

一、学习方向

1.量子物理学基础

了解量子力学的基本原理,如量子态、叠加态、纠缠等概念,这是理解量子计算

的基础。学习量子力学的数学表达,包括波函数、算符等,以便更好地分析量子计算系统的特性。

2.量子计算原理与技术

掌握量子比特、量子门、量子电路等量子计算的核心概念。

研究不同的量子计算模型,如量子线路模型、绝热量学计算等。

了解量子算法,特别是对传统密码学构成威胁的算法,如 Shor 算法。

3.传统网络安全知识

巩固传统加密算法、哈希函数、数字签名等网络安全技术。

熟悉网络安全架构、访问控制、漏洞管理等方面的知识,以便对比量子计算对传

统安全的影响。

4.量子密码学

学习量子密钥分发(QKD)的原理和技术,掌握其优势和局限性。研究抗量子密码算法,如基于格的密码、基于哈希的密码等。

QKD,即量子密钥分发(Quantum Key Distribution),是一种利用量子力学原理来保证通信安全性的技术。其原理和分发过程可以详细解释如下:

QKD,即量子密钥分发(Quantum Key Distribution),是一种利用量子力学原理来保证通信安全性的技术。其原理和分发过程可以详细解释如下:

QKD的原理

QKD的安全性基于量子力学的基本原理,主要包括海森堡不确定性原理、量子态的叠加性、测量坍缩性以及不可克隆定理等。

  1. 海森堡不确定性原理:该原理指出,无法同时精确测量粒子的位置和动量。在QKD中,这意味着任何试图拦截或窃听量子密钥的企图都会不可避免地扰乱量子态,从而被通信双方检测到。
  2. 量子态的叠加性:量子比特(qubit)可以存在于多种状态的叠加中,与只能为0或1的传统比特不同。这一特性使得QKD能够创建高度随机的密钥,难以被预测或破解。
  3. 测量坍缩性:对量子态进行测量会使其坍缩到某个确定的状态。在QKD中,测量过程不仅揭示了量子态的信息,还改变了它,从而确保了密钥的安全性。
  4. 不可克隆定理:该定理指出,无法创建任意未知量子态的完全相同的副本。这意味着任何试图复制量子密钥的企图都会失败,进一步保证了密钥的安全性。

QKD的分发过程

QKD的分发过程通常涉及以下几个步骤:

  1. 量子态的制备和传输:通信的一方(通常称为发送者Alice)制备一系列量子态,并通过量子信道(如光纤电缆或自由空间)将它们传输给另一方(通常称为接收者Bob)。这些量子态可以代表密钥的各个比特。
  2. 量子态的测量:Bob接收到量子态后,使用随机选择的测量基对其进行测量。测量基的选择应与Alice制备量子态时使用的基相匹配或相关。如果Bob选择了正确的测量基,他将能够准确地测量出量子态所代表的比特值。
  3. 基数的比较和筛选:在传输完所有量子态后,Alice和Bob通过公共经典信道(如无线电或因特网)公开比较他们用于每个量子态的测量基。他们丢弃使用不同基数的测量结果,仅保留使用相同基数的比特作为原始密钥的一部分。
  4. 密钥的生成和处理:经过筛选后,Alice和Bob将剩余的比特组合成原始密钥。然后,他们进一步处理该密钥以消除错误并增强安全性,例如通过错误校正和隐私放大等过程,最终得到可用于安全通信的最终密钥。

QKD的协议

QKD协议是实现QKD分发过程的具体方案,其中最著名的包括BB84协议和E91协议等。

  1. BB84协议:由Bennett和Brassard于1984年提出,是最早描述如何利用光子的偏振态来传输消息的协议之一。在BB84协议中,Alice使用四种可能的极化状态之一的光子来表示密钥的比特值,而Bob则随机选择两种可能的测量基来测量每个光子。通过比较测量基和筛选结果,Alice和Bob能够生成一个安全的密钥。
  2. E91协议:由Artur Ekert于1991年提出,该协议使用纠缠光子对而不是单个光子来生成密钥。在E91协议中,Alice和Bob各自随机测量一对纠缠光子中的一个光子,并利用量子力学预测的测量值之间的相关性来建立共享密钥。此外,E91协议还测试了贝尔不等式以检测窃听者的存在。

综上所述,QKD利用量子力学原理实现了密钥的安全分发和加密通信,为未来的通信安全提供了一种几乎无法破解的方式。随着量子技术的不断发展,QKD有望在更多领域得到广泛应用和推广。

5.量子计算安全政策与法规

了解国内外关干量子计算安全的政策法规,以及行业标准的发展动态。

关注量子计算安全领域的伦理和法律问题。

二、漏洞风险

1.加密算法被破解风险

传统非对称加密算法(如 RSA、ECC)可能被量子计算机上的 Shor 算法快速破解。

RSA加密算法的原理

RSA加密算法是一种公钥加密算法,其原理基于数论中的大整数分解难题,具体涉及欧拉函数、模运算和模反元素等数学概念。以下是RSA加密算法原理的详细解释:

一、密钥生成

  1. 选择大素数:随机选择两个不同的大素数p和q,这两个素数的位数越大,RSA算法的安全性就越高。常用的密钥长度为1024位、2048位和3072位等。
  2. 计算n和φ(n):计算n=p×q,这是公钥和私钥的共同部分。接着计算φ(n)=(p-1)×(q-1),φ(n)是n的欧拉函数值,它表示小于n且与n互质的正整数的个数。
  3. 选择加密指数e:选择一个整数e,满足1<e<φ(n),且e与φ(n)互质。e通常用作公钥的一部分,用于加密数据。
  4. 计算解密指数d:计算一个整数d,使得e×d=1 mod φ(n)。d是私钥的一部分,用于解密数据。由于φ(n)难以计算,因此在已知n和e的情况下,计算d是困难的,这就保证了RSA算法的安全性。

二、加密过程

  1. 明文转换:将明文转换为整数M,且M必须小于n。
  2. 加密计算:使用公钥(n, e)对明文M进行加密,计算密文C=M^e mod n。

三、解密过程

  1. 密文转换:将密文C转换为整数。
  2. 解密计算:使用私钥(n, d)对密文C进行解密,计算明文M=C^d mod n。

四、安全性分析

  1. 大整数分解难度:RSA算法的安全性依赖于大整数因数分解的难度。目前,尽管人们已经能够分解一定位数的大素数,但对于更大的素数,分解仍然非常困难。因此,只要选择合适的素数p和q,RSA算法就可以提供很高的安全性。
  2. 密钥长度:密钥长度越长,RSA算法的安全性越高。但同时,密钥长度也会增加加密和解密的速度和时间。因此,在实际应用中,需要根据所保护信息的敏感程度和攻击者破解所要花费的代价来综合考虑选择合适的密钥长度。

五、应用场景

RSA加密算法广泛应用于网络通信、电子商务、身份认证等领域。例如,在HTTPS、SSH等协议中,RSA算法被用来加密通信过程中的数据;在电子商务中,商家可以使用RSA算法对订单进行数字签名,确保订单的真实性和完整性;在网银等场景中,用户可以使用RSA算法生成一对公私钥,将公钥发送给银行进行数据加密和身份认证。

综上所述,RSA加密算法的原理基于大整数分解难题和欧拉函数等数学概念,通过生成公钥和私钥来实现数据的加密和解密。其安全性依赖于大整数因数分解的难度和密钥长度的选择。在实际应用中,RSA加密算法具有广泛的应用场景和重要的价值。

ECC加密算法的原理

ECC(Elliptic Curve Cryptography)加密算法,即椭圆曲线密码算法,是一种基于椭圆曲线数学理论的公钥加密算法。以下是ECC加密算法的原理详解:

一、椭圆曲线基础

  1. 椭圆曲线定义:椭圆曲线是在一个平面上满足特定方程(如威尔斯特拉斯方程y²=x³+ax+b)的所有点的集合。在密码学中,通常使用的是一个有限域上的椭圆曲线,即曲线上的点数量是有限的。
  2. 椭圆曲线上的点运算:椭圆曲线上的点可以进行加法和倍乘运算,这些运算遵循特定的群法则,包括封闭性、结合律、存在单位元以及每个点有一个逆元等。

二、密钥生成

  1. 选择椭圆曲线:首先,选择一个满足特定数学性质的椭圆曲线作为加密算法的基础,以确保加密算法的安全性。
  2. 选择基点:在椭圆曲线上选择一个基点G,作为生成点。
  3. 生成私钥:选择一个随机数k作为私钥,用于加密和解密数据。
  4. 计算公钥:使用私钥k和基点G,计算公钥P=kG。这里的P是椭圆曲线上的一个点,即公钥。

三、加密过程

  1. 选择随机数:要加密的明文为M,发送方选择一个随机数r。
  2. 计算点R和S:计算点R=rG和S=rP+M,其中+表示椭圆曲线上的点加法。这里的R和S构成了加密后的密文。

四、解密过程

  1. 计算点T:接收方收到加密信息后,使用自己的私钥k计算点T=kR。
  2. 恢复明文:计算M=S-T,即可得到明文。

五、安全性分析

  1. 离散对数问题:ECC的安全性基于椭圆曲线上的离散对数问题,即在有限域上找到一个点的倍数。这个问题相对于整数分解问题更难以攻破,因此ECC在相同安全水平下可以使用更短的密钥长度。
  2. 高效性:ECC算法比传统的RSA算法更为高效,可以使用更短的密钥长度达到相同的加密强度。这使得ECC在资源受限的环境(如移动设备和物联网)中表现出色。

六、应用场景

ECC加密算法在多个领域有广泛应用,包括但不限于:

  1. 移动设备:由于移动设备的资源有限,需要采用密钥长度短、计算量小、加密速度快的加密算法。ECC算法正是满足这些需求的理想选择。
  2. 物联网:物联网设备通常也面临资源受限的问题,ECC算法同样适用于这些场景。
  3. 金融交易:ECC算法在金融交易的安全传输和数字签名方面发挥着重要作用,可以确保交易的真实性和完整性,防止信息被篡改或伪造。
  4. 数字版权管理:ECC算法还可以用于数字版权管理,保护知识产权,防止盗版和侵权。

综上所述,ECC加密算法以其独特的数学原理和高效的性能,在安全性、效率和带宽利用方面提供了显著的优势,并在多个领域得到了广泛应用。

哈希函数可能受到量子计算的攻击,导致碰撞攻击更容易实施。

什么是shor算法

Shor算法是由数学家彼得·肖尔(Peter Shor)在1994年提出的一种量子算法,它主要用于解决整数分解问题,即给定一个整数N,找出它的质因数。这一算法在量子计算机上运作,具有多项式时间复杂度,相较于传统计算机上的因数分解算法(如普通数域筛选法),其速度有了指数级的提升。

算法原理

Shor算法的关键思想是将整数分解问题转化为对函数周期性的测量问题。对于一个需要分解的整数N,算法选择一个随机数a,并计算a的指数模N的函数值,即f(x) = a^x mod N。通过找到f(x)的周期,我们可以得到N的因子。在经典计算机上,要找到函数f(x)的周期通常需要指数时间复杂度,而在量子计算机上,Shor算法可以在多项式时间内找到周期。

算法步骤

  1. 选择需要分解的大整数N,并确定一个在1和N之间的随机数a。
  2. 构建一个量子电路,使用量子寄存器和经典寄存器。量子寄存器用于存储量子态,经典寄存器用于存储测量结果。
  3. 在量子寄存器上初始化两个量子态,一个用于存储控制反射算子的输入,另一个用于存储函数f(x)的输出。
  4. 应用Hadamard变换到输入量子态上,将其变为均匀分布的量子态。
  5. 进行一系列的控制U操作,其中U是函数f(x)的模幂运算算子。每个控制U操作的目的是将输入量子态转化为对应的函数值。
  6. 应用量子傅里叶变换到输入量子态上,获得函数周期的估计值。
  7. 在经典寄存器上测量量子寄存器中的量子态,得到估计的函数周期。
  8. 根据估计的函数周期,进行经典计算来找到N的因子。

算法意义

Shor算法的出现对现有的密码体系产生了深远的影响。由于它能够高效地分解大整数,因此可以破解基于整数分解问题的公开密钥加密方法,如RSA加密算法。这使得量子计算机在密码学领域具有巨大的潜力,同时也对现有密码体系的安全性提出了挑战。

算法挑战

尽管Shor算法在理论上具有重要的意义,但在当前的量子计算机技术下,实现Shor算法仍然面临很大的挑战。由于需要进行大量的量子门操作和测量,对大规模量子系统的要求非常高。此外,当前的量子计算机还面临着误差校正和量子比特的保持时间等问题。因此,尽管Shor算法在理论上是有效的,但在实践中目前还无法得到充分利用。

综上所述,Shor算法是一种具有革命性意义的量子算法,它解决了整数分解这一经典难题,并对现有的密码体系产生了深远的影响。然而,要实现这一算法并充分发挥其潜力,还需要在量子计算机技术方面进行更多的研究和突破。

为什么shor算法会对传统加密算法产生威胁(比如ECC和RSA机密算法)

Shor算法对ECC和RSA的威胁

  1. ECC(椭圆曲线密码算法)
    • ECC的安全性基于椭圆曲线上的离散对数问题。Shor算法能够高效地解决这一问题,从而可能破解ECC加密算法。
    • ECC算法以其较短的密钥长度达到较高的加密强度而著称。然而,在量子计算机面前,这一优势可能不复存在。
  2. RSA(Rivest-Shamir-Adleman加密算法)
    • RSA的安全性基于大整数分解难题。Shor算法同样能够高效地解决这一问题,从而可能破解RSA加密算法。
    • RSA算法在加密和解密过程中需要进行大量的数学运算,因此速度较慢。在量子计算机面前,其安全性将受到严重威胁。

破解难度与量子计算能力

  1. 破解难度:虽然Shor算法能够破解ECC和RSA,但并不意味着这些算法可以轻易地被破解。破解难度取决于量子计算机的计算能力,以及算法所使用的密钥长度。
  2. 量子计算能力:目前,量子计算机的发展仍处于初级阶段,其计算能力还不足以在短时间内破解现有的ECC和RSA加密算法。然而,随着量子计算技术的不断进步,这一威胁将逐渐增大。

应对措施

  1. 研究抗量子加密算法:为了应对量子计算的威胁,人们正在研究新兴的抗量子加密算法,如基于格的加密等。这些算法在量子计算机面前具有更高的安全性。
  2. 加强密钥管理:在现有的加密体系中,加强密钥管理也是提高安全性的重要手段。通过采用更复杂的密钥生成、分发和更新机制,可以降低密钥被破解的风险。
  3. 关注量子计算技术的发展:随着量子计算技术的不断进步,其对于加密算法的威胁将逐渐增大。因此,需要密切关注量子计算技术的发展动态,以便及时采取相应的应对措施。

综上所述,虽然Shor算法对ECC和RSA加密算法构成了潜在的威胁,但并不意味着这些算法可以轻易地被破解。通过加强密钥管理、研究抗量子加密算法以及关注量子计算技术的发展动态等措施,可以有效地应对这一威胁。

2.“现在收获,以后解密”风险

攻重者可能在当前收集加密数据,等待量子计算技术成熟后进行解密。

3.区块链安全风险

量子计算可能破解区块链用户的私钥,威胁加密货币的安全。

4.量子密钥分发风险

量子信道可能受到干扰,影响密钥的生成和传输。

设惫和系统可能存在安全漏洞,被攻击者利用。

5.量子计算系统自身风险

量子计算系统存在错误和噪声问题,可能被攻击者利用来破坏计算过程或获取敏

感信息。

供应链安全风险,硬件设备或软件可能被植入恶意代码。

三、测试方法

1.加密算法测试

使用量子计算模拟器或量子硬件,尝试运行 Shor 算法对传统加密算法进行破解。(现在shor算法对传统加密属于降维打击)

分析不同加密算法在量子计算环境下的安全性,评估其被破解的难度和时间。

2.“现在收获,以后解密”测试

模拟攻击者收集加密数据的场景,分析在未来量子计算技术发展后,这些数据被解密的可能性,研究数据在储和保护策略,以降低“现在收获,以后解密”的风险。

3.区块链安全测试

分析量子计算对区块链的影响,特别是对私钥安全性的威胁。

测试抗量子密码算法在区块链中的应用效果。

4.量子密钥分发测试

对量子信道进行干扰测试,评估其对密钥分发的影响。

检查量子设备和系统的安全性,包括硬件漏洞、软件漏洞等。

5.量子计算系统自身测试

进行错误注入测试,观察量子计算系统在错误和噪声环境下的性能和安全性。

审查量子讦算系统的供应链,确保硬件设备和软件的安全性。

小结

量子计算安全是一个复杂的领域,需要综合运用物理学、计算机科学、密码学等多学科知识进行学习和研究。通过了解漏洞风险并采用适当的测试方法,可以更好的保障量子计算系统的安全。

安全

1.信息收集阶段

目标背景调研:了解目标量子系统所属的机构、其在量子领域或应用中的角色、相关的项目信息等。例如,确定该量子系统适用于科研实验、量子通信网络建设,还是量子计算服务等,以便更好地理解其潜在的价值和可能存在的安全重点。

技术架构分析:研究目标量子系统的技术架构,包括所使用的量子设备类型(如量子计算机的型号、量子通信设备的技术标准等)、系统的拓扑结构、与传统网络的连接方式等。这可以通过查阅相关的技术文档、学术论文,或者与熟悉该系统的人员进行交流来获取信息。

公开信息搜集:利用互联网引擎、学术数据库、专业论坛等渠道,收集与目标量子系统相关的公开信息。可能包括系统的开发者或供应商发布的技术资料、研究团队的学术报告、相关的新闻报道等。这些信息可以帮助渗透测试人员了解系统的基本特性、已公开的漏洞或安全事件,以及可能存在的安全隐患。

2.威胁建模阶段:

识别潜在威胁源:分析可能对量子系统构成威胁的主体,包括外部的黑客组织、竞争对手、恶意研究人员等,以及内部的系统管理员、研发人员等可能存在的误操作或恶意行为。同时,考虑量子计算技术本身可能带来的新的威胁,比如量子算法对传统加密的挑战。

确定攻击路径:根据收集到的信息和对威胁源的分析,确定可能的攻击路径。例如,对于量子通信系统,攻击路径可能包括对量子信道的干扰、对通信设备的物理攻击或软件漏洞利用;对于量子计算系统,可能的攻击路径包括对量子算法的攻击、对控制系统的入侵等。

评估影响程度:对每种可能的攻击路径进行影响评估,确定如果攻击成功,可能对目标量子系统造成的影响,如数据泄露、系统瘫痪、量子密钥被破解等。这将有助于确定渗透测试的重点和优先级。

3.漏洞分析阶段:

设备漏洞扫描:使用专业的漏洞扫描工具,对量子系统中的硬件设备进行扫描,查找可能存在的冬金师洞。例如:检查量子计算机的控制系统、量子通信设备的接口等是否存在已知的漏洞或配置不当的问题。

软件漏洞检测:对于量子系统中运行的软件,包括操作系统、控制软件、通信协议等,进行漏洞检测。可以使用静态代码分析工具、动态漏洞扫描工具等,查找可能存在的代码漏洞、缓冲区溢出、权限管理不当等问题。

量子算法分析:针对量子系统所使用的量子算法,分析基安金性。例如,对于量子密钥分发算法,检查基是否存在被窃听或破解的风险;对于量子计算算法,研究是否存在可能被利用来攻击系统的漏洞。

4.渗透攻击阶段:

漏洞利用尝试:根据发现的漏洞,尝试利用漏洞获取对量子系统的访问权限。例如,如果发现啦一个远程代码执行漏洞,尝试通过发送精心构造的数据包来执行恶意代码,获取系统的控制权。

量子信道干扰:对于量子通信系统,尝试通过干扰量子信道来影响通信的安全性。这可能包括使用的强磁场、强光等方式干扰量子态的传输,或者尝试窃听量子信道中的信息。

社会工程学攻击(也就是社工):利用社会工程学方法,尝试获取量子系统相关人员的信任,获取敏感信息或访问权限。例如,通过发送钓鱼邮件、伪装成技术支持人员等方式,诱使目标人员透露账号密码、系统配置等信息。

5.后渗透攻击阶段:

内部网络探测:在成功获取量子系统的访问权限后,进一步探测系统内部的网络结构,了解系统中其他设备的连接情况和访问权限,以便发现更多的潜在目标。

数据窃取与分析:尝试窃取量子系统中的敏感数据,如量子密钥、实验数据、用户信思等,井对窃取的数据进行岔析,以获取更多的信息和潜在的漏洞。

权限提升与持久化:尝试提升息只在量子系统中的权限,以便获取更高的访问级别和更多的操作权限。同时,采取措施使自己的访问权限持久化,以便在后续的测试中能够继续访问系统。

6.报告阶段:

结果整理与分析:将渗透测试过程中发现的漏洞、攻击路径、获取的信息等进行整理和分析,总结出量子系统存在的安全问题和潜在的风险。

报告撰写:编写详细的渗透测试报告,报告中应包括测试的目标、范围、方法、过程,发现的问题、风险评传以及建议的修复措施等。报告应具有清晰的结构和准确的表述,以便目标机构的管理人员和技术人员能够理解和采取相应的措施

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

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

相关文章

Linux内核USB2.0驱动框架分析--USB包

一&#xff0c; 包的组成 每个包都由SOP&#xff08;包起始域&#xff09;、SYNC&#xff08;同步域&#xff09;、Packet Content&#xff08;包内容&#xff09;、EOP&#xff08;包结束域&#xff09;四部分组成&#xff0c;其中SOP、SYNC、EOP为所有包共有的域&#xff0c…

云轴科技ZStack亮相2024 IDC中国生态峰会,共塑AI时代IT生态新格局

11月21日&#xff0c;2024 IDC中国生态峰会在北京举办&#xff0c;吸引了超过300位生态伙伴齐聚一堂&#xff0c;聚焦行业内最前沿的热点话题。本届峰会以“创见先机&#xff0c;智领风云”为主题&#xff0c;深入探讨宏观经济趋势、技术革新以及如何融合AI与数据技术&#xff…

C0029.在Clion中解决Debug时,提示Process finished with exit code -1的错误

1.错误提示 Process finished with exit code -12.解决办法 如上在使用Debug进行代码调试时&#xff0c;直接出现如上报错&#xff0c;解决办法就是直接点击运行程序&#xff0c;即可查出报错编号&#xff0c;然后根据报错编号来查找问题&#xff1b; 然后在网上就可以根据该…

07-Making a Bar Chart with D3.js and SVG

课程链接 Curran的课程&#xff0c;通过 D3.js 的 scaleLinear, max, scaleBand, axisLeft, axisBottom&#xff0c;根据 .csv 文件生成一个横向柱状图。 【注】如果想造csv数据&#xff0c;可以使用通义千问&#xff0c;关于LinearScale与BandScale不懂的地方也可以在通义千…

读取各种来源格式单细胞数据集构建seurat分析对象,代做生信分析

参考资料和分析注意事项 全流程的分析指导视频 演示数据集网盘文件 分析参数文件路径格式的特别提示 大家给要分析用到的文件路径或目录路径的时候&#xff0c;以D:/omics_tools/demo_data/scrnaseq/GSE189125/GSE189125_5prime_scRNAseq_seqbatchA_counts.txt.gz 这个文件为…

SQL-多表操作

前文所介绍的sql操作都是基于单表进行的&#xff0c;接下来我们来学习多表操作。 多表设计 在实际的项目开发中&#xff0c;会根据业务需求和业务模块之间的关系进行数据库表结构设计&#xff0c;由于业务之间相互关联&#xff0c;所以各个表结构之间也存在着各种联系&#xf…

c++ STL线程安全使用

c STL不是线程安全的&#xff0c;因此在多线程中使用的时候&#xff0c;操作同一个容器&#xff0c;会崩溃&#xff0c;因此需要解决线程安全的问题&#xff1a; 使用实例类似于以下&#xff1a; #include <thread> #include <vector> #include "thread_safe…

Swift 实现判断链表是否存在环:快慢指针法

文章目录 前言摘要描述题解答案题解代码题解代码分析示例测试及结果时间复杂度空间复杂度总结关于我们 前言 本题由于没有合适答案为以往遗留问题&#xff0c;最近有时间将以往遗留问题一一完善。 LeetCode - #141 环形链表 不积跬步&#xff0c;无以至千里&#xff1b;不积小流…

SpringCloud实用-OpenFeign 调用三方接口

文章目录 前言正文一、项目环境二、项目结构2.1 包的含义2.2 代理的场景 三、完整代码示例3.1 定义FeignClient3.2 定义拦截器3.3 配置类3.4 okhttp配置3.5 响应体3.5.1 天行基础响应3.5.2 热点新闻响应 3.6 代理类3.6.1 代理工厂3.6.2 代理客户端3.6.3 FeignClient的建造器 四…

C++设计模式行为模式———中介者模式

文章目录 一、引言二、中介者模式三、总结 一、引言 中介者模式是一种行为设计模式&#xff0c; 能让你减少对象之间混乱无序的依赖关系。 该模式会限制对象之间的直接交互&#xff0c; 迫使它们通过一个中介者对象进行合作。 中介者模式可以减少对象之间混乱无序的依赖关系&…

HarmonyOS:使用ArkWeb构建页面

一、简介 页面加载是Web组件的基本功能。根据页面加载数据来源可以分为三种常用场景&#xff0c;包括加载网络页面、加载本地页面、加载HTML格式的富文本数据。 页面加载过程中&#xff0c;若涉及网络资源获取&#xff0c;需要配置ohos.permission.INTERNET网络访问权限。 二、…

矩阵的拼接

矩阵的拼接分为横向拼接和纵向拼接 注意&#xff1a;横向拼接要求两矩阵行数相同&#xff0c;纵向拼接要求两矩阵列数相同 h o r z c a t horzcat horzcat和 v e r t c a t vertcat vertcat函数 h o r z c a t ( a , b ) horzcat(a,b) horzcat(a,b)将 a a a和 b b b横向拼接&a…

SpringCloud框架学习(第五部分:SpringCloud Alibaba入门和 nacos)

目录 十二、SpringCloud Alibaba入门简介 1. 基本介绍 2.作用 3.版本选型 十三、 SpringCloud Alibaba Nacos服务注册和配置中心 1.简介 2.各种注册中心比较 3.下载安装 4.Nacos Discovery服务注册中心 &#xff08;1&#xff09; 基于 Nacos 的服务提供者 &#xf…

Ollama vs VLLM:大模型推理性能全面测评!

最近在用本地大模型跑实验&#xff0c;一开始选择了ollama,分别部署了Qwen2.5-14B和Qwen2.5-32B&#xff0c;发现最后跑出来的实验效果很差&#xff0c;一开始一直以为prompt的问题&#xff0c;尝试了不同的prompt&#xff0c;最后效果还是一直不好。随后尝试了vllm部署Qwen2.5…

.NET9 - 新功能体验(一)

被微软形容为“迄今为止最高效、最现代、最安全、最智能、性能最高的.NET版本”——.NET 9已经发布有一周了&#xff0c;今天想和大家一起体验一下新功能。 此次.NET 9在性能、安全性和功能等方面进行了大量改进&#xff0c;包含了数千项的修改&#xff0c;今天主要和大家一起体…

LeetCode 144.二叉树的前序遍历

题目&#xff1a;给你二叉树的根节点 root &#xff0c;返回它节点值的 前序 遍历。 思路&#xff1a;根 左 右 代码&#xff1a; /*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNod…

【论文阅读】WGSR

0. 摘要 0.1. 问题提出 1.超分辨率(SR)是一个不适定逆问题&#xff0c;可行解众多。 2.超分辨率(SR)算法在可行解中寻找一个在保真度和感知质量之间取得平衡的“良好”解。 3.现有的方法重建高频细节时会产生伪影和幻觉&#xff0c;模型区分图像细节与伪影仍是难题。 0.2. …

游戏引擎学习第21天

虽然没有上一节的难但是内容也很多 关于实现和使用脚本语言 以下是详细复述&#xff1a; 许多人经常问一个问题&#xff0c;反复问过好几次&#xff0c;那就是&#xff1a;是否会在项目中实现脚本语言。这个问题的具体形式通常是&#xff1a;你们会使用脚本语言吗&#xff1…

NVR接入录像回放平台EasyCVR视频融合平台加油站监控应用场景与实际功能

在现代社会中&#xff0c;加油站作为重要的能源供应点&#xff0c;面临着安全监管与风险管理的双重挑战。为应对这些问题&#xff0c;安防监控平台EasyCVR推出了一套全面的加油站监控方案。该方案结合了智能分析网关V4的先进识别技术和EasyCVR视频监控平台的强大监控功能&#…

springboot vue工资管理系统源码和答辩PPT论文

人类现已迈入二十一世纪&#xff0c;科学技术日新月异&#xff0c;经济、资讯等各方面都有了非常大的进步&#xff0c;尤其是资讯与网络技术的飞速发展&#xff0c;对政治、经济、军事、文化等各方面都有了极大的影响。 利用电脑网络的这些便利&#xff0c;发展一套工资管理系统…