CN118381674B - 基于混沌-同态加密和联邦学习的风电预测系统及方法 - Google Patents
基于混沌-同态加密和联邦学习的风电预测系统及方法 Download PDFInfo
- Publication number
- CN118381674B CN118381674B CN202410816042.6A CN202410816042A CN118381674B CN 118381674 B CN118381674 B CN 118381674B CN 202410816042 A CN202410816042 A CN 202410816042A CN 118381674 B CN118381674 B CN 118381674B
- Authority
- CN
- China
- Prior art keywords
- local
- key
- model parameters
- encryption
- proxy
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 41
- 238000012549 training Methods 0.000 claims description 47
- 239000011159 matrix material Substances 0.000 claims description 30
- 238000004891 communication Methods 0.000 claims description 29
- 230000006870 function Effects 0.000 claims description 23
- 230000000739 chaotic effect Effects 0.000 claims description 18
- 230000008569 process Effects 0.000 claims description 17
- 230000002776 aggregation Effects 0.000 claims description 16
- 238000004220 aggregation Methods 0.000 claims description 16
- 238000012545 processing Methods 0.000 claims description 8
- 101100379079 Emericella variicolor andA gene Proteins 0.000 claims description 3
- 238000012937 correction Methods 0.000 claims description 3
- 238000005516 engineering process Methods 0.000 abstract description 8
- 230000009286 beneficial effect Effects 0.000 abstract description 4
- 238000010248 power generation Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000001737 promoting effect Effects 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及风力发电领域,特别是涉及基于混沌‑同态加密和联邦学习的风电预测系统及方法,所述系统包括密钥生成端、代理端、服务端和本地客户端。本发明采用联邦学习技术,能够实现高度准确的风电预测,有助于提高风电能源的利用效率;通过混沌‑同态加密技术,严格保护本地数据,不会泄露敏感信息,确保数据在本地客户端的安全性与隐私性;鼓励利益相关者之间的合作,共同构建了本地客户端和云服务端之间的风电预测系统,有助于促进风电场的高效并网以及现代能源系统中数据的高效利用和共享,解决了现有风电预测系统中存在的敏感数据隐私泄露风险和安全性不足的问题。
Description
技术领域
本发明涉及风力发电领域,特别是涉及基于混沌-同态加密和联邦学习的风电预测系统及方法。
背景技术
风能因环保、资源丰富、经济实惠等特点成为人们最受欢迎的可再生能源之一。然而,一方面,风资源利用的一些不确定性问题和风速的随机性会在某些情况下减少风能的利用。风电和风速的精确预测被认为是解决这些问题的可靠且低成本的解决方案,能够加速实现风电场并网。另一方面,现代能源体系中缺乏对不同地区数据的访问以及现有数据的安全性,不同业务区域缺乏气象站以及维护现有数据安全的重要性也是当今最主要挑战之一。随着人们隐私保护意识的不断提高,如何在保证预测模型性能的同时实现用户数据和模型的隐私保护成为关键问题。
伴随着科技的发展,联邦学习逐步应用到风力和风电预测中,在精准预测的同时保护本地数据并缓解通信压力。然而,联邦学习仍然面临严重威胁,因为在整个训练过程中通信模型的更新可能会泄露敏感信息。从共享模型更新中,攻击者可以窃取训练数据或推断“非预期”信息。任何参与训练的设备都可能通过观察和分析这些更新对数据泄露构成威胁。这些威胁可能会损害本地隐私,导致不可预测的经济和财产损失,同时严重妨碍了风电场的高效并网以及现代能源系统中数据的高效利用和共享。综上所述,目前基于联邦学习的风电预测系统中存在着模型泄露安全问题,需要针对这一问题进行深入研究和改进,以确保在风电预测中实现准确预测,同时保护本地风电数据的隐私和安全。
发明内容
本发明的目的在于提供一种基于混沌-同态加密和联邦学习的风电预测系统及方法,以克服现有风电预测系统中存在的敏感数据隐私泄露风险和安全性不足的问题,并帮助利益相关者共同构建基于本地客户端和云服务端的风电预测系统,有助于促进风电场的高效并网以及现代能源系统中数据的高效利用和共享,同时系统也不会泄露本地数据,为利益相关者提供了一个安全可信的合作平台。
第一方面,本发明提供了一种基于混沌-同态加密和联邦学习的风电预测方法,包括以下步骤:
步骤1、密钥生成端生成四阶密钥矩阵,并将所述密钥矩阵处理后分发给服务端、代理端和对应的本地客户端P j ,j=1,2,3,...,l,l为本地客户端的总数;然后退出系统并销毁所有与密钥相关的信息,同时服务端初始化联邦学习模型中的全局模型参数并指定交流轮数T;
步骤2、服务端随机选择n个本地客户端参与联邦学习的建模任务,在初次通信时,服务端将经过初始化后未加密的全局模型参数通过代理端分发给参与联邦学习建模的本地客户端,并标记为N j ,j=1,2,3,...,n;
步骤3、本地客户端N j 在接收到模型参数后,加载本地风电场数据集,然后使用分发得到的模型参数进行本地训练,按照预先定义的迭代次数训练本地数据,将本次训练好的模型参数使用本地密钥K ’ j 进行初次加密并上传至代理端;代理端将经过初次加密后的模型参数使用对应的代理密钥K ’’ j 再次对模型参数进行加密,并将再次加密后的模型参数上传至服务端;
步骤4、服务端确认已收集到来自n个本地客户端的加密模型参数,对各个已加密模型参数使用对应的服务密钥K ’’’ j 再次加密;并在不知道真实参数的情况下对经过服务端密钥加密后的加密模型参数进行同态运算以获得密文聚合参数,同时将获得的密文聚合参数更新到服务端的全局模型参数;
步骤5、服务端将聚合后的密文全局模型参数经过对应的服务密钥K ’’’ j 解密发送至代理端,同时重新随机选择m个本地客户端;
步骤6、代理端接收到来自服务端的加密模型参数后,使用相应的代理密钥K ’’ j 对模型参数进行解密,将解密后的模型参数分别发送至对应的本地客户端N j ;
步骤7、本地客户端N j 在接收到代理端发送的解密后的模型参数,使用本地密钥K ’ j 对解密后的模型参数再次执行解密操作,并加载本地风电场数据集,然后使用解密后的模型参数进行本地训练,并按照预先定义的迭代次数训练本地数据,并将本次训练好的模型参数使用本地密钥K ’ j 进行加密并上传至代理端;然后代理端将经过初次加密后的模型参数使用对应的代理密钥K ’’ j 再次对模型参数进行加密,并将加密后的模型参数上传至服务端。
步骤8、服务端重新确认已收集到来自m个本地客户端的加密模型参数,对各个已加密模型参数使用对应的服务密钥K ’’’ j 再次加密,并在不知道真实参数的情况下对经过服务端密钥加密后的加密模型参数进行聚合操作以获得密文聚合参数,同时更获得的密文聚合参数更新到服务端的全局模型参数;
步骤9、按预先定义循环执行步骤5至步骤8操作T次后生成训练好的全局模型;服务端将训练好的全局模型通过代理端端分发至各个本地客户端P j ,然后本地客户端P j 更新本地模型,将采集到的风力、风向等风电数据参数输入到训练好的模型中,完成风电预测。本发明可以利用该模型执行更加准确的风电预测任务,同时还克服了风电预测场景中的隐私泄露风险,并在帮助利益相关者共同构建基于本地客户端和云服务端的风电预测系统,同时也不会泄露本地数据。
进一步的,步骤1具体包括以下步骤:
步骤1.1、密钥生成端首先确定混合阶复Lorenz混沌系统的系统参数ρ、r、b、q 1、q 2和初始值x 1、x 2、x 3、y 1、y 2;所述混合阶复Lorenz混沌系统为:
;
其中,ρ、r、b、q 1 、q 2均为系统参数,且ρ、r、b均大于0;状态变量ω i =x i +jy i 是复变量,x i 、y i 是实变量,j为虚部单位,i= 1,2;表示ω i 的q i 阶导数,分别为ω 1、ω 2的共轭变量,x ’ 3表示x 3的一阶导数;将复变量ω i 展开得:
;
步骤1.2、利用预估校正方法求解展开后的混合阶复Lorenz混沌系统,生成一个含有n个元素的混沌序列X=[x 1 ,x 2 ,x 3 ,…,x n ],然后从X随机截取一段混沌序列X ’ 并将其转换为密钥序列key j ,即key j =X ’ =[x z+16×j+1 , x z+16×j+2 ,…, x z+16×(j+1)],其中,j= 1,2...,l,z为随机截取的初始值,l表示本地客户端的总数;
步骤1.3、选取缩放因子γ,整数N=∏ j=1 2l n j ,并将整数N作为模操作中的模数,其中,n j 均为素数,j= 1,2,...,2l;
步骤1.4、将每个密钥序列key j 与缩放因子γ相乘后进行模操作生成key ’ j ,其中j=1,2...,l,然后将key ’ j 重组成4阶方阵k j ,称之为密钥矩阵;最后将密钥矩阵k j 存入密钥库keys中;
步骤1.5、随机从密钥库keys选取密钥矩阵K,针对每个本地客户端P j 分别构造本地密钥K ’ j 、代理密钥K ’’ j 和服务密钥K ’’’ j :
K ’ j =K mod n i ,K ’’ j =K mod n j ,K ’’’ j =K ’’ j -1 K ’ j -1 K;
其中,n i 、n j 是构造整数N的素数,i≠j,i,j= 1,2,..,2l;K ’ j -1、K ’’ j -1分别是本地密钥K ’ j 和代理密钥K ’’ j 的逆矩阵,并要求服务密钥K ’’’ j 存在逆矩阵K ’’’ j -1;
步骤1.6、将本地密钥K ’ j 、代理密钥K ’’ j 和服务密钥K ’’’ j 分别发送至本地客户端P j 、代理端和服务端,随后退出系统并销毁所有与密钥相关的信息。
进一步的,步骤3中,所述本地客户端N j 利用本地数据进行本地训练的具体过程如下所示:
步骤3.1、本地客户端N j 确定本地训练次数E;
步骤3.2、作为当前轮次的参与方,本地客户端N j 需从代理端获取明文状态下的全局模型参数θ,并根据以下公式计算近端项pr并更新本地模型参数:
;
其中,μ表示近端项系数;
步骤3.3、本地客户端N j 进行本地训练迭代E次,并计算每次迭代的输出out j i 、损失函数L i j 和梯度grad i j :
out i j = fp(x j ,θ j );
L i j = loss(y j ,out i j ) +pr;
grad i j = bpf(L i j ,x j ,θ j );
其中,i=1,..,E,x j 、y j 分别表示本地客户端N j 的本地训练数据及其标签,fp表示前向传播函数,loss表示损失函数,bpf表示后向传播函数;然后更新本地模型参数θ j :
θ j =θ j -lr×grad i j 。
进一步的,步骤3中,本地客户端将训练好的模型参数进行初次加密并上传至代理端的具体过程如下所示:
首先,将模型参数θ j 转换为加密所需的4阶矩阵:
;
其中,N2M()表示将数字构造成四阶矩阵,且,a、b为整数域Z N 中的随机数,B和C为2阶随机方阵,0为2阶全0方阵。
其次,使用本地客户端密钥K ’ j 对参数进行加密:
;
其中,Enc()表示加密操作;
最后,本地客户端N j 将模型参数发送至代理端。
进一步的,步骤3中,所述代理端将模型参数使用对应由于客户端N j 的代理密钥K ’’ j 通过以下公式执行加密操作得到模型参数:
。
进一步的,步骤4中,所述服务端对模型参数使用对应于客户端N j 的服务密钥K ’’’ j ,根据以下公式执行加密操作得到模型参数:
。
进一步的,步骤4中,所述服务端执行聚合操作得到聚合后的密文全局模型参数:
。
进一步的,步骤5中,所述服务端根据已选择的本地客户端N j ,j=1,2,3...,m,使用对应的服务密钥K ’’’ j 将更新后的全局模型参数分别执行解密操作,得到解密后的模型参数:
;
其中,Dec()表示执行解密操作。
进一步的,步骤7中,所述本地客户端N j 利用本地数据进行本地训练的具体过程如下所示:
步骤7.1、本地客户端N j 确定本地训练次数E;
步骤7.2、作为当前轮次的参与方,本地客户端N j 首先将解密后的模型参数转换成θ j ,计算近端项pr并更新本地模型参数:
;
;
;
其中,M2N()表示获取一个4阶矩阵的左上角元素;
步骤7.3、本地客户端N j 进行本地训练迭代E次,并计算每次迭代的输出out j i 、损失函数L i j 和梯度grad i j :
out i j = fp(x j ,θ ’ j );
L i j = loss(y j ,out i j ) +pr;
grad i j = bpf(L i j ,x j ,θ ’ j );
其中,i= 1,..,E,x j 、y j 分别表示本地客户端N j 的本地训练数据及其标签,fp表示前向传播函数,loss表示损失函数,bpf表示后向传播函数;并按照以下公式更新本地模型参数θ ’ j :
θ ’ j =θ ’ j -lr×grad i j 。
第二方面,本发明提供了一种基于混沌-同态加密和联邦学习的风电预测系统,包括:
密钥生成端,包括密钥生成子模块和密钥分发子模块;所述密钥生成子模块负责生成和注册系统所需的密钥,密钥分发子模块负责分发所述密钥;这一模块的作用在于确保系统通信的安全性和可信性,为后续的数据传输和处理奠定了基础。
代理端,包括通信子模块和加密子模块;所述通信子模块负责协调各个本地客户端之间以及本地客户端与服务端之间的通信,同时负责收集和分发模型参数;与此同时,加密子模块负责对接收到的模型参数执行加密和解密操作,以确保数据的安全性和隐私性。
服务端,包括加密子模块、安全聚合子模块和通信子模块;加密子模块负责对接收到的模型参数执行加解密操作,安全聚合子模块的主要任务是在密文状态下执行聚合操作并更新全局模型参数;通过同态加密技术,该模块能够处理加密的模型参数,确保数据的隐私和安全性,然后进行全局模型的优化和更新;同时,所述通信子模块负责分发和收集模型参数,以便后续处理;
本地客户端,包括加密子模块、训练子模块和通信子模块;加密子模块负责对接收到的模型参数执行加解密操作,训练子模块负责基于本地风电场数据执行模型训练任务,通信子模块则负责分发和收集模型参数;这种模块化的设计确保了数据的本地性和隐私性。
本发明具有以下优点:
(1) 准确的风电预测任务执行:本发明采用联邦学习技术,能够实现高度准确的风电预测,有助于提高风电能源的利用效率;
(2) 隐私保护:本发明通过混沌-同态加密技术,严格保护本地数据,不会泄露敏感信息,确保数据在本地客户端的安全性与隐私性;
(3) 创造合作机会:本发明鼓励利益相关者之间的合作,共同构建了本地客户端和云服务端之间的风电预测系统,这有助于促进风电场的高效并网以及现代能源系统中数据的高效利用和共享。
附图说明
图1为本发明服务端-客户端协作过程示意图;
图2为本发明基于混沌-同态加密和联邦学习的风电预测系统示意图;
图3为本发明基于混沌-同态加密和联邦学习的风电预测方法示意图。
具体实施方式
下面将结合本发明具体实施方式中的附图,对本发明具体实施方式中的技术方案进行清楚、完整地描述。
本发明针对基于联邦学习的风电预测系统中存在的模型泄露安全问题,设计了一种多密钥混沌-同态加密方案,并结合联邦学习提出了一种新的风电预测方法。
实施例1:
图1为服务端-客户端协作过程示意图,联邦学习涉及一个服务端和n个客户端之间的协作,其中数据分散在各个客户端中。每个客户端都负责使用自己持有的数据来进行神经网络模型的本地训练和优化。基于同态加密技术的支持,客户端会对训练过程中产生的模型权重进行加密,然后将这些加密后的权重逐级上传至服务端,直到最终聚合在服务端。在服务端完成权重的聚合后,聚合后的模型被下发到各个客户端,用于下一轮训练,并根据新的权值来更新本地模型。这一过程可能会经过多轮的迭代,或者在满足特定条件时结束,最终在服务端获得最新的模型并进行保存。所有这些操作都是在密文下进行的,以确保数据隐私和安全性。
如图2所示,本实施例提出了一种基于混沌-同态加密和联邦学习的风电预测系统,包括密钥生成端、代理端、服务端和本地客户端。
具体地,所述的密钥生成端包括密钥生成子模块和密钥分发子模块。密钥生成子模块负责生成和注册系统所需的密钥,而密钥分发子模块则负责将所述密钥安全地分发给其他模块。这一模块的作用在于确保系统通信的安全性和可信性,为后续的数据传输和处理奠定了基础。
具体地,所述的代理端包括加密子模块和通信子模块。所述通信子模块负责协调各个本地客户端之间以及本地客户端与服务端之间的通信,同时负责收集和分发模型参数。与此同时,加密子模块负责对接收到的模型参数执行加密和解密操作,以确保数据的安全性和隐私性。
具体地,所述的服务端是整个系统的核心,包括加密子模块、安全聚合子模块和通信子模块。加密子模块负责对接收到的模型参数执行加解密操作,安全聚合子模块的主要任务是在密文状态下执行聚合操作并更新全局模型参数。通过同态加密技术,该模块能够处理加密的模型参数,确保数据的隐私和安全性,然后进行全局模型的优化和更新。同时,所述通信子模块负责分发和收集模型参数,以便后续处理。
具体地,所述的本地客户端是系统的基础组成部分,每个本地客户端代表一个独立的风电场。本地客户端包括加密子模块、训练子模块和通信子模块。加密子模块负责对接收到的模型参数执行加解密操作,训练子模块负责基于本地风电场数据执行模型训练任务,通信子模块则负责分发和收集模型参数。这种模块化的设计确保了数据的本地性和隐私性。
需要特别强调的是,每个本地客户端都被分配了一个唯一的标识符,通常用P j 表示,其中j代表客户端的编号,范围从1到l,而l则表示了本地客户端的总数。这种编号方式有助于识别和管理各个客户端,使系统能够高效协同工作,从而实现了风电预测的高效性和隐私保护。
实施例2:
本实施例提供了一种基于混沌-同态加密和联邦学习的风电预测方法,如图3所示,其具体工作流程如下:
步骤1、密钥生成端生成四阶密钥矩阵,并将该密钥矩阵处理后分发给服务端、代理端和对应的本地客户端P j ,然后退出系统并销毁所有与密钥相关的信息,同时服务端初始化全局模型参数并指定交流轮数T。
具体来说,步骤1所述的密钥生成端生成四阶密钥矩阵及后续处理步骤的具体过程如下所示。
步骤1.1、密钥生成端首先确定混合阶复Lorenz混沌系统的系统参数ρ,r,b,q 1 ,q 2 和初始值x 1 ,x 2, x 3 ,y 1 ,y 2 ;所述混合阶复Lorenz混沌系统为:
;
其中,ρ,r,b,q 1 ,q 2 均为Lorenz系统中的系统参数,且ρ,r,b均大于0,状态变量ω i =x i +jy i 是复变量,x i ,y i 是实变量,j为虚部单位,表示ω i 的q i 阶导数,分别为ω 1、ω 2的共轭变量,x ’ 3 表示x 3的一阶导数;将复变量ω i =x i +jy i 展开后,得:
。
步骤1.2、利用预估校正方法求解展开后的混合阶复Lorenz混沌系统,生成一个含有n个元素的混沌序列X=[x 1 ,x 2 ,x 3 ,…,x n ],然后从X随机截取一段混沌序列X ’ 并将其转换一系列的密钥序列key j ,即key j =X ’ =[x z+16×j+1 , x z+16×j+2 ,…, x z+16×(j+1)],其中j= 1,2...,l,z为随机截取的初始值,l表示本地客户端的总数。
步骤1.3、选取缩放因子γ、整数N=∏ j=1 2l n j ,其中,n j 均为素数,j= 1,2,...,2l,并将整数N作为模操作中的模数。
步骤1.4、将每个密钥序列key j (i=1,…,l)与缩放因子γ相乘后进行模操作生成key ’ j ,然后将key ’ j 重组成4阶方阵k j ,称之为密钥矩阵。最后将密钥矩阵k j 存入密钥库keys中。
步骤1.5、随机从密钥库keys选取密钥矩阵K,针对每个本地客户端P j 分别构造本地密钥K ’ j 、代理密钥K ’’ j 和服务密钥K ’’’ j ,其中,密钥K ’ j 、K ’’ j 、K ’’’ j 的构造方式如下所示:
K ’ j =K mod n i ,K ’’ j =K mod n j ,K ’’’ j =K ’’ j -1 K ’ j -1 K;
其中,n i 、n j (i≠j,i,j= 1,2,..,2l)是构造整数N的素数,K ’ j -1、K ’’ j -1分别是本地密钥K ’ j 和代理密钥K ’’ j 的逆矩阵,并要求服务密钥K ’’’ j 存在逆矩阵K ’’’ j -1。
步骤1.6、将本地密钥K ’ j 、代理密钥K ’’ j 和服务密钥K ’’’ j 分别发送至本地客户端P j 、代理端和服务端,随后退出系统并销毁所有与密钥相关的信息。
而且步骤1所提到的服务端初始化全局模型参数为基于LSTM神经网络的联邦学习模型中的模型参数,该联邦学习模型允许多个客户端使用本地数据共同训练。
步骤2、服务端随机选择n个(n≤l)本地客户端参与联邦学习的建模任务。在初次通信时,服务端将经过初始化后未加密的全局模型参数通过代理端分发给参与联邦学习建模的本地客户端。
更具体地说,服务端会在l个本地客户端中选取n个本地客户端,这些被选中的客户端分别被标记为N j ,j=1,2,3,...,n。
步骤3、本地客户端N j 在接收到模型参数后,加载本地风电场数据集,然后使用分发得到的模型参数进行本地训练,并按照预先定义的迭代次数训练本地数据,并将本次训练好的模型参数使用本地密钥K ’ j 进行初次加密并上传至代理端。代理端然后将经过初次加密后的模型参数使用对应的代理密钥K ’’ j 再次对模型参数进行加密,并将加密后的模型参数上传至服务端。
步骤3中所述的本地客户端N j 属于步骤2中随机选择的n个客户端。本地密钥K ’ j 为步骤1中密钥生成端发送给本地客户端的本地密钥,代理密钥K ’’ j 为步骤1中密钥生成端发送给代理端的代理密钥。
具体地,本地客户端N j 利用本地数据进行本地训练的具体过程如下所示。
步骤3.1、本地客户端N j 确定本地训练次数E。
步骤3.2、作为当前轮次的参与方,本地客户端N j 需从代理端获取明文状态下的全局模型参数θ,并根据以下公式计算近端项pr并更新本地模型参数;
;
其中,μ表示近端项系数。
步骤3.3、本地客户端N j 进行本地训练迭代E次,并计算每次迭代的输出out j i 、损失函数L i j 和梯度grad i j (i=1,…,E):
out i j = fp(x j ,θ j );
L i j = loss(y j ,out i j ) +pr;
grad i j = bpf(L i j ,x j ,θ j );
其中,x j 、y j 分别表示本地客户端N j 的本地训练数据及其标签,fp表示前向传播函数,loss表示损失函数,bpf表示后向传播函数;然后更新本地模型参数θ j :
θ j =θ j -lr×grad i j 。
而且本地客户端将训练好的模型参数进行初次加密并上传至代理端的具体过程如下所示:
首先,将模型参数θ j 转换为加密所需的4阶矩阵:
;
其中,N2M()表示将数字构造成四阶矩阵,且,a,b为整数域Z N 中的随机数,B和C为2阶随机方阵,0为2阶全0方阵。
其次,使用本地客户端密钥K ’ j 对参数进行加密:
;
其中,Enc()表示加密操作;最后本地客户端N j 将模型参数发送至代理端。
最后,代理端将来自本地客户端N j 的模型参数的具体加密操作是使用对应由于客户端N j 的代理密钥K ’’ j 通过以下公式执行加密操作得到模型参数:
。
步骤4、服务端确认已收集到来自n个本地客户端的加密模型参数,对各个已加密模型参数使用对应的服务密钥K ’’’ j (j=1,2,3,… ,n)再次加密;并在不知道真实参数的情况下对经过服务端密钥加密后的加密模型参数进行聚合操作以获得密文聚合参数,同时将获得的密文聚合参数更新到服务端的全局模型参数。
具体来说,步骤4中所述的服务密钥K ’’’ j 为步骤1中密钥生成端发送给服务端的服务密钥,模型参为步骤3中所述的代理端发送给服务端的模型参数(j=1,2,3,…,n)。服务端对模型参数的具体加密操作是使用对应于客户端N j 的服务密钥K ’’’ j 根据以下公式执行加密操作得到模型参数:
;
服务端执行聚合操作的具体操作为:服务端将收集到的模型参数执行聚合操作,得到聚合后的密文全局模型参数:
。
步骤5、服务端将聚合后的密文全局模型参数经过对应的服务密钥K ’’’ j 解密发送至代理端,同时重新随机选择m个本地客户端。
具体来说,将服务端随机选择的m个本地客户端分别命名为N j (j=1,2,3,…,m),m为本次随机选择的客户端数量,且步骤5中所述的服务密钥K ’’’ j 为步骤1中密钥生成端发送给服务端的服务密钥。服务端对全局模型参数进行解密的具体操作如下:
服务端根据已选择的本地客户端N j ,使用对应的服务密钥K ’’’ j 将更新后的全局模型参数分别执行解密操作得到模型参数:
;
其中,Dec表示执行解密操作,表示服务端使用服务密钥K ’’’ j 解密后的全局模型参数。
步骤6、代理端接收到来自服务端的加密模型参数后,使用相应的代理密钥K ’’ j 对模型参数进行解密后,将得到的模型参数分别发送至对应的本地客户端N j 。
具体来说,步骤6中所述的本地客户端N j 属于步骤5中随机选择的m个客户端,代理密钥K ’’ j 为步骤1中密钥生成端发送给代理端的代理密钥。代理端对加密模型参数的具体解密操作为:代理端使用对应于本地客户端N j 的代理密钥K ’’ j 根据以下公式执行解密操作得到模型参数:
;
其中,表示代理端使用代理密钥K ’’ j 解密后的模型参数。
步骤7、本地客户端N j 在接收到代理端发送的模型参数后,使用本地密钥K ’ j 对模型参数执行解密操作,并加载本地风电场数据集,然后使用解密后的模型参数进行本地训练,并按照预先定义的迭代次数训练本地数据,并将本次训练好的模型参数使用本地密钥K ’ j 进行加密并上传至代理端。代理端然后将经过初次加密后的模型参数使用对应的代理密钥K ’’ j 再次对模型参数进行加密,并将加密后的模型参数上传至服务端。
具体来说,步骤7中所述的本地客户端N j 属于步骤5中随机选择的m个客户端,代理密钥K ’’ j 为步骤1中密钥生成端发送给代理端的代理密钥。本地客户端对加密模型参数的具体解密操作为:本地客户端使用本地密钥K ’ j 根据以下公式执行解密操作得到模型参数:
。
本地客户端N j 利用本地数据集进行本地训练的具体过程如下所示。
步骤7.1、本地客户端N j 确定本地训练次数E。
步骤7.2、作为当前轮次的参与方,本地客户端N j 将解密后的模型参数转换成θ j ,计算近端项pr并更新本地模型参数:
;
;
;
其中,M2N()表示获取一个4阶矩阵的左上角元素。
步骤7.3、本地客户端N j 进行本地训练迭代E次,并计算每次迭代输出out j i 、损失函数L i j 和梯度grad i j :
out i j = fp(x j ,θ ’ j );
L i j = loss(y j ,out i j ) +pr;
grad i j = bpf(L i j ,x j ,θ ’ j );
并按照以下公式更新本地模型参数θ ’ j :
θ ’ j =θ ’ j -lr×grad i j ;
而且本地客户端将训练好的模型参数进行初次加密并上传至代理端的具体过程如下所示:
首先,将模型参数θ ’ j 转换为加密所需的4阶矩阵:
;
其中,a,b为整数域Z N 中的随机数,B和C为2阶随机方阵,0为2阶全0方阵。
其次,使用本地客户端密钥K ’ j 对参数进行加密:
。
最后,本地客户端N j 将模型参数发送至代理端。
代理端将来自本地客户端N j 的模型参数的具体加密操作是使用对应于客户端N j 的代理密钥K ’’ j 根据以下公式执行加密操作得到模型参数:
。
步骤8、服务端重新确认已收集到来自m个本地客户端的加密模型参数,对各个已加密模型参数使用对应的服务密钥K ’’’ j 再次加密。并在不知道真实参数的情况下对经过服务端密钥加密后的加密模型参数进行聚合操作以获得密文聚合参数,同时更获得的密文聚合参数更新到服务端的全局模型参数。
步骤9、按预先定义执行循环步骤5至步骤8操作T次后生成训练好的全局模型。服务端将训练好的全局模型通过代理端端分发至各个本地客户端P j ,然后本地客户端P j 更新本地模型,将采集到的风力、风向等风电数据参数输入到训练好的模型中,完成风电预测。本发明可以利用该模型执行更加准确的风电预测任务,同时还克服了风电预测场景中的隐私泄露风险,并在帮助利益相关者共同构建基于本地客户端和云服务端的风电预测系统,同时也不会泄露本地数据。
本发明提供的一种基于混沌-同态加密和联邦学习的风电预测系统及方法,能够有效的克服现有风电预测系统中存在的敏感数据隐私泄露风险和安全性不足的问题,并有利于利益相关者共同构建基于本地客户端和云服务端的风电预测网络,助于促进风电场的高效并网以及现代能源系统中数据的高效利用和共享,同时系统也不会泄露本地数据,为利益相关者提供了一个安全可信的合作平台。
Claims (5)
1.基于混沌-同态加密和联邦学习的风电预测方法,其特征在于,包括以下步骤:
步骤1、密钥生成端生成四阶密钥矩阵,并将所述密钥矩阵处理后分发给服务端、代理端和对应的本地客户端P j ,j=1,2,3,...,l,l为本地客户端的总数;然后退出系统并销毁所有与密钥相关的信息,同时服务端初始化联邦学习模型中的全局模型参数并指定交流轮数T;
步骤2、服务端随机选择n个本地客户端参与联邦学习的建模任务,在初次通信时,服务端将经过初始化后未加密的全局模型参数通过代理端分发给参与联邦学习建模的本地客户端,并标记为N j ,j=1,2,3,...,n;
步骤3、本地客户端N j 在接收到模型参数后,加载本地风电场数据集,然后使用分发得到的模型参数进行本地训练,按照预先定义的迭代次数训练本地数据,将本次训练好的模型参数使用本地密钥K ’ j 进行初次加密并上传至代理端;代理端将经过初次加密后的模型参数使用对应的代理密钥K ’’ j 再次对模型参数进行加密,并将再次加密后的模型参数上传至服务端;
步骤4、服务端确认已收集到来自n个本地客户端的加密模型参数,对各个已加密模型参数使用对应的服务密钥K ’’’ j 再次加密;并在不知道真实参数的情况下对经过服务端密钥加密后的加密模型参数进行同态运算以获得密文聚合参数,同时将获得的密文聚合参数更新到服务端的全局模型参数;
步骤5、服务端将聚合后的密文全局模型参数经过对应的服务密钥K ’’’ j 解密发送至代理端,同时重新随机选择m个本地客户端;
步骤6、代理端接收到来自服务端的加密模型参数后,使用相应的代理密钥K ’’ j 对模型参数进行解密,将解密后的模型参数分别发送至对应的本地客户端N j ;
步骤7、本地客户端N j 在接收到代理端发送的解密后的模型参数后,使用本地密钥K ’ j 对解密后的模型参数再次执行解密操作,并加载本地风电场数据集,然后使用解密后的模型参数进行本地训练,并按照预先定义的迭代次数训练本地数据,并将本次训练好的模型参数使用本地密钥K ’ j 进行加密并上传至代理端;然后代理端将经过初次加密后的模型参数使用对应的代理密钥K ’’ j 再次对模型参数进行加密,并将加密后的模型参数上传至服务端;
步骤8、服务端重新确认已收集到来自m个本地客户端的加密模型参数,对各个已加密模型参数使用对应的服务密钥K ’’’ j 再次加密,并在不知道真实参数的情况下对经过服务端密钥加密后的加密模型参数进行聚合操作以获得密文聚合参数,同时将获得的密文聚合参数更新到服务端的全局模型参数;
步骤9、按预先定义循环执行步骤5至步骤8操作T次后生成训练好的全局模型;服务端将训练好的全局模型通过代理端端分发至各个本地客户端P j ,然后本地客户端P j 更新本地模型,将采集到的风电数据参数输入到训练好的模型中,完成风电预测,所述风电数据参数包括风力和风向;
步骤1具体包括以下步骤:
步骤1.1、密钥生成端首先确定混合阶复Lorenz混沌系统的系统参数ρ、r、b、q 1、q 2和初始值x 1、x 2、x 3、y 1、y 2;所述混合阶复Lorenz混沌系统为:
;
其中,ρ、r、b、q 1 、q 2均为系统参数,且ρ、r、b均大于0;状态变量ω i = x i + jy i 是复变量,x i 、y i 是实变量,j为虚部单位,i= 1,2;表示ω i 的q i 阶导数,分别为ω 1、ω 2的共轭变量,x ’ 3表示x 3的一阶导数;将复变量ω i 展开得:
;
步骤1.2、利用预估校正方法求解展开后的混合阶复Lorenz混沌系统,生成一个含有n个元素的混沌序列X=[x 1 , x 2 , x 3 ,…, x n ],然后从X随机截取一段混沌序列X ’ 并将其转换为密钥序列key j ,即key j =X ’ =[x z+16×j+1 , x z+16×j+2 ,…, x z+16×(j+1)],其中,j = 1,2...,l,z为随机截取的初始值,l表示本地客户端的总数;
步骤1.3、选取缩放因子γ,整数N=∏ j=1 2l n j ,并将整数N作为模操作中的模数,其中,n j 均为素数,j= 1,2,...,2l;
步骤1.4、将每个密钥序列key j 与缩放因子γ相乘后进行模操作生成key ’ j ,其中j = 1,2...,l,然后将key ’ j 重组成4阶方阵k j ,称之为密钥矩阵;最后将密钥矩阵k j 存入密钥库keys中;
步骤1.5、随机从密钥库keys选取密钥矩阵K,针对每个本地客户端P j 分别构造本地密钥K ’ j 、代理密钥K ’’ j 和服务密钥K ’’’ j :
K ’ j = K mod n i ,K ’’ j = K mod n j ,K ’’’ j = K ’’ j -1 K ’ j -1 K;
其中,n i 、n j 是构造整数N的素数,i ≠ j,i,j= 1,2,..,2l;K ’ j -1、K ’’ j -1分别是本地密钥K ’ j 和代理密钥K ’’ j 的逆矩阵,并要求服务密钥K ’’’ j 存在逆矩阵K ’’’ j -1;
步骤1.6、将本地密钥K ’ j 、代理密钥K ’’ j 和服务密钥K ’’’ j 分别发送至本地客户端P j 、代理端和服务端,随后退出系统并销毁所有与密钥相关的信息;
步骤3中,所述本地客户端N j 利用本地数据进行本地训练的具体过程如下所示:
步骤3.1、本地客户端N j 确定本地训练次数E;
步骤3.2、作为当前轮次的参与方,本地客户端N j 需从代理端获取明文状态下的全局模型参数θ,并根据以下公式计算近端项pr并更新本地模型参数:
;
其中,μ表示近端项系数;
步骤3.3、本地客户端N j 进行本地训练迭代E次,并计算每次迭代的输出out j i 、损失函数L i j 和梯度grad i j :
out i j = fp (x j ,θ j );
L i j = loss (y j , out i j ) + pr;
grad i j = bpf (L i j , x j ,θ j );
其中,i= 1,...,E,x j 、y j 分别表示本地客户端N j 的本地训练数据及其标签,fp表示前向传播函数,loss表示损失函数,bpf表示后向传播函数;然后更新本地模型参数θ j :
θ j =θ j - lr×grad i j ;
步骤3中,本地客户端将训练好的模型参数进行初次加密并上传至代理端的具体过程如下所示:
首先,将模型参数θ j 转换为加密所需的4阶矩阵:
;
其中,N2M()表示将数字构造成四阶矩阵,且,a、b为整数域Z N 中的随机数,B和C为2阶随机方阵,0为2阶全0方阵;
其次,使用本地客户端密钥K ’ j 对参数进行加密:
;
其中,Enc()表示加密操作;
最后,本地客户端N j 将模型参数发送至代理端;
步骤3中,所述代理端将模型参数使用对应由于客户端N j 的代理密钥K ’’ j 通过以下公式执行加密操作得到模型参数:
,
步骤4中,所述服务端对模型参数使用对应于客户端N j 的服务密钥K ’’’ j ,根据以下公式执行加密操作得到模型参数:
。
2.根据权利要求1所述的基于混沌-同态加密和联邦学习的风电预测方法,其特征在于,步骤4中,所述服务端执行聚合操作得到聚合后的密文全局模型参数:
。
3.根据权利要求1所述的基于混沌-同态加密和联邦学习的风电预测方法,其特征在于,步骤5中,所述服务端根据已选择的本地客户端N j ,j=1,2,3...,m,使用对应的服务密钥K ’’’ j 将更新后的全局模型参数分别执行解密操作,得到解密后的模型参数:
;
其中,Dec()表示执行解密操作。
4.根据权利要求1所述的基于混沌-同态加密和联邦学习的风电预测方法,其特征在于,步骤7中,所述本地客户端N j 利用本地数据进行本地训练的具体过程如下所示:
步骤7.1、本地客户端N j 确定本地训练次数E;
步骤7.2、作为当前轮次参与方,本地客户端N j 首先将解密后的模型参数转换成θ j ,计算近端项pr并更新本地模型参数:
;
;
;
其中,M2N()表示获取一个4阶矩阵的左上角元素;
步骤7.3、本地客户端N j 进行本地训练迭代E次,并计算每次迭代的输出out j i 、损失函数L i j 和梯度grad i j :
out i j = fp (x j ,θ ’ j );
L i j = loss (y j , out i j ) + pr;
grad i j = bpf (L i j , x j ,θ ’ j );
其中,i= 1,..,E,x j 、y j 分别表示本地客户端N j 的本地训练数据及其标签,fp表示前向传播函数,loss表示损失函数,bpf表示后向传播函数;并按照以下公式更新本地模型参数θ ’ j :
θ ’ j =θ ’ j - lr×grad i j 。
5.一种基于混沌-同态加密和联邦学习的风电预测系统,其特征在于,用于实现如权利要求1所述的基于混沌-同态加密和联邦学习的风电预测方法,所述风电预测系统包括:
密钥生成端,包括密钥生成子模块和密钥分发子模块;所述密钥生成子模块负责生成和注册系统所需的密钥,密钥分发子模块负责分发所述密钥;
代理端,包括通信子模块和加密子模块;所述通信子模块负责协调各个本地客户端之间以及本地客户端与服务端之间的通信,同时负责收集和分发模型参数;加密子模块负责对接收到的模型参数执行加密和解密操作;
服务端,包括加密子模块、安全聚合子模块和通信子模块;加密子模块负责对接收到的模型参数执行加解密操作,安全聚合子模块负责在密文状态下执行聚合操作并更新全局模型参数;
本地客户端,包括加密子模块、训练子模块和通信子模块;加密子模块负责对接收到的模型参数执行加解密操作,训练子模块负责基于本地风电场数据执行模型训练任务,通信子模块则负责分发和收集模型参数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410816042.6A CN118381674B (zh) | 2024-06-24 | 2024-06-24 | 基于混沌-同态加密和联邦学习的风电预测系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410816042.6A CN118381674B (zh) | 2024-06-24 | 2024-06-24 | 基于混沌-同态加密和联邦学习的风电预测系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN118381674A CN118381674A (zh) | 2024-07-23 |
CN118381674B true CN118381674B (zh) | 2024-09-03 |
Family
ID=91904058
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410816042.6A Active CN118381674B (zh) | 2024-06-24 | 2024-06-24 | 基于混沌-同态加密和联邦学习的风电预测系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118381674B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104050625A (zh) * | 2014-07-03 | 2014-09-17 | 东华大学 | 一种明文构建初始密钥的复合混沌图像加密方法 |
CN113239404A (zh) * | 2021-06-04 | 2021-08-10 | 南开大学 | 一种基于差分隐私和混沌加密的联邦学习方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115271099A (zh) * | 2022-08-01 | 2022-11-01 | 浙江大学中原研究院 | 一种支持异构模型的自适应个性化联邦学习方法 |
-
2024
- 2024-06-24 CN CN202410816042.6A patent/CN118381674B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104050625A (zh) * | 2014-07-03 | 2014-09-17 | 东华大学 | 一种明文构建初始密钥的复合混沌图像加密方法 |
CN113239404A (zh) * | 2021-06-04 | 2021-08-10 | 南开大学 | 一种基于差分隐私和混沌加密的联邦学习方法 |
Also Published As
Publication number | Publication date |
---|---|
CN118381674A (zh) | 2024-07-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110008717B (zh) | 支持隐私保护的决策树分类服务系统及方法 | |
Hohenberger et al. | Online/offline attribute-based encryption | |
Yang et al. | Secure data access control with fair accountability in smart grid data sharing: An edge blockchain approach | |
CN106230590B (zh) | 一种多授权机构的密文策略属性基加密方法 | |
US20230019301A1 (en) | Attribute-based encryption (abe) method with multiple tracing attribute authorities for cloud-assisted internet-of-things (iot) | |
CN112383388B (zh) | 一种基于云计算大数据的双秘钥加密系统及方法 | |
CN107294696B (zh) | 针对Leveled全同态密钥分配方法 | |
CN109962769A (zh) | 基于门限盲签名的数据安全去重方法 | |
CN108259185B (zh) | 一种群组通信中抗泄漏的群密钥协商系统及方法 | |
CN109688143A (zh) | 一种面向云环境中隐私保护的聚类数据挖掘方法 | |
CN110299993B (zh) | 一种基于改进ibooe算法的远程安全抄表方法 | |
Fan et al. | An efficient data protection scheme based on hierarchical ID-based encryption for MQTT | |
Krishna et al. | A novel approach with matrix based public key crypto systems | |
CN110890961B (zh) | 一种新型安全高效的多授权属性基密钥协商协议 | |
CN105915340B (zh) | 基于理想格上Gu-Map1多线性映射实例的多接收者匿名签密方法 | |
CN113806759A (zh) | 联邦学习模型的训练方法、装置、电子设备和存储介质 | |
CN118381674B (zh) | 基于混沌-同态加密和联邦学习的风电预测系统及方法 | |
Pakniat | Public key encryption with keyword search and keyword guessing attack: a survey | |
CN111614456B (zh) | 一种针对sm4算法的多方协同加密方法 | |
CN108768923A (zh) | 一种基于量子可逆逻辑线路的加密算法的聊天实时加密方法 | |
Zhang et al. | Leakage-resilient hierarchical identity-based encryption with recipient anonymity | |
Zhou et al. | FACOR: Flexible access control with outsourceable revocation in mobile clouds | |
CN110321722A (zh) | Dna序列相似率安全计算方法及系统 | |
CN111756539B (zh) | 一种可重随机的标识加解密方法 | |
CN117579258B (zh) | 一种安全高效的分布式k-d树构建方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |