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

基于部分同态的数据编译方法、装置、设备和存储介质与流程

2022-05-17 21:35:51 来源:中国专利 TAG:


1.本公开涉及数据安全领域和编译领域,尤其涉及一种基于部分同态的数据编译方法、装置、设备和存储介质。


背景技术:

2.随着互联网技术的发展,以及信息量的不断增加,数据的安全性是非常重要的问题。设备之间可以交互密文,进而保证数据的安全性。设备需要对数据参数进行各种运算,但是由于设备只能获取到对方设备的密文,而不能获知对方设备的明文,所以设备在进行数据处理时,无法完成数据参数的复杂的运算。
3.现有技术中,可以采用同态加密的方式,对密文进行处理,进而完成数据的复杂运算。其中,设备可以将数据的全同态加密方式转换为部分同态加密方式,然后编译人员编写运算部分同态加密方式的代码,进而设备对部分同态加密的数据进行运算。
4.在本公开的发明人执行本公开的过程中,发现至少存在以下技术问题:由于在每次运算部分同态加密方式的数据的时候,都需要编译人员手动编写运算代码,进而造成运算效率较低,并且需要较高的人力成本。


技术实现要素:

5.本公开的主要目的在于提供一种基于部分同态的数据编译方法、装置、设备和存储介质,降低编译成本,提高编译效率。
6.第一方面,为实现上述目的,本公开提供一种基于部分同态的数据编译方法,所述方法应用于第一电子设备,所述方法包括:
7.接收第二电子设备发送的第一密文参数,其中,所述第一密文参数用于指示处理待编译数据,所述待编译数据的加密逻辑为全同态加密;
8.将所述待编译数据的加密逻辑转换为部分同态加密,得到转换后的待编译数据,其中,所述转换后的待编译数据中包括所述第一密文参数和所述第一电子设备生成的第二密文参数;
9.根据预设的解析库,其中,所述解析库中包括至少一个运算图谱,每一所述运算图谱用于表征多个参数之间的运算关系,确定与所述转换后的待编译数据对应的运算图谱;
10.根据所述第一密文参数和所述第二密文参数,执行与所述转换后的待编译数据对应的运算图谱,得到数据编译结果。
11.在一些实施例中,所述转换后的待编译数据具有运算符;所述运算图谱的参数之间具有运算符;
12.所述根据预设的解析库,确定与所述转换后的待编译数据对应的运算图谱,包括:
13.根据各所述运算图谱中的参数之间的运算符,确定与所述转换后的待编译数据的运算符所匹配的运算图谱。
14.在一些实施例中,不同的所述运算图谱的参数之间具有运算关系。
15.在一些实施例中,所述运算图谱中包括多个节点,所述运算图谱中的参数之间的运算关系为节点之间的运算关系,每一节点用于代入参数;
16.根据所述第一密文参数和所述第二密文参数,执行与所述转换后的待编译数据对应的运算图谱,得到数据编译结果,包括:
17.将所述第一密文参数和所述第二密文参数,代入与所述转换后的待编译数据对应的运算图谱中的节点中,以执行与所述转换后的待编译数据对应的运算图谱的运算过程,得到所述数据编译结果。
18.在一些实施例中,在将所述第一密文参数和所述第二密文参数,代入与所述转换后的待编译数据对应的运算图谱中的节点中之前,还包括:
19.从所述第二电子设备中获取第三密文参数,其中,所述第三密文参数为根据所述第一密文参数所生成的;
20.将所述第一密文参数和所述第二密文参数,代入与所述转换后的待编译数据对应的运算图谱中的节点中,以执行与所述转换后的待编译数据对应的运算图谱的运算过程,得到所述数据编译结果,包括:
21.将所述第一密文参数、所述第二密文参数、所述第三密文参数以及第四密文参数,代入与所述转换后的待编译数据对应的运算图谱中的节点中,以执行与所述转换后的待编译数据对应的运算图谱的运算过程,得到所述数据编译结果,其中,所述第四密文参数为所述第一电子设备根据所述第二密文参数所生成的。
22.在一些实施例中,所述第一密文参数为进行联邦学习模型的训练或者联邦学习模型的应用时,所生成的中间信息;在所述得到数据编译结果之后,还包括:
23.将所述数据编译结果发送给第三电子设备,所述数据编译结果用于确定梯度参数;
24.接收所述第三电子设备发送的梯度参数,并根据所述梯度参数更新联邦学习模型。
25.在一些实施例中,所述方法还包括:
26.根据不同的运算需求信息,其中,所述运算需求信息包括不同参数之间的运算关系的需求信息,建立每一所述运算图谱,以得到所述解析库。
27.在一些实施例中,所述第一电子设备用于执行python语言,所述第二电子设备用于执行python语言。
28.第二方面,本公开实施例还提供了一种基于部分同态的数据编译装置,所述装置应用于第一电子设备,所述装置包括:
29.第一接收模块,用于接收第二电子设备发送的第一密文参数,其中,所述第一密文参数用于指示处理待编译数据,所述待编译数据的加密逻辑为全同态加密;
30.转换模块,用于将所述待编译数据的加密逻辑转换为部分同态加密,得到转换后的待编译数据,其中,所述转换后的待编译数据中包括所述第一密文参数和所述第一电子设备生成的第二密文参数;
31.确定模块,用于根据预设的解析库,其中,所述解析库中包括至少一个运算图谱,每一所述运算图谱用于表征多个参数之间的运算关系,确定与所述转换后的待编译数据对应的运算图谱;
32.执行模块,用于根据所述第一密文参数和所述第二密文参数,执行与所述转换后的待编译数据对应的运算图谱,得到数据编译结果。
33.在一些实施例中,所述转换后的待编译数据具有运算符;所述运算图谱的参数之间具有运算符;
34.所述确定模块用于,根据各所述运算图谱中的参数之间的运算符,确定与所述转换后的待编译数据的运算符所匹配的运算图谱。
35.在一些实施例中,不同的所述运算图谱的参数之间具有运算关系。
36.在一些实施例中,所述运算图谱中包括多个节点,所述运算图谱中的参数之间的运算关系为节点之间的运算关系,每一节点用于代入参数;
37.所述执行模块用于,将所述第一密文参数和所述第二密文参数,代入与所述转换后的待编译数据对应的运算图谱中的节点中,以执行与所述转换后的待编译数据对应的运算图谱的运算过程,得到所述数据编译结果。
38.在一些实施例中,所述执行模块用于,从所述第二电子设备中获取第三密文参数,其中,所述第三密文参数为根据所述第一密文参数所生成的,并将所述第一密文参数、所述第二密文参数、所述第三密文参数以及第四密文参数,代入与所述转换后的待编译数据对应的运算图谱中的节点中,以执行与所述转换后的待编译数据对应的运算图谱的运算过程,得到所述数据编译结果,其中,所述第四密文参数为所述第一电子设备根据所述第二密文参数所生成的。
39.在一些实施例中,所述第一密文参数为进行联邦学习模型的训练或者联邦学习模型的应用时,所生成的中间信息;所述装置还包括:
40.发送模块,用于将所述数据编译结果发送给第三电子设备,所述数据编译结果用于确定梯度参数;
41.第二接收模块,用于接收所述第三电子设备发送的梯度参数;
42.更新模块,用于并根据所述梯度参数更新联邦学习模型。
43.在一些实施例中,所述装置还包括:
44.建立模块,用于根据不同的运算需求信息,其中,所述运算需求信息包括不同参数之间的运算关系的需求信息,建立每一所述运算图谱,以得到所述解析库。
45.在一些实施例中,所述第一电子设备用于执行python语言,所述第二电子设备用于执行python语言。
46.本公开实施例提供了一种基于部分同态的数据编译方法、装置、设备和存储介质,包括:第一电子设备接收第二电子设备发送的第一密文参数,其中,第一密文参数用于指示处理待编译数据,待编译数据的加密逻辑为全同态加密,将待编译数据的加密逻辑转换为部分同态加密,得到转换后的待编译数据,其中,转换后的待编译数据中包括第一密文参数和第一电子设备生成的第二密文参数,根据预设的解析库,其中,解析库中包括至少一个运算图谱,每一所算图谱用于表征多个参数之间的运算关系,确定与转换后的待编译数据对应的运算图谱,根据第一密文参数和第二密文参数,执行与转换后的待编译数据对应的运算图谱,得到数据编译结果,在本实施例中,通过从解析库中确定与转换后的待编译数据对应的运算图谱,并集合第一密文参数和第二密文参数,执行与转换后的待编译数据对应的运算图谱,得到数据编译结果,避免了相关技术中,通过人工的方式手动编写与待编译数据
对应的运算代码,得到数据编译结果造成的人力成本高,且效率偏低的问题,实现了编译的自动化和智能化,提高了编译的普通适用性和灵活性的技术效果。
附图说明
47.图1为本公开一个实施例的基于部分同态的数据编译方法的应用场景的示意图;
48.图2为本公开一个实施例的基于部分同态的数据编译方法的流程示意图;
49.图3为本公开另一实施例的基于部分同态的数据编译方法的应用场景的示意图;
50.图4为本公开另一实施例的基于部分同态的数据编译方法的流程示意图;
51.图5为本公开一个实施例的运算图谱的结构示意图;
52.图6为本公开另一实施例的运算图谱的结构示意图;
53.图7为本公开一个实施例的基于部分同态的数据编译装置的示意图;
54.图8为本公开一个实施例的基于部分同态的数据编译装置的示意图;
55.图9为本技术实施例的电子设备的框图。
56.本公开目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
57.下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
58.其中,本公开实施例提供的基于部分同态的数据编译方法,可以应用于两方平台之间的信息交互,也可以应用于基于中间平台的三方平台信息交互,且当本实施例的基于部分同态的数据编译方法应用于三方平台信息交互时,具体可以为联邦学习模型的训练或者联邦学习模型的应用。
59.现以两方平台之间的信息交互为例,结合图1对本公开实施例的基于部分同态的数据编译方法的应用场景进行示范性地描述。
60.如图1所示,应用场景可以包括第一平台100和第二平台200,第一平台100和第二平台200基于网络连接。
61.其中,第一平台100包括第一设备110,且如图1所示,第一设备110可以包括服务器和终端设备,且终端设备可以是移动终端,如移动电话(或称为“蜂窝”电话)和具有移动终端的计算机,例如,可以是便携式、袖珍式、手持式、计算机内置的或者车载的移动装置,它们与无线接入网交换语言和/或数据;终端设备还可以是个人通信业务(personal communication service,pcs)电话、无绳电话、会话发起协议(session initiation protocol,sip)话机、无线本地环路(wireless local loop,wll)站、个人数字助理(personal digital assistant,pda),平板型电脑、无线调制解调器(modem)、手持设备(handset)、膝上型电脑(laptop computer)、机器类型通信(machine type communication,mtc)终端等设备;终端设备也可以称为系统、订户单元(subscriber unit)、订户站(subscriber station),移动站(mobile station)、移动台(mobile)、远程站(remote station)、远程终端(remote terminal)、接入终端(access terminal)、用户终端
(user terminal)、用户代理(user agent)、用户设备(user device or user equipment),等等,在此不作限定。
62.值得说明的是,上述应用场景只是用于示范性地说明本公开实施例可能的应用场景,而不能理解为对本公开的基于部分同态的数据编译方法的应用场景的限定。例如,在一些实施例中,第一平台100中的第一设备110可以适应性地增加或删减,也可以适应性地增加用于支持第一设备110的其他设备,如信息存储设备等。
63.结合如图1所示的应用场景,第二设备210可以向第一设备110发送第一密文参数,第一密文参数用于指示处理待编译数据,且当待编译数据的加密逻辑为全同态加密时,第一设备110可以将待编译数据的加密逻辑转换为部分同态加密,并在转换为部分同态加密的基础上,进行编译,得到数据编译结果。
64.在相关技术中,在第一设备可以将数据的全同态加密方式转换为部分同态加密方式之后,需要由编译人员编写运算部分同态加密方式的代码,进而设备对部分同态加密的数据进行运算。
65.然而,由于在每次运算部分同态加密方式的数据的时候,都需要编译人员手动编写运算代码,进而造成运算效率较低,并且需要较高的人力成本。
66.本公开的发明人经过创造性地劳动,得到了本公开的发明构思:在第一设备将数据的全同态加密方式转换为部分同态加密方式之后,采用解析库中的计算图谱的计算逻辑,自动运算部分同态中的参数之间的运算,从而实现减少人工成本,提高运算效率的技术效果。
67.下面以具体地实施例对本技术的技术方案以及本技术的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本技术的实施例进行描述。
68.根据发明实施例的一个方面,本公开实施例提供了基于部分同态的数据编译方法,图2为本公开一个实施例的基于部分同态的数据编译方法的流程示意图,如图2所示,该方法包括:
69.s101:第一电子设备接收第二电子设备发送的第一密文参数,其中,第一密文参数用于指示处理待编译数据,待编译数据的加密逻辑为全同态加密。
70.示例性地,本公开实施例的执行主体可以为第一电子设备,且第一电子设备可以为具有信息交互功能的设备、处理器、服务器以及芯片等。且当本公开实施例的方法应用于如图1所示的应用场景时,第一电子设备可以为如图1中所示的第一平台中的第一设备,也可以为第二平台中的第二设备,且关于第一设备和第二设备的描述,可以参见上述示例,此次不再赘述。
71.值得说明地是,待编译数据可以为第二电子设备发送给第一电子设备的,也可以为第一电子设备在接收到第一密文参数时生成的。
72.且,“待编译数据的加密逻辑为全同态加密”的这一信息,可以是由第二电子设备发送给第一电子设备的,也可以由第一电子设备对待编译数据的加密逻辑进行判断和确定。
73.一个示例中,若第一电子设备确定出待编译数据的加密逻辑为全同态加密,则执行s102;另一示例中,若第一电子设备确定出待编译数据的加密逻辑为部分同态加密,则执
行s103。
74.s102:第一电子设备将待编译数据的加密逻辑转换为部分同态加密,得到转换后的待编译数据,其中,转换后的待编译数据中包括第一密文参数和第一电子设备生成的第二密文参数。
75.示例性地,若全同态加密的加密逻辑的待编译数据为(a b)**2(表示(a b)的平方)时,则第一电子设备可以对待编译数据进行转换:(a b)**2=a**2 b**2 2*a*b=[[a]]**2 [[b]]**2 2*[[a]]*[[b]],其中,[[a]]表示a为密文,[[b]]表示b为密文,且在本实施例中,[[a]]为第一电子设备的密文(即第二密文参数),[[b]]为第二电子设备的密文(即第一密文参数)。
[0076]
s103:第一电子设备根据预设的解析库,其中,解析库中包括至少一个运算图谱,每一运算图谱用于表征多个参数之间的运算关系,确定与转换后的待编译数据对应的运算图谱。
[0077]
也就是说,第一电子设备中包括解析库,解析库中包括运算图谱,一个示例中,运算图谱的数量可以为一个,另一个示例中,运算图谱的数量为多个,且针对每一运算图谱都可以表征多个参数之间的运算关系。
[0078]
值得说明地是,在本实施例中,引入了运算图谱的特征,通过从运算图谱中确定与转换后的待编译数据对应的运算图谱,避免了由编译人员手动编写运算代码造成的效率低,且人力成本偏高的弊端,实现可确定与转换后的待编译数据对应的运算图谱的自动化的技术效果。
[0079]
s104:第一电子设备根据第一密文参数和第二密文参数,执行与转换后的待编译数据对应的运算图谱,得到数据编译结果。
[0080]
在确定出与转换后的待编译数据对应的运算图谱之后,可以结合第一密文参数和第二密文参数确定数据编译结果。
[0081]
基于上述分析可知,本公开实施例提供了一种基于部分同态的数据编译方法,该方法可以应用于第一电子设备,包括:接收第二电子设备发送的第一密文参数,其中,第一密文参数用于指示处理待编译数据,待编译数据的加密逻辑为全同态加密,将待编译数据的加密逻辑转换为部分同态加密,得到转换后的待编译数据,其中,转换后的待编译数据中包括第一密文参数和第一电子设备生成的第二密文参数,根据预设的解析库,其中,解析库中包括至少一个运算图谱,每一所算图谱用于表征多个参数之间的运算关系,确定与转换后的待编译数据对应的运算图谱,根据第一密文参数和第二密文参数,执行与转换后的待编译数据对应的运算图谱,得到数据编译结果,在本实施例中,通过从解析库中确定与转换后的待编译数据对应的运算图谱,并集合第一密文参数和第二密文参数,执行与转换后的待编译数据对应的运算图谱,得到数据编译结果,避免了相关技术中,通过人工的方式手动编写与待编译数据对应的运算代码,得到数据编译结果造成的人力成本高,且效率偏低的问题,实现了编译的自动化和智能化,提高了编译的普通适用性和灵活性的技术效果。
[0082]
结合上述对本公开实施例的基于部分同态的数据编译方法的应用场景的阐述可知,本公开实施例的基于部分同态的数据编译方法可以应用于如图1所示的两方交互的应用场景,且可以应用于多方交互的应用场景,且多方交互的应用场景具体可以为联邦学习模型的训练或者联邦学习模型的应用。
[0083]
如图3所示,联邦学习模型的训练的应用的场景可以包括:参与联邦学习模型的训练的第一电子设备a、第二电子设备b以及第三电子设备c,且图3中以台式电脑为例对第一电子设备a进行了展示,以笔记本电脑为例对第二电子设备b进行了展示,以服务器为例对第三电子设备c进行了展示。
[0084]
图4为本公开实施例的基于部分同态的数据编译方法应用于如图3所示的应用场景中的流程示意图,如图4所示,该方法包括:
[0085]
s201:第二电子设备对预存的明文参数进行加密,生成第一密文参数。
[0086]
示例性地,在联邦学习的场景中,第一电子设备和第二电子设备可以互相运用此次的信息,实现各自的联邦学习的训练和更新,从而实现双方对各自己的信息的充分利用,而为了确保信息交互的安全性,在信息交互的过程中,可以采用密文实现,如第二电子设备的明文参数为b,则对明文参数b进行加密,生成第一密文参数[[b]]。
[0087]
s202:第二电子设备向第一电子设备发送第一密文参数。
[0088]
相应地,第一电子设备接收第二电子设备发送的第一密文参数。
[0089]
s203:第一电子设备根据第一密文参数确定待编译数据。
[0090]
示例性地,结合如图3所示的应用场景,为了实现对联邦学习模型的训练,第一电子设备根据第一密文参数确定出的待编译数据可以为(a b)**2。
[0091]
s204:若待编译数据的加密逻辑为全同态加密,则第一电子设备将全同态加密的加密逻辑的待编译数据进行转换,得到转换后的待编译数据。
[0092]
其中,待编译数据的加密逻辑为部分同态加密,且转换后的待编译数据中包括第一密文参数和第一电子设备生成的第二密文参数。
[0093]
示例性地,第一电子设备将(a b)**2转换为[[a]]**2 [[b]]**2 2*[[a]]*[[b]]。其中,第一密文参数为[[b]],第二密文参数为[[a]]。
[0094]
s205:第一电子设备根据预设的解析库中的各运算图谱的参数之间的运算符,确定与转换后的待编译数据的运算符所匹配的运算图谱。
[0095]
示例性地,第一电子设备中可以设置解析库,且解析库中包括各运算图谱的参数之间的运算符,当第一电子设备确定转换后的待编译数据时,可以从各运算图谱中确定与转换后的待编译数据的运算符相匹配的运算图谱。
[0096]
在一些实施例中,运算图谱可以为包括节点的树结构的图谱。
[0097]
例如,基于上述示例,第一电子设备可以从各运算图谱中确定与[[a]]**2 [[b]]**2 2*[[a]]*[[b]]的运算符(即**2、 )相匹配的运算图谱,且与转换后的待编译数据[[a]]**2 [[b]]**2 2*[[a]]*[[b]]的运算符相匹配的运算图谱的示意图可以参阅图5。
[0098]
如图5所示,运算图谱中包括多个节点,如图5中所示的e、f、g、h、i、j以及k;节点之间可以存在运算关系,如节点e和节点f之间的乘法运算关系,节点h和节点i之间的加法运算关系,等等。
[0099]
值得说明地是,通过预先设置解析库,并从解析库中确定与转换后的待编译数据的运算符所匹配的运算图谱,可以实现将转换后的待编译数据自动编译为运算图谱,无需人工参与,节约了人力成本,且提高了编译的灵活性和效率的技术效果。
[0100]
在一些实施例中,不同的运算图谱的参数之间具有运算关系。
[0101]
示例性地,一个运算图谱可能为最小单位的运算图谱,也可能为可以继续拆分为
的运算图谱,运算图谱可能包括多个最小单位的运算图谱,且当运算图谱包括多个最小单位的运算图谱时,各最小单位的运算图谱之间可以具有运算关系,也即,最小单位的运算图谱可以基于运算关系组合成运算图谱。
[0102]
在一些实施例中,解析库是根据不同的运算需求信息建立的,其中,运算需求信息包括不同参数之间的运算关系的需求信息。
[0103]
也就是说,第一电子设备可以采集不同参数之间的运算关系的需求信息,并根据不同的运算需求信息,建立一个或者多个运算图谱,得到包括一个或者多个运算图谱的解析库。
[0104]
一个示例中,第一电子设备可以根据一个运算需求信息建立一个运算图谱,从而根据多个运算需求信息建立多个运算图谱,进而得到包括多个运算图谱的解析库。
[0105]
另一个示例中,第一电子设备可以根据多个运算需求信息建立多个运算图谱,从而得到包括多个运算图谱的解析库。值得说明地是,在该示例中,运算需求信息的数量可以大于运算图谱的数量,也可以等于运算图谱的数量,也可以小于运算图谱的数量。
[0106]
再一个示例中,第一电子设备可以根据多个运算需求信息建立一个运算图谱,从而得到包括一个运算图谱的解析库。
[0107]
s206:第一电子设备根据转换后的待编译数据,向第二电子设备发送获取第三密文参数的请求,其中,第三密文参数为转换后的待编译数据中,与第一密文参数相关的密文参数。
[0108]
基于上述示例,转换后的待编译数据为[[a]]**2 [[b]]**2 2*[[a]]*[[b]],[[b]]为第二电子设备发送的第一加密参数,[[a]]为第一电子设备的第二密文参数,由于[[a]]为第一电子设备的密文参数,第一电子设备可以直接获取,而为了得到数据编译结果,第一电子设备需要获取第三密文参数[[b]]**2,因此,第一电子设备向第二电子设备发送用于获取第三密文参数的请求。
[0109]
当然,在另一种可能实现的方案中,第一电子设备和第二电子设备为了共同完成联邦学习的训练,可以预先协定在训练过程中彼此需要用到的交互信息,并将相应的交互信息发送至对端,从而避免反复交互。例如,在本实施例中,第二电子设备在向第一电子设备发送第一密文参数时,可以将第三密文参数一并发送给第一电子设备。
[0110]
s207:第二电子设备向第一电子设备发送第三密文参数。
[0111]
相应地,第一电子设备接收到由第二电子设备发送的第三密文参数。
[0112]
s208:第一电子设备根据转换后的待编译数据和第二密文参数,确定用于得到数据编译结果的第四密文参数。
[0113]
基于上述示例,第一电子设备可以根据[[a]]**2 [[b]]**2 2*[[a]]*[[b]](即转换后的待编译数据)、以及[[a]](即第二密文参数),得到[[a]]**2(即第四密文参数)。
[0114]
s209:第一电子设备将第一密文参数、第二密文参数、第三密文参数以及第四密文参数,代入与转换后的待编译数据对应的运算图谱中的节点中,以执行与转换后的待编译数据对应的运算图谱的运算过程,得到数据编译结果.
[0115]
其中,运算图谱中包括多个节点,运算图谱中的参数之间的运算关系为节点之间的运算关系,每一节点用于代入参数。
[0116]
结合如图5所示的实施例,节点e和节点f之间的运算关系为乘法运算关系,则可以
将[[a]]**2 [[b]]**2 2*[[a]]*[[b]]中的2写入至节点e,将第二加密参数[[a]]写入至节点f,以此类推,得到如图6所示的运算图谱。
[0117]
s210:第一电子设备向第三电子设备发送数据编译结果。
[0118]
相应地,第三电子设备接收由第一电子设备发送的数据编译结果。
[0119]
s211:第三电子设备根据数据编译结果生成梯度参数。
[0120]
例如,第三电子设备可以基于预先设置的公钥对数据编译结果进行解密处理,生成梯度参数。
[0121]
s212:第三电子设备向第一电子设备发送梯度参数。
[0122]
相应地,第一电子设备接收由第三电子设备发送的梯度参数。
[0123]
s213:第一电子设备根据梯度参数更新联邦学习模型。
[0124]
同理,第二电子设备训练更新联邦学习模型的原理与第一电子设备的相同,此处不再赘述。
[0125]
在一些实施例中,第一电子设备用于执行python语言,第二电子设备也用于执行python语言,第三电子设备也用于执行python语言。
[0126]
示例性地,第一电子设备在与第二电子设备以及与第三电子设备的交互时,基于python语言生成交互信息,并实现交互。例如,第一电子设备向第二电子设备获取第三密文参数的请求,为第一电子设备基于python语言生成交互信息,等等。
[0127]
同理,第二电子设备在与第一电子设备的交互时,基于python语言生成交互信息,并实现交互。例如,第一电子设备向第二电子设备发送的第一加密参数,为第一电子设备基于python语言生成交互信息,等等。
[0128]
同理,第三电子设备在与第一电子设备的交互时,基于python语言生成交互信息,并实现交互。例如,第三电子设备向第一电子设备发送的梯度参数,为第一电子设备基于python语言生成交互信息,等等。
[0129]
值得说明的是,python语言为解释性语言,因此,在对同态加密指令的加密类型进行分析时,无需结合其他编程语言或者人为的方式实现,可以提高分析的准确性和可靠性,尤其可以提高分析的效率。
[0130]
根据本技术实施例的另一个方面,本技术实施例还提供了一种基于部分同态的数据编译装置,所述装置应用于第一电子设备。用于执行如图2所述的方法。
[0131]
请参阅图7,图7为本公开一个实施例的基于部分同态的数据编译装置的示意图。
[0132]
如图7所示,该装置包括:
[0133]
第一接收模块11,用于接收第二电子设备发送的第一密文参数,其中,所述第一密文参数用于指示处理待编译数据,所述待编译数据的加密逻辑为全同态加密;
[0134]
转换模块12,用于将所述待编译数据的加密逻辑转换为部分同态加密,得到转换后的待编译数据,其中,所述转换后的待编译数据中包括所述第一密文参数和所述第一电子设备生成的第二密文参数;
[0135]
确定模块13,用于根据预设的解析库,其中,所述解析库中包括至少一个运算图谱,每一所述运算图谱用于表征多个参数之间的运算关系,确定与所述转换后的待编译数据对应的运算图谱;
[0136]
执行模块14,用于根据所述第一密文参数和所述第二密文参数,执行与所述转换
后的待编译数据对应的运算图谱,得到数据编译结果。
[0137]
在一些实施例中,所述转换后的待编译数据具有运算符;所述运算图谱的参数之间具有运算符;
[0138]
所述确定模块13用于,根据各所述运算图谱中的参数之间的运算符,确定与所述转换后的待编译数据的运算符所匹配的运算图谱。
[0139]
在一些实施例中,不同的所述运算图谱的参数之间具有运算关系。
[0140]
在一些实施例中,所述运算图谱中包括多个节点,所述运算图谱中的参数之间的运算关系为节点之间的运算关系,每一节点用于代入参数;
[0141]
所述执行模块14用于,将所述第一密文参数和所述第二密文参数,代入与所述转换后的待编译数据对应的运算图谱中的节点中,以执行与所述转换后的待编译数据对应的运算图谱的运算过程,得到所述数据编译结果。
[0142]
在一些实施例中,所述执行模块14用于,从所述第二电子设备中获取第三密文参数,其中,所述第三密文参数为根据所述第一密文参数所生成的,并将所述第一密文参数、所述第二密文参数、所述第三密文参数以及第四密文参数,代入与所述转换后的待编译数据对应的运算图谱中的节点中,以执行与所述转换后的待编译数据对应的运算图谱的运算过程,得到所述数据编译结果,其中,所述第四密文参数为所述第一电子设备根据所述第二密文参数所生成的。
[0143]
结合图8可知,在一些实施例中,所述第一密文参数为进行联邦学习模型的训练或者联邦学习模型的应用时,所生成的中间信息;所述装置还包括:
[0144]
发送模块15,用于将所述数据编译结果发送给第三电子设备,所述数据编译结果用于确定梯度参数;
[0145]
第二接收模块16,用于接收所述第三电子设备发送的梯度参数;
[0146]
更新模块17,用于并根据所述梯度参数更新联邦学习模型。
[0147]
在一些实施例中,所述装置还包括:
[0148]
建立模块18,用于根据不同的运算需求信息,其中,所述运算需求信息包括不同参数之间的运算关系的需求信息,建立每一所述运算图谱,以得到所述解析库。
[0149]
在一些实施例中,所述第一电子设备用于执行python语言,所述第二电子设备用于执行python语言。
[0150]
根据本技术实施例的另一个方面,本技术实施例还提供了一种电子设备和一种可读存储介质。
[0151]
请参阅图9,图9为本技术实施例的电子设备的框图。
[0152]
其中,电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本技术的实现。
[0153]
如图9所示,该电子设备包括:一个或多个处理器101、存储器102,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进
行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示gui的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图9中以一个处理器101为例。
[0154]
存储器102即为本技术所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本技术所提供的基于部分同态的数据编译方法。本技术的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本技术所提供的基于部分同态的数据编译方法。
[0155]
存储器102作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块。处理器101通过运行存储在存储器102中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的基于部分同态的数据编译方法。
[0156]
存储器102可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据电子设备的使用所创建的数据等。此外,存储器102可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器102可选包括相对于处理器101远程设置的存储器,这些远程存储器可以通过网络连接至电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
[0157]
电子设备还可以包括:输入装置103和输出装置104。处理器101、存储器102、输入装置103和输出装置104可以通过总线或者其他方式连接,图9以通过总线连接为例。
[0158]
输入装置103可接收输入的数字或字符信息,以及产生与电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置104可以包括显示设备、辅助照明装置(例如,led)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(lcd)、发光二极管(led)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
[0159]
此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用asic(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
[0160]
这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(pld)),包括,接收作为机器可读信号的机器指令的机器可读
介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
[0161]
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
[0162]
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。
[0163]
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
[0164]
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
[0165]
上述本公开实施例序号仅仅为了描述,不代表实施例的优劣。
[0166]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本公开各个实施例所述的方法。
[0167]
以上仅为本公开的优选实施例,并非因此限制本公开的专利范围,凡是利用本公开说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本公开的专利保护范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献