当前位置: 首页 > news >正文

[终端安全]-8 隐私保护和隐私计算技术

1 隐私保护相关法规和标准

1)国内法规和标准

1.1)中华人民共和国网络安全法(2017年)

   - 规定了个人信息的保护和数据安全的基本原则。

   - 要求网络运营者采取措施防止数据泄露、篡改和丢失。

1.2)信息安全技术:个人信息安全规范(GB/T 35273-2020)

   - 国家标准,规定了个人信息保护的具体要求和实施指南。

1.3)数据安全法(2021年)

   - 涉及数据处理、数据安全管理、数据安全保护等方面的要求。

1.4)中华人民共和国个人信息保护法(2021年)

   - 明确了个人信息处理的基本原则和要求。

   - 规定了个人信息处理者的责任和义务。

   - 保护个人在个人信息处理过程中的知情权、访问权、纠正权等。

2)国际法规和标准

2.1)欧洲通用数据保护条例(GDPR)(2018年发布,被称为欧盟史上最严条例)

   - 全球影响力最大的隐私保护法规之一。

   - 规定了数据保护的基本原则,如合法性、公平性、透明性等。

   - 强调数据主体的权利,包括访问权、纠正权、删除权、数据可携权等。

   - 设有高额罚款和严格的合规要求。

2.2)美国:加州消费者隐私法案(CCPA,2018年)

   - 强调消费者对其个人信息的控制权,包括访问权、删除权和拒绝出售权。

2.3)其它:

   - 日本:个人信息保护法(APPI)规定了关于处理个人信息的基本要求和隐私权保护框架。

   - 加拿大:个人信息保护与电子文档法(PIPEDA)适用于商业组织收集、使用和披露个人信息。

   - 澳大利亚:隐私法(Privacy Act)含13项隐私原则(APPs)用于管理个人信息的处理。

   - ISO/IEC 27001:国际标准,提供了信息安全管理体系(ISMS)的要求和指导。

2 隐私保护技术

1)数据加密

- 对称加密(如AES):同一个密钥用于加密和解密。

- 非对称加密(如RSA):公钥加密,私钥解密。

2)匿名化和伪匿名化

- 数据匿名化:移除个人身份信息,使数据无法被识别。

- 伪匿名化:用假名或其他方式替换个人身份信息,降低被识别风险。

3)访问控制

- 基于角色的访问控制(RBAC):根据用户角色分配访问权限。

-基于属性的访问控制(ABAC):根据用户属性和环境条件分配访问权限。

4)隐私计算

- 在保护数据隐私的前提下,对数据进行计算和处理。

- 包括差分隐私、同态加密、联邦学习、多方安全计算等技术。

3 隐私计算技术

1)差分隐私计算

差分隐私(Differential Privacy,DP)是一种技术,旨在通过添加噪声保护个体隐私,从而确保数据库中单个记录的存在与否不会显著影响查询的结果,这使得攻击者难以从查询结果中推断出关于个体的信息。

一个算法A被称为ϵ-差分隐私的,如果对于任意两个只差一个记录的数据库D和D',以及任意一个输出集合 S ⊆Range(A),都有:Pr[A(D)∈S] ≤ eϵPr[A(D′)∈S],其中:ϵ是隐私预算参数,值越小隐私保护越强,D和D'是任意两个只差一个记录的数据库。

1.1)实现机制

差分隐私主要通过添加噪声来实现,这些噪声通常是从特定的分布中抽取的。

A)拉普拉斯机制

拉普拉斯机制是最常见的差分隐私机制之一,通过向查询结果添加拉普拉斯噪声来实现。

数学公式:给定函数f和参数ϵ,定义拉普拉斯机制为:A(D)=f(D)+Lap(Δf/ϵ),其中:Lap(b)是参数为b的拉普拉斯分布,Δf是函数f的全局敏感度,定义为:Δf=maxD,D'∣∣f(D)−f(D')∣∣1​。

B)高斯机制

高斯机制通过添加高斯噪声来实现差分隐私,通常用于满足(ϵ,δ)差分隐私,其中δ是隐私损失的概率。

数学公式:给定函数 f,高斯机制定义为:A(D)=f(D)+N(0,σ2),其中:N(0,σ2)是均值为 0,方差为σ2的高斯分布,σ决于隐私预算参数ϵ和 δ,以及函数f 的敏感度。

C)指数机制

指数机制用于选择最优输出,使其满足差分隐私,适用于离散数据。

数学公式:对于输出集合O,每个输出o∈O的选择概率为:Pr[A(D)=o]∝exp(ϵu(D,o)/ 2Δu),其中:u(D,o)是效用函数表示输出o 对数据库D 的效用,Δu是效用函数的敏感度。

1.2)典型应用

- 统计查询:在数据集中进行聚合查询如计算平均值、总和等,通过添加噪声保护个体隐私。

- 机器学习:训练差分隐私模型,保护训练数据集的隐私。

- 发布数据:发布差分隐私的合成数据,保护原始数据隐私。

- 数据共享:在多个机构之间共享数据,确保数据隐私。

A)谷歌的RAPPOR:随机可聚合隐私保护序列响应用于收集用户行为数据,通过随机化响应和差分隐私技术确保单个用户的行为数据不泄露。Google Chrome使用RAPPOR来收集用户的浏览器设置、使用情况等信息,确保个人数据不会被泄露。

B)苹果的差分隐私:苹果在键盘输入、Emoji使用、Safari浏览器等方面使用差分隐私技术,收集用户数据来提升预测和推荐功能,同时保护用户隐私。

C)微软的Differential Privacy Library:提供差分隐私的工具和库,帮助开发者在应用中集成差分隐私技术。例如微软在Windows系统的遥测数据收集中使用差分隐私技术,确保用户使用数据的隐私安全。

2)同态加密

同态标识一种加密运算特征,即明文和密文之间存在确定的同步变换规则;同态加密(Homomorphic Encryption,HE)是一种允许对加密数据进行特定计算操作的加密技术,而这些操作的结果在解密后保持有效。

2.1)基本概念

同态加密的关键特性是它允许在密文上执行某些操作,而结果仍然保持加密状态。主要有两种同态操作:加法同态(密文的加法操作对应于明文的加法)和乘法同态(密文的乘法操作对应于明文的乘法)。

- 半同态加密(PHE):仅支持加法或乘法中的一种操作。

- 全同态加密(FHE):支持任意多次的加法和乘法操作。

2.2)半同态-RSA

RSA 加密不具备加法同态,但可以用乘法实现某种意义上的同态操作,其安全性基于大数因式分解的困难问题。

c=E(m)=me mod n,E(m1​)⋅E(m2​)=( m1e mod n) (m2e mod n) = (m1 m2) e mod n = E(m1 m2)。

2.3)半同态-Paillier 加密

Pailier支持加法同态,是目前使用较多的部分同态加密算法,其安全性基于判定合数剩余类问题。

- 密钥生成:n = pq,g∈Zn2*,生成公钥 (n, g) 和私钥λ。

- 加密:E(m)=gm⋅rn mod n2,其中m是明文,r是随机数。

- 同态加法:E(m1)⋅E(m2)=(gm1⋅r1n)⋅(gm2⋅r2n) mod n2=g(m1+m2)⋅(r1r2)n mod n2=E(m1+m2)。

2.4)全同态- Gentry加密

Craig Gentry提出的第一个全同态加密方案,基于理想格(Ideal Lattices)的数学结构。首先构造一个有限同态加密方案,满足低阶密文多项式在计算时同态性,然后用压缩方法解密降低解密过程中多项式系数;加密过程会引入噪声,并会随着运算增大,超出阈值会导致解密失败。Gentry采用自举技术,将接近阈值的噪声密文及密钥分别加密,之后解密算法作为评估函数一部分使其噪声比原始密文噪声小。

- 密钥生成:生成公钥 pk 和私钥 sk,以及一个特殊的“噪声”参数 f)。

- 加密:E(m) = E_{pk}(m + f),其中m 是明文。

- 同态加法:E(m1) + E(m2) = E(m1 + m2)

- 同态乘法:E(m1)⋅E(m2)=E(m1⋅m2)

备注:结合自举技术或重线性化技术对噪声的减小,层次性同态加密可转换为全同态加密。BFV是目前最有影响力方案之一,其安全性依赖于RLWE困难问题;GSW来源矩阵的近似特征向量,其安全性最终依赖于LWE困难问题。

2.5)硬件实现

实现基本的加密和解密操作,通常需要高效的模运算单元(模加、模乘、模幂运算等)和随机数生成器;支持在密文上进行同态加法和乘法运算,并保持密文中的噪声在可控范围内,需设计专门的运算单元来处理这些操作。FHE算法涉及大数的加法、乘法和幂运算,这些运算的复杂度随密钥长度指数增长;每次同态运算都会引入噪声,累积的噪声会增加解密的复杂度;还需要进行多次迭代运算,每次迭代都会增加计算复杂度,因此FHE算法复杂度较高,需要复杂的硬件设计并消耗较高的计算资源。

2.6)典型应用

- 在云端对加密数据进行处理,如搜索、统计分析等,保证数据传输和存储过程中的隐私性。

- 对加密的患者数据进行分析,保护隐私的同时允许数据共享和协作。

3)多方安全计算

多方计算(MPC,Multi-Party Computation)是一种密码学技术,允许多个参与方在不泄露各自输入的情况下共同计算一个函数的输出,核心思想是确保每个参与方只了解自己的输入和最终计算结果,而不暴露其他参与方的输入。

3.1)核心协议

A)混淆电路

Yao的加密电路协议将计算表示为布尔电路,然后对电路中的每个门进行加密,加密后的电路只能通过特定的密钥进行计算。

- 生成布尔电路表示计算。

- 对电路中的每个门进行加密。

- 参与方交换加密电路和密钥。

- 计算加密电路,得到最终结果。

B)秘密共享

将每个输入数据分割成若干份(称为份额),分发给所有参与方。每个参与方只有其中一部分数据,无法单独恢复原始数据。典型方案Shamir秘密共享,将秘密 S分割成 n份。

- 发份额给 n个参与方。

- 参与方根据秘密共享协议执行计算,得到加密结果。

- 汇总计算结果,恢复最终结果。

BGW协议:Ben-Or, Goldwasser, and Wigderson提出的一种秘密共享基础上的MPC协议,支持任意数量的加法和乘法操作。

假设有两个参与方A和B,他们分别持有输入x和y,MPC的目标是计算函数 f(x,y) 而不泄露x和y。

- 秘密共享:将 x和y分成若干份,分发给参与方。x→{x1,x2,…,xn},y→{y1,y2,…,yn},其中,x1+x2+…+xn=x和 y1+y2+…+yn=y。

- 加法和乘法:参与方按照协议执行加法和乘法操作,得到加法和乘法的秘密共享结果。

- 结果恢复:将计算结果的份额汇总,恢复最终计算结果。

f(x,y)→{f1,f2,…,fn},其中,f1+f2+…+fn=f(x,y)。

3.2)典型应用

电子投票:MPC可以确保投票过程中每个选民的选择保密,同时能够正确计算投票结果。

隐私保护统计分析:多个机构可以在不泄露各自数据的情况下,共同进行统计分析,如联合医疗数据分析。

安全多方机器学习:在不泄露训练数据的情况下,多个机构可以共同训练机器学习模型。

4)联邦学习

联邦学习(FL)是一种分布式机器学习方法,允许多个参与方在不共享本地数据的情况下共同训练一个全局模型,从而在保护数据隐私的同时实现协作学习。联邦学习的基本思想是通过在本地设备上训练模型,然后将本地模型的更新发送到中央服务器进行汇总和优化,最后将更新后的全局模型分发回本地设备进行下一轮训练。

- 本地训练:各参与方(如智能手机、物联网设备等)在本地数据上独立训练模型,训练过程中,数据不离开本地设备,确保数据隐私。

- 模型聚合:各参与方将本地训练得到的模型参数或梯度发送到中央服务器,服务器汇总这些参数或梯度,更新全局模型。

- 全局模型更新:中央服务器将更新后的全局模型分发给各参与方,各参与方基于新的全局模型继续进行本地训练,进入下一轮迭代。

4.1)工作流程

- 初始化全局模型:服务器初始化一个全局模型,并将其分发给所有参与方。

- 本地训练:各参与方在本地数据上使用全局模型进行训练,并计算模型更新(如权重、梯度等)。

- 上传本地更新:各参与方将本地更新发送到中央服务器。

- 模型聚合:服务器汇总所有参与方的更新,计算全局模型更新。常见的聚合方法是加权平均:wt+1=∑i=1N(ni/n)wti,其中wt是第 t轮的全局模型参数,wti是第 i个参与方在第 t轮的本地模型参数,ni是第i个参与方的数据量,n是所有参与方的数据总量。

- 分发更新后的全局模型:服务器将更新后的全局模型分发给各参与方。

- 迭代训练:各参与方基于更新后的全局模型进行下一轮本地训练,重复上述过程直到模型收敛或达到预定的训练轮数。

4.2)关键技术

安全多方计算:用于在模型聚合过程中保护参与方的模型更新隐私,通过加密技术确保参与方的更新在汇总过程中不被泄露。

差分隐私:在本地更新过程中添加噪声,以保护参与方的隐私,确保单个参与方的更新对全局模型的影响有限。

同态加密:允许在加密数据上进行计算保护模型更新隐私,在模型聚合过程中通过同态加密确保更新过程中的隐私安全。

通信效率优化:采用梯度压缩、模型剪枝、知识蒸馏等技术,降低通信成本。

4.3)联邦分类

- 横向联邦学习也称为样本并行联邦学习,主要适用于参与方的数据集在特征空间相似但样本空间不同的情况。例如不同医院拥有不同的病人数据集,但每个病人数据集都包含相同的医疗特征(如血压、血糖等)。

- 纵向联邦学习也称为特征并行联邦学习,适用于参与方的数据集在样本空间相似但特征空间不同的情况。例如不同金融机构拥有相同客户的不同信息,一个机构有客户的交易记录,另一个机构有客户的信用记录。

- 迁移学习旨在将已在源任务上训练好的模型知识迁移到目标任务中,减少目标任务的数据需求和训练时间。例如从图像识别领域训练的模型中迁移知识到医疗图像分析领域。

4.4)典型应用

- 在智能手机、智能手表、物联网设备上实现分布式协作学习,提升个性化模型的性能。例如Gboard 输入法使用联邦学习提高输入预测准确性。

- 各医疗机构在不共享病人数据的前提下,共同训练医学模型。例如医院之间共享癌症诊断模型,提高诊断准确率。

- 银行和金融机构在保护客户隐私的前提下,共同训练欺诈检测模型。例如联合信用评分模型,提升风险管理能力。

- 各城市部门在不共享敏感数据的情况下,共同训练交通、能源管理等模型。例如城市交通流量预测模型,提升交通管理效率。

5)零知识证明

零知识证明(ZKP)是一种密码学协议,允许一方(证明者)向另一方(验证者)证明某个陈述的真实性,而无需透露任何关于该陈述的额外信息。

- 完备性:如果陈述是真,诚实的证明者可以使得验证者相信这一事实。

- 可靠性:如果陈述是假的,任何试图欺骗的证明者都无法使验证者相信这一事实,除非极小概率事件发生。

- 零知识性:如果陈述是真,证明过程不会泄露任何关于该陈述的额外信息。

5.1)交互式零知识证明

证明者和验证者通过多次交互完成证明过程,一般需要在双方之间采取挑战、应答方式,经典例子基于图同构的零知识证明。

Schnorr协议

Schnorr身份认证协议由德国密码学家Claus Schnorr于1990年提出,其安全性依赖离散对数求解困难问题,并且该协议基于乘法群运算,可提前计算参数减少证明者计算资源。

设置:公开参数 (g, p, q),私钥 x,公钥 y=gx mod  p。

承诺:证明者选择随机数 r,计算 t=gr mod  p并发送给验证者。

挑战:验证者选择随机数 c并发送给证明者。

响应:证明者计算 s = r + cx  mod q并发送给验证者。

验证:验证者检查 gs=?t⋅yc mod  p。

5.2)非交互式零知识证明

证明过程不需要交互,通常需要可信的公共参数,常用于区块链和智能合约。

zk-SNARK

设置:生成可信公共参数 (pk,vk)。

证明生成:证明者使用 pk生成证明 π,π=Prove(pk,statement,witness)。

验证:验证者使用 vk验证 π,Verify(vk,statement,π)。

5.3)典型应用

- 区块链:用于隐私保护和验证交易的有效性,如Zcash中的zk-SNARK。

- 身份验证:用于证明用户身份的有效性而不泄露身份信息。

- 安全计算:用于多方计算中的数据隐私保护。

6)可信执行环境

可信执行环境(TEE)是一种基于硬件的安全技术,提供一个隔离的计算环境,确保敏感数据和代码在隔离环境中安全执行。

6.1)核心组件

安全处理器:专用处理器负责处理敏感数据和执行敏感代码。

内存隔离:隔离内存区域,用于存储敏感数据和代码,防止未经授权的访问。

安全启动:确保在启动时加载的代码是可信的,并防止恶意代码的注入。

加密和解密模块:提供硬件加速的加密和解密功能,保护数据的机密性和完整性。

6.2)典型实现

ARM TrustZone:ARM架构中的安全扩展,通过硬件隔离创建安全和非安全世界,分别运行可信和非可信代码。请参照笔者之前文章:[终端安全]-3 移动终端之硬件安全(TEE)

Intel SGX:英特尔的安全扩展,通过创建隔离的安全区域(enclaves),保护敏感数据和代码的执行。

A)核心技术

- 安全启动:确保在启动时加载的代码是可信的。

- 内存加密:对enclave内存进行加密,防止未经授权的访问。

- 远程认证:允许远程验证enclave的完整性和可信性。

B)架构

- Enclave:隔离的安全区域,用于执行敏感代码和存储敏感数据。

- CPU支持:需要支持SGX指令集的CPU。

- 内存隔离:通过内存加密技术保护enclave内存。

AMD SEV (Secure Encrypted Virtualization)是一种硬件安全技术,通过加密虚拟机的内存,保护虚拟机中的数据和代码。

A)核心技术

- 内存加密:对虚拟机的内存进行加密,防止宿主机或其他虚拟机的访问。

- 密钥管理:使用硬件安全模块管理加密密钥。

- 远程认证:允许远程验证虚拟机的完整性和可信性。

B)架构

- 虚拟机管理程序(VMM):支持SEV技术的虚拟机管理程序。

- CPU支持:需要支持SEV指令集的CPU。

- 内存加密:通过内存加密技术保护虚拟机内存。

相关文章:

[终端安全]-8 隐私保护和隐私计算技术

1 隐私保护相关法规和标准 1)国内法规和标准 1.1)中华人民共和国网络安全法(2017年) - 规定了个人信息的保护和数据安全的基本原则。 - 要求网络运营者采取措施防止数据泄露、篡改和丢失。 1.2)信息安全技术&#x…...

MySQL 日志深度解析:从查询执行到性能优化

引言 MySQL 日志是数据库管理员和开发者的宝贵资源,它提供了查询执行的详细情况,帮助我们诊断问题和优化性能。本文将深入分析一个具体的 MySQL 日志条目,解释其含义,并提供针对性的优化建议。 日志信息概览 让我们先来快速了解…...

sql server 练习题5

课后作业 在homework库下执行 作业1: 案例:根据用户分数划分等级。小于60分为不及格,[60,80)为及格,[80,90)为良好,大于等于90分以上为优秀。 建表语句: CREATE TABLE Grades ( ID INT PRIMARY KEY, Name V…...

ai伪原创生成器app,一键伪原创文章效率高

如今,在自媒体创作的领域,ai伪原创生成器app的出现,给写作带来了一种全新的方式和效率。ai伪原创生成器app通过使用先进的自然语言处理技术和深度学习算法,能够将原始文章进行重组和改写,生成新的文章,从而…...

【ZhangQian AI模型部署】目标检测、SAM、3D目标检测、旋转目标检测、人脸检测、检测分割、关键点、分割、深度估计、车牌识别、车道线识别

在模型部署落地(主要部署到rk3588)折腾了这么多年,把这些年折腾过的模型整理了一下,所有的流程说明、代码模型都完全开放的,欢迎交流学习。有的是为了项目、有的是为了学习、还有的是为了找点事做、有的完全是为了安抚…...

DROO论文笔记

推荐文章DROO源码及论文学习 读论文《Deep Reinforcement Learning for Online Computation Offloading in Wireless Powered Mobile-Edge Computing Networks》的笔记 论文地址:用于无线移动边缘计算网络在线计算卸载的深度强化学习 论文代码地址:DR…...

修BUG:程序包javax.servlet.http不存在

貌似昨晚上并没有成功在tomcat上面运行,而是直接运行了网页。 不知道为啥又报错这个。。。 解决方案: https://developer.baidu.com/article/details/2768022 就整了这一步就行了 而且我本地就有这个tomcat就是加进去了。 所以说啊,是不是&a…...

python常用库

目录 from sklearn import metrics:评估 ​编辑 svm: ​编辑 逻辑回归预测 ​编辑 朴素贝叶斯分类 ​编辑 主成分分析 ​编辑 其实就是求b.T的协方差阵 ​编辑 【因子分析,因子旋转有点复杂,略】 【层次聚类,原理…...

【UE5.3】笔记11

一、变量的SET&&GET 1、创建变量保存数据,如下图,找到左侧我的蓝图下的变量,新增一个,并选择类型。使用的时候直接将变量拖到蓝图中,此时会显示两个选项一个是获取一个是设置。 选择获取就是个GET蓝图&#x…...

加密与安全 密钥体系的三个核心目标之完整性解决方案

在密钥体系中,确保数据完整性是重要目标之一。以下为您详细讲解相关的完整性解决方案: 消息认证码(MAC): 消息认证码是基于共享密钥和特定算法生成的固定长度代码。在发送方,将消息和共享密钥作为输入&…...

FastAPI 学习之路(四十一)定制返回Response

接口中返回xml格式内容 from fastapi import FastAPI, Responseapp FastAPI()# ① xml app.get("/legacy") def get_legacy_data():data """<?xml version"1.0"?><shampoo><Header>Apply shampoo here.</Header&…...

C++ //练习 15.9 在什么情况下表达式的静态类型可能与动态类型不同?请给出三个静态类型与动态类型不同的例子。

C Primer&#xff08;第5版&#xff09; 练习 15.9 练习 15.9 在什么情况下表达式的静态类型可能与动态类型不同&#xff1f;请给出三个静态类型与动态类型不同的例子。 环境&#xff1a;Linux Ubuntu&#xff08;云服务器&#xff09; 工具&#xff1a;vim 解释 当print_t…...

斐波那契查找算法

斐波那契查找原理&#xff0c;仅仅改变了中间结点(mid)的位置&#xff0c;mid不再是中间或插值得到,而是位于黄金分割点附近&#xff0c;即midlowF(k-1)-1(F代表斐波那契数列) F[k]F[k-1]F[k-2],>(F[k]-1) (F[k-1]-1)(F[k-2]-1)1 说明:只要顺序表的长度为F[k]-1,则可以将该…...

CAN总线学习

can主要用于汽车、航空等控制行业&#xff0c;是一种串行异步通信方式&#xff0c;因为其相较于其他通信方式抗干扰能力更强&#xff0c;更加稳定。原因在于CAN不像其他通信方式那样&#xff0c;以高电平代表1&#xff0c;以低电平代表0&#xff0c;而是通过电压差来表示逻辑10…...

zookeeper基础知识学习

官网&#xff1a;Apache ZooKeeper 下载地址&#xff1a;Index of /dist/zookeeper/zookeeper-3.5.7Index of /dist/zookeeperIndex of /dist/zookeeper/zookeeper-3.5.7 ZK配置参数说明&#xff1a; 1、tickTime2000&#xff1a;通讯心跳时间&#xff0c;zookeeper服务器与客…...

C语言内存管理深度解析面试题及参考答案(2万字长文)

在嵌入式面试时,C语言内存管理是必问面试题,也是难点,相关知识点可以参考: C语言内存管理深度解析​​​​​​​ 下面整理了各种类型的C语言内存管理的面试题: 目录 全局变量和局部变量在内存中分别存储在哪个区域? 静态变量和全局变量有什么区别? 什么是作用域?…...

C++基础(二)

目录 1.类和对象 1.1类的定义 1.2访问限定符 1.3类域 2.实例化 2.1实例化概念 2.2对象大小 3.this指针 4.类的默认成员函数 4.1构造函数 4.2析构函数 4.5运算符重载 1.类和对象 1.1类的定义 类的定义格式 class为定义类的关键字&#xff0c;Stack为类的名字&…...

R 绘图 - 中文支持

R 绘图 - 中文支持 R 是一种广泛使用的统计和数据分析编程语言&#xff0c;它提供了强大的绘图功能。然而&#xff0c;R 的默认设置并不直接支持中文&#xff0c;这可能会在使用 R 进行绘图时造成困扰&#xff0c;尤其是当需要在图表中添加中文标签或标题时。本文将介绍如何在…...

使用Godot4组件制作竖版太空射击游戏_2D卷轴飞机射击-标题菜单及游戏结束界面(九)

文章目录 开发思路标题菜单界面标题菜单脚本代码结束菜单界面结束菜单脚本代码 使用Godot4组件制作竖版太空射击游戏_2D卷轴飞机射击&#xff08;一&#xff09; 使用Godot4组件制作竖版太空射击游戏_2D卷轴飞机射击-激光组件&#xff08;二&#xff09; 使用Godot4组件制作竖版…...

[终端安全]-6 移动终端之应用程序安全

笔者在终端安全专题前面的文章中介绍了移动终端硬件安全和操作系统安全&#xff0c;本文主要介绍移动终端应用安全。在本文最前面&#xff0c;笔者想先解答一位朋友的疑问&#xff0c;为什么需要费心打造一个完整的面面俱到的安全体系&#xff1f; 1 移动终端安全的重要性 移…...

vscode里如何用git

打开vs终端执行如下&#xff1a; 1 初始化 Git 仓库&#xff08;如果尚未初始化&#xff09; git init 2 添加文件到 Git 仓库 git add . 3 使用 git commit 命令来提交你的更改。确保在提交时加上一个有用的消息。 git commit -m "备注信息" 4 …...

【HarmonyOS 5.0】DevEco Testing:鸿蒙应用质量保障的终极武器

——全方位测试解决方案与代码实战 一、工具定位与核心能力 DevEco Testing是HarmonyOS官方推出的​​一体化测试平台​​&#xff0c;覆盖应用全生命周期测试需求&#xff0c;主要提供五大核心能力&#xff1a; ​​测试类型​​​​检测目标​​​​关键指标​​功能体验基…...

FastAPI 教程:从入门到实践

FastAPI 是一个现代、快速&#xff08;高性能&#xff09;的 Web 框架&#xff0c;用于构建 API&#xff0c;支持 Python 3.6。它基于标准 Python 类型提示&#xff0c;易于学习且功能强大。以下是一个完整的 FastAPI 入门教程&#xff0c;涵盖从环境搭建到创建并运行一个简单的…...

【AI学习】三、AI算法中的向量

在人工智能&#xff08;AI&#xff09;算法中&#xff0c;向量&#xff08;Vector&#xff09;是一种将现实世界中的数据&#xff08;如图像、文本、音频等&#xff09;转化为计算机可处理的数值型特征表示的工具。它是连接人类认知&#xff08;如语义、视觉特征&#xff09;与…...

BCS 2025|百度副总裁陈洋:智能体在安全领域的应用实践

6月5日&#xff0c;2025全球数字经济大会数字安全主论坛暨北京网络安全大会在国家会议中心隆重开幕。百度副总裁陈洋受邀出席&#xff0c;并作《智能体在安全领域的应用实践》主题演讲&#xff0c;分享了在智能体在安全领域的突破性实践。他指出&#xff0c;百度通过将安全能力…...

12.找到字符串中所有字母异位词

&#x1f9e0; 题目解析 题目描述&#xff1a; 给定两个字符串 s 和 p&#xff0c;找出 s 中所有 p 的字母异位词的起始索引。 返回的答案以数组形式表示。 字母异位词定义&#xff1a; 若两个字符串包含的字符种类和出现次数完全相同&#xff0c;顺序无所谓&#xff0c;则互为…...

OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别

OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别 直接训练提示词嵌入向量的核心区别 您提到的代码: prompt_embedding = initial_embedding.clone().requires_grad_(True) optimizer = torch.optim.Adam([prompt_embedding...

pikachu靶场通关笔记22-1 SQL注入05-1-insert注入(报错法)

目录 一、SQL注入 二、insert注入 三、报错型注入 四、updatexml函数 五、源码审计 六、insert渗透实战 1、渗透准备 2、获取数据库名database 3、获取表名table 4、获取列名column 5、获取字段 本系列为通过《pikachu靶场通关笔记》的SQL注入关卡(共10关&#xff0…...

SAP学习笔记 - 开发26 - 前端Fiori开发 OData V2 和 V4 的差异 (Deepseek整理)

上一章用到了V2 的概念&#xff0c;其实 Fiori当中还有 V4&#xff0c;咱们这一章来总结一下 V2 和 V4。 SAP学习笔记 - 开发25 - 前端Fiori开发 Remote OData Service(使用远端Odata服务)&#xff0c;代理中间件&#xff08;ui5-middleware-simpleproxy&#xff09;-CSDN博客…...

算法:模拟

1.替换所有的问号 1576. 替换所有的问号 - 力扣&#xff08;LeetCode&#xff09; ​遍历字符串​&#xff1a;通过外层循环逐一检查每个字符。​遇到 ? 时处理​&#xff1a; 内层循环遍历小写字母&#xff08;a 到 z&#xff09;。对每个字母检查是否满足&#xff1a; ​与…...