一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于同态加密机制的分布式网络在线优化方法

2022-12-07 01:57:31 来源:中国专利 TAG:


1.本发明涉及隐私保护领域,尤其涉及一种基于同态加密机制的分布式网络在线优化方法。


背景技术:

2.多智能体系统是由多个独立的个体相互之间通过局部信息交流而构成的网络化复杂系统,类似于生活中常见的鸟群和鱼群,每只鸟和每条鱼即为每个个体,他们遵循着一致的规则协调地进行运动。在多个体系统的研究中,个体先独立进行自身状态的计算,然后通过与邻居进行局部信息交流来协同处理相对复杂任务。由于多个体系统理论的发展和协同一致性、自主性、分布性以及其智能性的特点,近年来备受研究者关注。同时,随着多个体系统理论与技术的成熟,分布式优化理论逐渐应用于传感器网络,资源分配和机器学习等方面。分布式优化需要个体在每次迭代与邻居进行本地局部信息的交流,当个体的本地状态含有敏感信息,并期望对其保密时,该过程可能会产生隐私泄露的问题。例如,典型的基于源定位的分布式投影优化算法中,个体能够通过邻居的三个中间状态估计值来准确推断出其确切位置,因此,当个体不想透露确切位置时,这种分布式优化算法就会造成隐私泄露。再者,若不采用任何加密方式,在进行状态交互过程中,那些状态估计值可能会被窃取。主流的分布式优化隐私保护方法除了差分隐私机制,还有密码学中的同态加密技术,包括部分同态加密、全同态加密以及浅同态加密,同态加密技术被证实可以在分布式架构中实现有效的隐私保护。
3.分布式优化中实现隐私保护通常有两种选择,一种方法是差分隐私,它通过添加满足一定分布的噪声,将查询结果随机化,使对手无法推断出个体的敏感信息。但增加的噪声不可避免地会影响数据的可用性,导致隐私水平和计算精度之间的权衡。另一种是基于密码学的同态加密,其中paillier加密机制被广泛使用,使用paillier机制,加密和解密操作可以在每个节点上独立完成,无需任何第三方,但存在对通信带宽要求较高、消耗计算资源较大和通信数据类型受限的问题。并且节点需要得到明文信息才能更新自身状态。
4.然而,若所有节点的公钥相同,这会导致加密的信息也会被其它节点解密而导致隐私被暴露。所以需要设计一种使用相同公钥的情况下能对节点隐私进行保护的算法。综上所述,在动态环境中,存在由于节点之间的状态信息直传导致的节点隐私暴露问题,并在分布式优化中同态加密技术对数据类型要求较高,且节点邻居唯一时,其隐私难以被保护的问题。


技术实现要素:

5.本发明提供一种基于同态加密机制的分布式网络在线优化方法,以克服上述技术问题。
6.一种基于同态加密机制的分布式网络在线优化方法,包括,
7.s1、获取分布式网络中相互通信的智能体集合,将具有通信关系的智能体集合建
模为由节点和边组成的通信拓扑图g,g=(v,e),智能体为节点,v={1,2,...,n}代表节点的集合,节点包括正常节点和恶意节点,所述正常节点包括可信节点和普通节点,智能体之间的通信关系为边,e={(i,j)|i,j∈v}表示通信边的集合,(i,j)表示智能体i与智能体j互为邻居;
8.s2、初始化节点i的状态xi(1)∈ω和辅助向量zi(1)=[0,...,0,1i,0,...,0]
t
,确定公钥k
p
及精度ε,设置迭代次数为t,[t]为整数集合{1,....,t},当前迭代次数为t,t=1;
[0009]
s3、对于第t次迭代,t∈[t],对于v中每一个节点i,节点i对其状态进行预处理后表示为zi(t),节点i根据公钥k
p
对zi(t)进行加密得到m(zi(t)),获取节点i的邻居节点集合,节点i将δim(zi(t)-zi(t-1)) m(zi(t))传递给其邻居节点j,其中,当邻居节点的数量为一个时,当邻居节点的数量多于一个时,δi=0,邻居节点j根据公钥k
p
对-zj(t)加密得到m(-zj(t)),邻居节点j根据其接收到的其他节点的m(zi(t))与m(-zj(t))通过同态性计算得到m(zi(t)-zj(t)),将m(zi(t)-zj(t))表示为kj(t),获取v中每一个节点i的邻居节点j的kj(t),并将其进行标号;
[0010]
s4、邻居节点j将kj(t)发送给与其相连接的可信节点,可信节点通过私钥ks解密所接收的kj(t)得到zi(t)-zj(t),若为zi(t)-zj(t)为正数,则kj(t)的标号不变,若zi(t)-zj(t)为负数,将zi(t)从大到小排序,获取可信节点与邻居节点进行预处理后的值并分别表示为a和b,筛选zi(t)取值位于a和b之间的值构成集合si(t),|si(t)|表示si(t)中节点的数量,并将si(t)中所有值进行加和,即并把加和后的结果发送回邻居节点j,邻居节点j将数据还原为yi(t);
[0011]
s5、令t=t 1,若t等于t,迭代结束,将节点i的状态更新为第i个智能体待通信的数据,第i个智能体根据待通信的数据进行通信,分别计算各个节点的遗憾,根据节点的遗憾判断优化程度,若t不等于t,则更新第i个节点的状态,并返回执行s3。
[0012]
优选地,所述更新第i个节点的状态包括根据公式(1)更新第i个节点的状态,
[0013][0014]
其中,|si(t)|表示si(t)中节点的数量,α
t
表示待设计的迭代步长且满足和α
t 1
≤α
t
,p
ω
(
·
)为ω上的投影算子,为状态为xi(t)时的梯度,z
ii
(t)表示节点i的第t次迭代的辅助向量zi(t)中的第i个元素,表示节点i的第t次迭代的辅助向量zi(t)中的第n0个元素,其中,n0代表正常节点的数量;
[0015]
其中,
[0016][0017]
式中,zi(t)表示节点i的第t次迭代的辅助向量;a
ij
表示有向边(i,j)的权重,其中有向边(i,j)表示的是从节点i到节点j的一条有向边。
[0018]
优选地,所述节点i对其状态进行预处理后表示为zi(t)包括根据公式(2)进行预处理,
[0019]
zi(t)=10
ε
*xi(t)
ꢀꢀꢀꢀ
(2)
[0020]
其中,ε为精度,xi(t)为第t次迭代时节点i的状态。
[0021]
优选地,所述邻居节点j将数据进行还原包括根据公式(3)进行还原,
[0022][0023]
其中,pi(t)表示si(t)中所有值的和。
[0024]
优选地,所述计算各个节点的遗憾包括根据公式(4)进行计算,
[0025][0026][0027][0028]
其中,为第t轮迭代时节点i的代价函数。
[0029]
本发明提供一种基于同态加密机制的分布式网络在线优化方法,利用可信节点作为中介解决节点状态由于比较大小导致的隐私暴露问题,同时利用数据拆分技术解决传统的同态加密处理数据类型的局限性,针对单一邻居节点无法进行隐私保护的问题,设计一种隐私补偿项即辅助向量保护节点隐私。
附图说明
[0030]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0031]
图1是本发明方法流程图;
[0032]
图2是本发明方法具体执行流程;
[0033]
图3是本发明通信拓扑图;
[0034]
图4是本发明节点状态变化图;
[0035]
图5是本发明遗憾界实验结果图;
[0036]
图6是本发明节点在加密状态下的变化图。
具体实施方式
[0037]
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0038]
图1为本发明方法流程图,如图1所示,本实施例的方法可以包括:
[0039]
基于多智能体网络中智能体之间的局部通信协议,通常将参与通信,计算以及决策的节点视为智能体,每个智能体仅自己知道的代价函数。智能体间的通信关系通常被建模成由节点和边组成的通信拓扑图。网络中每个智能体被视为图中的一个节点,而智能体间的局部通信关系对应图中有方向的边。
[0040]
s1、获取分布式网络中相互通信的智能体集合,将具有通信关系的智能体集合建模为由节点和边组成的通信拓扑图g,g=(v,e),智能体为节点,v={1,2,...,n}代表节点的集合,节点包括正常节点和恶意节点,所述正常节点包括可信节点和普通节点,智能体之间的通信关系为边,e={(i,j)|i,j∈v}表示通信边的集合,(i,j)表示智能体i与智能体j互为邻居;表示由v0中所有节点组成的拓扑图的邻接矩阵,其中a
ij
表示边(i,j)的权重,且对于标量0<h<1,当且仅当(i,j)∈e时,h≤a
ij
<1,否则a
ij
=0。称φ(t,t)为状态转移矩阵,即φ(t,t)=a(t)
×
a(t-1).....
×
a(t)。对所有i,j∈v,(i,j)∈e当且仅当(j,i)∈e,则称图g是无向图,否则称g是有向图。此外,若(j,i)∈e,则称节点j为节点i的一个内邻居,而称节点i为节点j的一个外邻居。记和分别表示节点i的所有内邻居和所有外邻居所构成的集合,显然,对于无向图有此时和可统称为ni。另外,记和分别表示节点i的入度和出度,其定义分别为和即则称该图为权平衡图,否则称图g为权非平衡图。显然,无向图通常是权平衡图,而有向图则不一定。在有向图g中,从节点j到节点i的一条有向路是形如{(j,j1),(j1,j2),....,(js,i)}的有向边序列,其中(j,j1),(j1,j2),

,(js,i)∈e。若有向图g的任意两个节点间都存在一条有向路,则称图g为强联通。若无向图满足上述条件,则称其为连通图。
[0041]
s2、初始化节点i的状态xi(1)∈ω和辅助向量zi(1)=[0,...,0,1i,0,

,0]
t
,确定公钥k
p
及精度ε,设置迭代次数为t,[t]为整数集合{1,....,t},当前迭代次数为t,t=1,初始化是为了所有节点使用统一公钥进行加密,这是为了密文可以统一处理,解密私钥仅可信节点有,是为了不暴露节点隐私;
[0042]
s3、对于第t次迭代,t∈[t],对于v中每一个节点i,节点i对其状态进行预处理后表示为zi(t),包括根据公式(1)进行预处理,
[0043]
zi(t)=10
ε
*xi(t)
ꢀꢀꢀꢀ
(1)
[0044]
其中,ε为精度,xi(t)为第t次迭代时节点i的状态。
[0045]
节点i通过paillier加密算法根据公钥k
p
对zi(t)进行加密得到m(zi(t)),本实施例使用paillier加密算法进行加密,paillier加密算法是一种公钥加密算法,paillier算法满足加法同态,即密文相乘等于明文相加:d(m(z1)*m(z2))=z1 z2,其中m(
·
)为加密操作,d(
·
)为解密操作,z为未加密的明文。该机制主要包括密钥的生成、加密和解密三个过程。
[0046]
获取节点i的邻居节点集合,节点i将δim(zi(t)-zi(t-1)) m(zi(t))传递给其邻居节点j,δim(zi(t)-zi(t-1))是为了差异化输出的隐私补偿项,防止节点的唯一邻居节点推
理出其状态,其中,当邻居节点的数量为一个时,当邻居节点的数量多于一个时,δi=0,邻居节点j根据公钥k
p
对-zj(t)加密得到m(-zj(t)),邻居节点j根据其接收到的其他节点的m(zi(t))与m(-zj(t))通过同态性计算得到m(zi(t)-zj(t)),具体为根据paillier算法的加法同态机制,密文相乘等于明文相加得到d(m(zi(t))*m(-zj(t)))=zi(t)-zj(t),根据公钥k
p
将zi(t)-zj(t)加密得到m(zi(t)-zj(t)),m(zi(t)-zj(t))表示为kj(t),获取v中每一个节点i的邻居节点j的kj(t),并将其进行标号;
[0047]
s4、邻居节点j将kj(t)发送给与其相连接的可信节点,可信节点中存储私钥,可信节点通过paillier算法根据私钥ks解密所接收的kj(t)得到zi(t)-zj(t),若为zi(t)-zj(t)为正数,则kj(t)的标号不变,若zi(t)-zj(t)为负数,将zi(t)从大到小排序,获取可信节点与邻居节点进行预处理后的值并分别表示为a和b,筛选zi(t)取值位于a和b之间的值构成集合si(t),|si(t)|表示si(t)中节点的数量,并si(t)中所有值进行加和,即并把加和后的结果发送回邻居节点j,邻居节点j将数据还原为yi(t),根据公式(2)进行还原,
[0048][0049]
其中,pi(t)表示si(t)中所有值的和;
[0050]
s5、令t=t 1,若t等于t,迭代结束,将节点i的状态更新为第i个智能体待通信的数据,第i个智能体根据待通信的数据进行通信,分别计算各个节点的遗憾,根据节点的遗憾判断优化程度,计算各个节点的遗憾包括根据公式(3)进行计算,
[0051][0052][0053][0054]
其中,为第t轮迭代时节点i的代价函数。
[0055]
若t不等于t,则更新第i个节点的状态,根据公式(6)更新第i个节点的状态,
[0056][0057]
其中,|si(t)|表示si(t)中节点的数量,α
t
表示待设计的迭代步长且满足和α
t 1
≤α
t
,p
ω
(
·
)为ω上的投影算子,为状态为xi(t)时的梯度,z
ii
(t)表示节点i的第t次迭代的辅助向量zi(t)中的第i个元素,表示节点i的第t次迭代的辅助向量zi(t)中的第n0个元素,其中,n0代表正常节
点的数量;
[0058]
其中,
[0059][0060]
式中,zi(t)表示节点i的第t次迭代的辅助向量;a
ij
表示有向边(i,j)的权重,其中有向边(i,j)表示的是从节点i到节点j的一条有向边,并返回执行s3。
[0061]
在任意一轮迭代,节点i利用历史迭代的节点信息做出决策,更新其定义域ω内的状态xi(t),该状态决定后,当前时刻的目标函数才被揭示,所以对于每次迭代t∈[t],其中[t]为整数集合{1,....,t}。局部代价函数在xi(t)∈ω确定后才可知,在每一轮迭代节点之间信息互相交流,目标是解决优化问题
[0062][0063]
在线优化算法的性能通常可以用遗憾来衡量,具体定义如下:
[0064][0065]
如算法满足则该在线算法有效,其中xi(t)∈ω,t是所有节点的迭代总数,对于每次迭代t∈[t],局部代价函数在xi(t)∈ω确定后才可知,
[0066]
本实施例的方法具体流程如图2所示,包括,预处理节点状态发送并节点发送公钥和自身加密信息到相邻的接收节点,接收节点接收后用此公钥加密自身信息,接收节点把接收到的信息结合自身加密信息进行处理,可信节点将处理后的信息发送回接收节点,接收节点用私钥解密信息,判断是否满足遗憾条件,当满足遗憾条件时输出节点信息。
[0067]
最后,通过数值结果研究方法的有效性。考虑由三个敌对节点、三个可信节点和两个普通节点组成的网络.将这些节点标记为1~8,其通信图如图3所示.每个节点的局部代价函数定义为恶意节点的其状态更新规则为x6(t)=3sin(t),x7(t):3cos(t),x8(t)=3.5.从ω中选择正常和可信节点的初始值,给定x的约束区间为ω=[0,10],从中随机选择初始状态。图3连接了节点4和6,7和8,这是为了体现节点邻居数量等于1或大于1两种情况的隐私保护有效性。图4显示了本实施例中节点状态的轨迹。随着迭代次数的增加,所有节点的状态都趋于一致。当t小于30之前,所有节点状态根据算法迭代逐渐震荡收敛,节点5由于隐私保护补偿项的原因振荡幅度较大,并随t增大振荡幅度越来越小,当t大于30后,网络中所有节点的状态几乎已经收敛到最优值。
[0068]
图5显示了本实施例遗憾界的性能,遗憾作为t的函数呈次线性关系,即图4和图5表明,当t在10之前算法的遗憾先振荡再收敛,而在t当10之后接近
于0,这表明增加的隐私补偿项对整个系统的影响较小,并随着迭代次数增加这种影响越来越小。图6显示了本实施例加密状态下节点向其邻居节点发送的信息,即m(zi(t)),由于其数值变化无规律,所以除了节点本身外,外部窃听者无法推断出数据信息,甚至邻居节点也无法获得节点的真实信息。当一个节点只有一个邻居节点时,仍然会提供隐私保护,例如节点5和节点3,确保了网络中每个节点的隐私被保护。
[0069]
整体有的有益效果:利用可信节点作为中介解决节点状态由于比较大小导致的隐私暴露问题,同时利用数据拆分技术解决传统的同态加密处理数据类型的局限性,针对单一邻居节点无法进行隐私保护的问题,设计一种隐私补偿项即辅助向量保护节点隐私。
[0070]
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献