量子计算信息安全威胁与应对策略分析
作者简介
赖俊森
中国信息通信研究院技术与标准研究所光网络技术与应用研究部主任工程师,正高级工程师,主要研究方向为量子信息、量子通信、量子计算等。
赵文玉
中国信息通信研究院技术与标准研究所副所长,正高级工程师,主要研究方向为高速光通信、光模块器件、量子信息等。
张海懿
中国信息通信研究院技术与标准研究所所长,正高级工程师,主要研究方向为高速光通信、量子信息、网络人工智能等。
论文引用格式:
赖俊森, 赵文玉, 张海懿. 量子计算信息安全威胁与应对策略分析[J]. 信息通信技术与政策, 2024, 50(7): 24-29.
量子计算信息安全威胁与应对策略分析
赖俊森 赵文玉 张海懿
(中国信息通信研究院技术与标准研究所,北京100191)
摘要:量子计算在理论上已被证明具有远超现有经典计算的公钥密码破解能力。近年来量子计算发展迅速,引发公钥密码破解的信息安全威胁日益迫近,应对量子计算信息安全威胁已成为全球信息安全管理机构和信息通信等行业的关注热点。分析量子计算信息安全威胁及影响,探讨抗量子密码和量子密钥分发两种主要应对策略的技术优劣势和应用发展趋势,提出应对量子计算信息安全威胁的发展建议。
关键词:量子计算;信息安全;抗量子密码;量子密钥分发
0 引言
量子计算有望带来计算范式变革和算力飞跃,成为赋能数字经济、加速信息产业发展的重要驱动力,但同时也可能引发对密码学底层数学难题进行快速计算破解的信息安全威胁。当前,量子计算领域科技攻关和工程研发进展迅速,引发密码破解的风险已在全球引起信息安全行业的高度重视。抗量子密码(Post Quantum Cryptography,PQC)通过升级底层数学困难问题提供新型公钥密码算法,量子密钥分发(Quantum Key Distribution,QKD)基于量子物理学原理提供对称密钥共享,二者是应对量子计算信息安全威胁的主要方案。
1 量子计算信息安全威胁及影响
1.1 量子计算破解密码“牵一发而动全身”
密码是保障网络空间信息安全和维护数字信任体系的重要基石,在确保实体身份“真实性”、数据传输“机密性”和“完整性”、关键行为“不可否认性”等方面,发挥着不可替代的作用。对于对称加密算法,如高级加密标准(Advanced Encryption Standard,AES)和SM4.0分组密码标准等,能有效运行Grover算法的量子计算机可一定程度提升密文破解计算效率,但业界认为增加对称密钥长度可有效应对其安全威胁[1]。对于非对称加密算法,如RSA和椭圆曲线密码(Elliptic Curve Cryptography,ECC)等,能有效运行Shor算法的量子计算机可快速求解质因数分解和离散对数等算法底层数学难题,从而破解公钥密码,进而对基于公钥密码进行的密钥交换、数字签名和身份认证等诸多加密应用造成严重影响[2]。
量子计算破解公钥密码引发网络信息安全风险“牵一发而动全身”,不仅会对网络空间数字信任体系造成破坏性威胁,扰乱政治、经济、社会正常运行秩序,还会给需要长期保密的敏感信息带来“先截获,后破解”的追溯性威胁[3]。例如,互联网服务商和政务信息网站等平台的数字证书遭破解,可能造成大规模用户信息泄露、网站劫持和不良信息传播等政治与社会风险。能源、电力、交通等关键基础设施的测控信息遭篡改,可能导致设施瘫痪、破坏和人员财产损失等重大安全事故。金融、医疗等领域的电子认证系统遭破解,可能引发伪造合同、保单、电子病历等威胁金融秩序和经济运行的风险。
1.2 量子计算发展迅速,安全威胁日益迫近
美国兰德公司曾做出预测,能够破解密码的量子计算机将在2033年左右出现[4]。当前的量子计算原型机在量子比特规模、相干时间、逻辑门保真度、制备测量精度和量子体积等关键性能指标方面,距离有效运行Shor算法和破解公钥密码还有很大差距。然而需要看到,一方面,全球主要国家和科技巨头在量子计算领域保持高强度研发投入,科技攻关和工程研发成果不断涌现,超导、离子阱、中性原子等技术路线的量子比特规模迅速提升,量子纠错实验研究持续取得突破性进展,量子计算发展呈现加速趋势[5]。另一方面,量子计算破解密码算法研究也在不断深化。2023年9月,美国纽约大学Oded Regev提出Shor算法优化方案,提升质因数分解计算效率,降低逻辑量子比特硬件资源需求,成为Shor算法提出以来最重要的改进[6]。2023年10月,美国麻省理工学院Seyoon Ragavan和Vinod Vaikuntanathan[7]优化Regev算法,维持运算操作次数不变,进一步降低了逻辑量子比特资源需求,大幅提升了量子质因数分解算法的可实现性。综合来看,量子计算原型机硬件能力的迅速提升,结合密码破解算法效率和可实现性的不断优化,可能导致量子计算破解公钥密码的信息安全威胁更快到来。
2 PQC研究与应用进展
2.1 欧美在PQC领域研究近三十年,积累深厚
1994年Shor算法出现,量子计算破解公钥密码开始具备理论可行性,欧美密码学界迅速响应,着手研究应对策略。1996年,PQC概念和格加密等算法被提出,并在后续二十年间开展了大量基础理论、算法设计和密码分析层面的研究工作[2]。PQC针对量子计算中量子态叠加和纠缠带来的计算并行性算力优势,升级底层数学难题,设计新型加密算法,具备抵抗已知量子计算算法破解能力。格加密和哈希签名等典型PQC算法的底层数学难题,面对量子计算攻击具有理论安全性,已在密码学界得到验证。近十年来,量子计算发展加速,公钥密码破解的现实威胁更加紧迫,欧美加快推动PQC发展。美国国家标准与技术研究院(National Institute of Standards and Technology,NIST)作为现有公钥密码标准的制定机构,高度重视量子计算安全威胁,自2006年始开始组织国际研讨会,成立研究项目组,联合全球密码学界力量共同推进PQC研究。欧洲电信标准化协会在抗量子密码领域发布十余份研究、评估和指导报告,组织开展技术测试和示范应用[8]。加拿大建设抗量子密码测试平台,对多种算法和协议开展集成化测试。经过二十余年的研究和验证,以格加密和哈希签名等为代表的PQC算法和技术初步成熟,具备了实用化能力。相比而言,我国PQC算法研究、安全性评估和标准研制等起步较晚,技术研究基础相对较为薄弱。
2.2 NIST引领PQC标准制定,取得初步成果
美国NIST于2016年12月正式启动了PQC算法标准的全球征集与评选工作,耗时7年,经历算法征集、算法评估和标准编制3个阶段。2023年8月,NIST在全球25个国家提交的82项候选算法中,选定了Kyber、Dilithium、Sphincs+和Falcon算法,作为下一代公钥加密和数字签名等应用的首批PQC算法标准方案。Kyber、Sphincs+和Dilithium算法标准草案已在2023年公布[9],Falcon算法标准草案预计在2024年推出。在首批4种PQC算法标准选项中,业界对基于格加密的Kyber和Dilithium算法认可度较高,其加密安全性、密钥大小和运算速度等指标领先,综合性能出众,预计将成为大多数加密应用场景中PQC算法的首选方案。另一个基于格加密的Falcon算法可用于数字签名,其签名尺寸更小,整体性能更好,但实现复杂度较高,主要适用于硬件资源丰富的加密场景。为了不完全依赖格加密算法的安全性,NIST还选择了一种基于哈希算法的Sphincs+数字签名算法,但其签名尺寸大、运算速度较慢,预计将是数字签名应用的一种补充性方案。此外,NIST还在持续组织针对PQC数字签名算法的新一轮征集,未来可能还会选择其他PQC算法方案开展标准化。
2.3 美国全方位布局加快推动PQC迁移与应用
随着PQC算法标准化初步落地,美国开始加快推进PQC迁移,科技巨头也率先推出PQC加密应用产品和服务。美国政府发布多项行政令和法案,确立PQC迁移重要地位,在明确战略目标、提供资金保障、制定实施方案等方面形成推动迁移落实的“组合拳”。2022年5月,美国总统拜登签署国家安全备忘录,要求美国的所有部门在2035年前完成抗量子密码迁移。2022年12月,美国《量子计算网络安全防范法》正式生效,旨在推动政府信息系统PQC迁移。2023年8月,美国国家安全局(National Security Agency,NSA)和NIST等[10]联合发布了《量子准备:向后量子密码迁移》,对业界开展PQC迁移工作给出整体指导意见。2023年9月,美国国家网络安全中心启动了“抗量子密码迁移项目”,明确迁移工作流程,同时推荐IBM、亚马逊、思科等28家PQC技术产品与服务供应商。在美国政府支持下,谷歌公司、苹果公司等科技巨头开始推出抗量子密码产品和应用。2023年8月,谷歌公司宣布Chrome浏览器开始支持PQC加密服务,用于保护客户端与服务器安全通信。2024年2月,苹果公司采用基于格密码的PQC技术对iMessage通信平台进行安全性升级。2024年3月,超威半导体公司(Advanced Micro Devices, AMD)推出支持PQC算法的FPGA SoC产品“Spartan UltraScale+”。在PQC升级迁移和应用的初期阶段,加密应用供应商普遍采用传统公钥加密算法和PQC算法并用的“两把锁、双保险”混合加密模式进行迁移,未来逐步过渡到仅使用PQC算法加密模式。
3 PQC应用发展前景
3.1 PQC算法和应用安全性需进一步验证
虽然PQC研究已持续近三十年,近期在算法评估和标准化方面也取得初步进展,但由于对量子计算硬件和破解算法的研究仍不充分,业界对于现有PQC算法能否完全抵御量子计算破解仍有一定顾虑。NIST在PQC算法标准化过程中选择多种算法方案,并持续进行征集评估,既有适用不同应用场景的灵活性考虑,又有“不把所有鸡蛋放在同一个篮子”的安全性考虑。对PQC算法安全性的评估和验证将是伴随PQC迁移与应用全生命周期的持续性工作。2024年,陈一镭[11]提出破解格密码的量子算法。Bambury和Nguyen[12]提出可削弱格密码中N次截断多项式环结构复杂性的量子启发算法,虽然这些攻击算法的有效性还有待密码学界的深入评估和验证,但对于PQC算法安全性的挑战也引发业界的高度关注。
3.2 PQC算法国际标准将持续开展研究
国际标准化组织/国际电工委员会第一联合技术委员会(ISO/IEC JTC1)信息安全工作组(SC27)在2020年5月发布PQC研究报告SD8,综述多种PQC算法方案[13]。目前,ISO/IEC JTC1正在开展的PQC国际标准主要有两项:一是由德国于2022年4月提出,拟采用Frodo、Classic McEliece、Kyber等PQC算法,对现有公钥加密国际标准ISO/IEC 18033-2:2006/WD Amd 2进行增补,目前处于工作草案阶段;二是由日本于2023年10月提出,采用基于NTRU格的加密算法,目前处于预研项目阶段。其中,Frodo算法采用无结构格加密,安全性更可靠,但公私钥尺寸和计算性能较差,适用于需要长期保密的高安全场景。Classic McEliece算法基于纠错编码方案构建密钥封装,安全性方面有一定优势,但公钥很大,密钥生成速度较慢,可能在无需频繁传输公钥的应用场景中具有优势。值得注意的是,德国、荷兰和日本等国家推动的Frodo、Classic McEliece和NTRU等PQC算法,虽因性能较差、实现复杂等未能入选为NIST的PQC算法标准,但出于维护PQC技术独立性和应用安全性等考虑,各国仍积极推动其成为国际标准。
3.3 PQC升级迁移是一项长期系统性工程
PQC技术要从算法标准走向产品应用,还需要进行大量的产品级和系统级的研究开发、测试验证和更新适配等工作,才能明确密钥、密文和签名参数设置,以及计算处理和故障处理等能力要求,完成与目标系统架构和环境的适配和升级。开展PQC升级迁移是一项复杂系统工程,大致可分为迁移需求分析、升级方案制定和示范应用推广3个主要阶段。首先,PQC迁移需求分析包括明确信息系统标准、软硬件模块、密钥管理软件和代码等方面的PQC升级需求和迁移清单,针对需求清单分析算法性能、带宽、存储等技术需求,研究算法替换与补偿方案。其次,PQC迁移方案制定需要根据需求清单分析不同信息系统安全生命周期和迁移优先级,同时还要根据不同系统制定具体迁移实施方案,设立示范应用项目,并为信息系统使用方提供技术产品支持和迁移指导。最后,根据PQC在重点行业领域升级迁移的示范应用成效和问题,逐步推动其他相关行业领域的信息安全系统迁移,完成各行业PQC整体升级。
4 QKD技术优劣势分析
4.1 QKD可用于提升对称加密安全性
QKD通过单光子或光场正则分量的量子态制备、传输和测量,结合经典通信和身份认证辅助的协议后处理,可在收发双方之间实现具备理论安全性证明的安全密钥共享。QKD密钥与AES和SM4等对称加密算法结合,可实现信息加密传输,也称为量子保密通信。量子保密通信主要优势在于:一方面,QKD生成的对称密钥具有物理学原理保障的安全性,密钥分发过程不会受到量子计算破解威胁;另一方面,使用QKD密钥可提升对称加密算法中的会话密钥更新速率。通过增加对称加密算法中的会话密钥长度和提升密钥更新速率,可以增强量子保密通信系统的密文在面对量子计算攻击时的整体安全性。对于具备城域点到点光纤专线的专网场景,可以采用QKD实现对称密钥生成,基于预置共享密钥进行身份认证,同时使用一次一密的逐比特加密方式生成密文,提供更高安全等级的量子加密应用。
4.2 QKD技术应用仍面临问题与挑战
QKD技术的实用化和工程化水平有待提升,系统和网络现实安全性仍需验证,与信息与通信技术(Information and Communications Technology, ICT)系统和网络的有效融合应用还要进一步探索。首先,商用QKD系统的密钥成码率和单跨段光纤传输距离等关键性能指标仍有较大提升空间,测量设备无关和双光场等新型协议QKD系统仍处于科学研究与实验探索阶段,距离实用化较远。QKD系统基于极微弱光信号传输来生成密钥和保障安全性的技术方案,对提升系统工程化水平,以及部署和运维的鲁棒性和可靠性带来了原理性挑战。其次,QKD系统组件的实际性能与理论协议安全性证明中的假设条件难以完全匹配,QKD系统的现实安全性需要开展攻击防御研究和相关测评验证。由于量子中继技术尚未成熟,远距离大规模QKD组网需要依靠密钥落地存储中继的“可信中继”节点实现,中继密钥的存储转发不再具有量子物理特性,削弱了QKD密钥的安全性优势。最后,QKD技术仅提供了对称密钥生成功能,并非完整的端到端加密解决方案,还需要借助专用硬件系统和光纤资源支持才能使用。对于大多数加密应用场景而言,相较于QKD技术可提供的服务功能与安全性收益而言,其系统部署和运维等成本高昂,通常难以让用户真正接受,导致市场规模与产业发展受限。QKD系统与ICT系统和网络的融合部署方案与加密应用场景等,也有待于业界进一步探索和开拓。
5 我国应对策略建议
量子计算是引领未来科技革命和产业变革方向的重大颠覆性创新,加快推动量子计算的发展与应用,已经成为全球主要国家的普遍共识。在开发和利用量子计算的算力优势,赋能经济社会发展的同时,应对量子计算破解公钥密码可能引发的信息安全威胁,也是全球各国信息通信领域主管部门和产业界的共同关注和努力方向。
我国应对量子计算信息安全威胁的建议包括以下几方面。
一是高度重视量子计算破解公钥密码的发展趋势,开展信息安全威胁研究与风险评估,尤其要重点关注对需长期保密的敏感信息可能造成的“先截获、后破解”追溯性威胁,以及对政务信息系统、互联网公共平台、关键基础设施网络,以及金融、医疗等重要信息系统和网络空间数字信任体系的破坏性威胁。
二是加快PQC算法研究、安全性评估和标准研制,掌握PQC技术产品和解决方案,同时积极参与PQC国际标准研究工作,贡献中国算法方案。组织开展PQC技术产品测试验证和试点应用,制定不同行业领域的PQC升级工作方案,稳步推动PQC应用与迁移。
三是基于我国QKD技术发展与应用的实践基础,进一步加强QKD技术研发攻关和产品工程化研发,提升系统性能指标和现实安全性,降低应用部署和运维难度与成本,以产品提质降本打开市场化发展空间,深化探索QKD与ICT系统和网络融合部署与加密应用的有效方案。
四是开展PQC与QKD的技术融合与应用融合研究,形成二者取长补短、适应不同应用场景、发挥各自技术优势的量子信息安全整体解决方案,补齐发展短板,打造竞争长板,构建应对未来量子计算信息安全威胁的体系化解决方案。
6 结束语
随着量子计算的快速发展,现有公钥密码体系的安全风险与日俱增,应对量子计算信息安全威胁已经成为网络信息安全领域不容忽视的关键问题之一。通过发展新型数学困难问题,构造抵抗量子计算攻击的新型公钥密码算法,也称抗量子密码,是数字签名、身份认证和密钥交换等大多数应用场景中应对量子计算信息安全威胁的主流解决方案。基于量子密钥分发,探索高安全需求专网等应用场景中的量子保密通信应用,有望为应对量子计算信息安全威胁带来有益补充。形成抗量子密码与量子密钥分发融合互补的综合应用,有望成为应对量子计算信息安全威胁的未来发展趋势。
Analysis of information security threats for quantum computing and countermeasures
LAI Junsen, ZHAO Wenyu, ZHANG Haiyi
(Technology and Standards Research Institute, China Academy of Information and Communications Technology,Beijing 100191, China)
Abstract: Quantum computing has been theoretically proven to have a public key cryptography cracking capability that far exceeds that of classical computing. In recent years, the rapid development of quantum computing has triggered the information security threat of public key cryptography, which has become raising concern for the global information security authorities and the Information and Communications Technology (ICT) industries. This paper first analyzes the information security threats and impacts of quantum computing. Then, it discusses the technical characteristics and application trends of the two main countermeasures, namely, post quantum cryptography (PQC) and quantum key distribution (QKD). Finally, it puts forward the development suggestions for dealing with the information security threats of quantum computing.
Keywords: quantum computing; information security; PQC; QKD
本文刊于《信息通信技术与政策》2024年 第7期
相关文章:

量子计算信息安全威胁与应对策略分析
作者简介 赖俊森 中国信息通信研究院技术与标准研究所光网络技术与应用研究部主任工程师,正高级工程师,主要研究方向为量子信息、量子通信、量子计算等。 赵文玉 中国信息通信研究院技术与标准研究所副所长,正高级工程师,主要…...

Oracle(112)如何使用RMAN恢复数据库?
使用 RMAN(Recovery Manager)恢复 Oracle 数据库是确保数据在灾难情况下能够得到恢复的关键步骤。以下是详细的指导和代码示例,展示如何使用 RMAN 进行数据库恢复。 1. 准备工作 在开始恢复之前,需要确保以下几点: …...

I2C通信协议
简介 I2C(Inter IC Bus)是由Philips公司开发的一种通用数据总线,由两根通信线:SCL(Serial Clock)和SDA(Serial Data)组成。是一种同步、半双工带数据应答的通信协议,支持…...

使用Python实现智能信用评分系统
1. 项目简介 本教程将带你一步步实现一个智能信用评分系统。我们将使用Python和一些常用的深度学习库,如TensorFlow和Keras。最终,我们将实现一个可以预测信用评分的模型。2. 环境准备 首先,你需要安装以下库: TensorFlowKeraspandasnumpyscikit-learn你可以使用以下命令…...

RocketMQ之发送消息源码分析
RocketMQ之send()源码分析 一、代码序列图 二、关键步骤分析 1、向namesrv拉取队列信息 2、选择目标队列 3、向broker发送消息 三、代码学习 1、代码结构 (设计模式) 2、工具类和方法...

使用宝塔面板安装mrdoc
使用宝塔面板安装mrdoc 1、所需环境2、ubuntu系统安装3、宝塔面板安装4、NginxPHPMySQL安装5、python项目管理器安装6、 python版本安装7、mrdoc的部署7.1、下载项目源码7.2、新建python管理器项目 8、使用MySQL作为默认数据库8.1、安装mysqlclient插件8.2、配置数据库连接信息…...

C++操作符重载实例
C操作符重载实例,我们把坐标值CVector的加法进行重载,计算c3c1c2时,也就是计算x3x1x2,y3y1y2,以下是C代码: #include <iostream> using namespace std;class CVector{public:int x,y;CVector(){} ; …...

Linux高效进程控制的实战技巧
Linux高效进程控制的实战技巧 Linux是一种开源的Unix-like操作系统内核,由林纳斯托瓦兹(Linus Torvalds)于1991年首次发布。Linux以其稳定性、安全性和灵活性而著称,广泛应用于服务器、桌面、嵌入式系统等多个领域。在Linux系统编…...

使用条件变量实现线程同步:C++实战指南
使用条件变量实现线程同步:C实战指南 在多线程编程中,线程同步是确保程序正确性和稳定性的关键。条件变量(condition variable)是一种强大的同步原语,用于在线程之间进行协调,避免数据竞争和死锁。本文将详…...

Spark2.x 入门: KMeans 聚类算法
一 KMeans简介 KMeans 是一个迭代求解的聚类算法,其属于 划分(Partitioning) 型的聚类方法,即首先创建K个划分,然后迭代地将样本从一个划分转移到另一个划分来改善最终聚类的质量。 ML包下的KMeans方法位于org.apach…...

如何快速练习键盘盲打
盲打是指在不看键盘的情况下进行打字,这样可以显著提高打字速度和效率。以下是一些练习盲打的方法: 熟悉键盘布局:首先,你需要熟悉键盘上的字母和符号的位置。可以通过键盘图或者键盘贴纸来帮助记忆。 使用在线打字练习工具&…...

Flask中实现WebSocket需要什么组件
在Flask中实现WebSocket功能,通常不会直接使用Flask本身,因为Flask是一个轻量级的Web框架,主要设计用于处理HTTP请求。然而,你可以通过集成一些第三方库来在Flask应用中支持WebSocket。WebSocket是一种在单个TCP连接上进行全双工通…...

java8 Stream流详解
前言 Java 8引入了一种新的处理集合的方式——Stream API。它提供了一种高级迭代方式,支持函数式编程风格,使得集合操作更加简洁、清晰。本文将详细介绍Java 8 Stream API的核心概念、操作和使用技巧。 Stream API 简介 Stream API是Java 8中的一大亮…...

通信工程学习:什么是AB地址总线、DB数据总线、CD控制总线
AB地址总线、DB数据总线、CD控制总线 在计算机体系结构中,总线(Bus)是一种用于在计算机内部各个组件之间传输信息的物理通道。其中,AB地址总线、DB数据总线和CD控制总线是计算机总线系统中非常重要的三个组成部分,它们…...

CP AUTOSAR标准之EthernetInterface(AUTOSAR_SWS_EthernetInterface)(更新中……)
1 简介和功能概述 该规范指定了AUTOSAR基础软件模块以太网接口的功能、API和配置。 在AUTOSAR分层软件架构[1]中,以太网接口属于ECU抽象层,或者更准确地说,属于通信硬件抽象。 这表明了以太网接口的主要任务: 为上层提供独立于硬件的以太网通信系统接口,该系统…...

Windows系统离线安装使用pm2 管理进程
目录 1. 安装 Node.js 和 npm 2. 创建一个项目目录 3. 初始化 npm 项目 4. 下载 pm2 及其所有依赖 5. 打包 pm2 及其依赖 6. 将打包文件传输到内网服务器 7. 在内网服务器上解压并安装 8. 使用 pm2 总结 在联网的机器上,使用 npm(Node.js 包管理…...

4-4.Andorid Camera 之简化编码模板(获取摄像头 ID、选择最优预览尺寸)
一、Camera 简化思路 在 Camera 的开发中,其实我们通常只关注打开相机、图像预览和关闭相机,其他的步骤我们不应该花费太多的精力 为此,应该提供一个工具类,它有处理相机的一些基本工具方法,包括获取摄像头 ID、选择最…...
【深度学习】向量化
1. 什么是向量化 向量化通常是消除代码中显示for循环语句的技巧,在深度学习实际应用中,可能会遇到大量的训练数据,因为深度学习算法往往在这种情况下表现更好,所以代码的运行速度非常重要,否则如果它运行在一个大的数据…...

基于canal的Redis缓存双写
canal地址:alibaba/canal: 阿里巴巴 MySQL binlog 增量订阅&消费组件 (github.com)https://github.com/alibaba/canal 1. 准备 1.1 MySQL 查看主机二进制日志 show master status 查看binlog是否开启 show variables like log_bin 授权canal连接MySQL账号 …...

以太网交换机工作原理学习笔记
在网络中传输数据时需要遵循一些标准,以太网协议定义了数据帧在以太网上的传输标准,了解以太网协议是充分理解数据链路层通信的基础。以太网交换机是实现数据链路层通信的主要设备,了解以太网交换机的工作原理也是十分必要的。 1、以太网协议…...

ECCV`24 | 蚂蚁集团开源风格控制新SOTA!StyleTokenizer:零样本精确控制图像生成
文章链接:https://arxiv.org/pdf/2409.02543 代码&数据集链接: https://github.com/alipay/style-tokenizer 亮点直击 介绍了一种名为StyleTokenizer的新方法,用于在扩散模型中进行风格控制。这种方法允许通过一个任意参考图像实现对生成…...

Flutter的升级和降级步骤
升级 1.版本升级 // 升级到指定版本 flutter upgrade 版本号 // 升级到最新版本 flutter upgrade 2. 更新开发配置 启动 Android Studio。 打开 Settings 对话框,查看 SDK Manager。 如果你已经打开了一个项目,请打开 Tools > SDK Manager。 如果…...

计算机网络与Internet应用
一、计算机网络 1.计算机网络的定义 网络定义:计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享…...

[建模已更新]2024数学建模国赛高教社杯A题:“板凳龙” 闹元宵 思路代码文章助攻手把手保姆级
本系列专栏将包括两大块内容 第一块赛前真题和模型教学,包括至少8次真题实战教学,每期教学专栏的最底部会提供完整的资料百度网盘包括:真题、数据、可复现代码以及文章. 第二块包括赛中详细思路建模、代码的参考助攻, 会提供2024年高教社国赛A的全套参考内容(一般36h内更新完毕…...

Spring Boot-自定义banner
在 Spring Boot 应用中,你可以自定义启动时显示的 banner。这些 banner 可以包括图形、文字或者其他形式的标识。如图所示: 1. 使用 banner.txt 文件 默认情况下,Spring Boot 使用项目的 banner.txt 文件中的内容作为启动时的 banner。你可以…...

2158. 直播获奖(live)
代码 #include<bits/stdc.h> using namespace std; int main() {int n,w,a[100000],cnt[601]{0},i,j,s;cin>>n>>w;for(i0;i<n;i){scanf("%d",&a[i]);cnt[a[i]];int x(i1)*w/100;if(!x) x1;for(j600,s0;j>0;j--){scnt[j];if(s>x){cou…...

python---爬取QQ音乐
如Cookie为非vip,仅能获取非vip歌曲 1.下载包 pip install jsonpath 2.代码 import os import time import requests from jsonpath import jsonpathdef search_and_download_qq_music(query_text):headers {User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; …...

tomato靶场攻略
1.使用nmap扫描同网段的端口,发现靶机地址 2.访问到主页面,只能看到一个大西红柿 3.再来使用dirb扫面以下有那些目录,发现有一个antibot_image 4.访问我们扫到的地址 ,点金目录里看看有些什么文件 5.看到info.php很熟悉࿰…...

Django+Vue3前后端分离学习(一)(项目开始时settings.py里的设置)
一、创建django项目 二、修改settings.py里的配置: 1、修改语言和时区: # 语言编码 LANGUAGE_CODE zh-hansTIME_ZONE UTCUSE_I18N True# 不用时区 USE_TZ False 2、配置数据库: DATABASES {default: {ENGINE: django.db.backends.m…...
一些数学经验总结——关于将原一元二次函数增加一些限制条件后最优结果的对比(主要针对公平关切相关的建模)
1.没有分段的情况 原函数为一元二次凹函数(开口向下),如下: 因为要使得其存在正解,必须满足,那么。 上述函数的最优结果为:,。 对应的mathematica代码如下: Clear[&q…...