CN114448682A - 联邦协议加密方法、装置、电子设备以及存储介质 - Google Patents
联邦协议加密方法、装置、电子设备以及存储介质 Download PDFInfo
- Publication number
- CN114448682A CN114448682A CN202210008793.6A CN202210008793A CN114448682A CN 114448682 A CN114448682 A CN 114448682A CN 202210008793 A CN202210008793 A CN 202210008793A CN 114448682 A CN114448682 A CN 114448682A
- Authority
- CN
- China
- Prior art keywords
- atomic
- encrypted
- ciphertext
- numerical value
- original plaintext
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 76
- 238000004590 computer program Methods 0.000 claims description 11
- 238000004364 calculation method Methods 0.000 abstract description 38
- 230000008569 process Effects 0.000 description 28
- 230000005540 biological transmission Effects 0.000 description 9
- 238000004422 calculation algorithm Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 4
- 238000012549 training Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
本发明实施例提供了一种联邦协议加密方法、装置、电子设备以及存储介质,该方法包括:获取参与方发送的原始明文,并将原始明文拆分为至少一个待加密数值;在第一原子密文表满足预设条件的情况下,在第一原子密文表中确定与至少一个待加密数值分别对应的原子密文;将至少一个待加密数值分别对应的原子密文相加,得到目标密文。这样,本发明实施例中通过查表得到原始明文拆分后的待加密数值对应的原子密文,并基于原子密文进行相加得到目标密文,实现对原始明文的加密,无需直接对整个原始明文进行加密计算,能够降低加密计算的计算量,降低加密计算的开销,同时降低了加密计算的时间,提高了加密效率。
Description
技术领域
本发明涉及机器学习技术领域,特别是涉及一种联邦协议加密方法、装置、电子设备以及存储介质。
背景技术
随着人工智能技术的不断发展,越来越多的企业开始进行基于联邦协议的机器学习和联合建模。
为了保证数据的隐私性,联邦学***均时间为1.32毫秒,解密运算的平均时间为0.34毫秒,加法运算的平均时间为0.007毫秒,数乘运算的平均时间为0.063毫秒。
由此可见,同态加密算法中直接进行加密计算的耗时较长,加密计算的开销较大,加密效率较低。
发明内容
本发明实施例提供一种联邦协议加密方法、装置、电子设备以及存储介质,以解决现有技术中加密过程耗时较长、加密计算开销大、加密效率较低的问题。
为了解决上述问题,本发明实施例是这样实现的:
第一方面,本发明实施例公开了一种联邦协议加密方法,包括:
获取参与方发送的原始明文,并将所述原始明文拆分为至少一个待加密数值;
在第一原子密文表满足预设条件的情况下,在所述第一原子密文表中确定与所述至少一个待加密数值分别对应的原子密文;
将所述至少一个待加密数值分别对应的原子密文相加,得到目标密文。
可选的,在所述获取参与方发送的原始明文之后,所述方法还包括:
获取所述第一原子密文表的更新时间;
确定当前时间与所述更新时间之间的差值;
在所述差值大于预设时间阈值的情况下,确定所述第一原子密文表不满足预设条件。
可选的,在所述获取参与方发送的原始明文之后,所述方法还包括:
获取所述第一原子密文表的调用次数;
在所述调用次数大于或者等于预设次数阈值的情况下,确定所述第一原子密文表不满足预设条件。
可选的,在所述获取参与方发送的原始明文之前,所述方法还包括:
确定所述原始明文的预设数值范围以及所述原始明文对应的十进制位数;
基于所述预设数值范围以及所述十进制位数,将所述预设数值范围中的数值按照十进制位数做拆分,得到待加密数值;
针对每个待加密数值,生成所述待加密数值对应的预设数量个原子密文;
基于所述待加密数值以及所述待加密数值对应的原子密文,生成所述第一原子密文表。
可选的,在所述将所述至少一个待加密数值分别对应的原子密文相加,得到目标密文之前,所述方法还包括:
在所述第一原子密文表不满足所述预设条件的情况下,获取第二原子密文表,并在所述第二原子密文表中确定与所述至少一个待加密数值分别对应的原子密文。
可选的,所述第二原子密文表是所述参与方在空闲时间预计算生成的。
可选的,在所述获取第二原子密文表之前,所述方法还包括:
接收所述参与方发送的存储指令;
基于所述存储指令,将所述参与方在本次空闲时间计算的待加密数值以及所述待加密数值对应的原子密文存储至所述第二原子密文表中。
第二方面,本发明实施例公开了一种联邦协议加密装置,包括:
第一获取模块,用于获取参与方发送的原始明文,并将所述原始明文拆分为至少一个待加密数值;
第一确定模块,用于在第一原子密文表满足预设条件的情况下,在所述第一原子密文表中确定与所述至少一个待加密数值分别对应的原子密文;
相加模块,用于将所述至少一个待加密数值分别对应的原子密文相加,得到目标密文。
可选的,所述装置还包括:
第二获取模块,用于获取所述第一原子密文表的更新时间;
第二确定模块,用于确定当前时间与所述更新时间之间的差值;
第三确定模块,用于在所述差值大于预设时间阈值的情况下,确定所述第一原子密文表不满足预设条件。
可选的,所述装置还包括:
第三获取模块,用于获取所述第一原子密文表的调用次数;
第四确定模块,用于在所述调用次数大于或者等于预设次数阈值的情况下,确定所述第一原子密文表不满足预设条件。
可选的,所述装置还包括:
第五确定模块,用于确定所述原始明文的预设数值范围以及所述原始明文对应的十进制位数;
拆分模块,用于基于所述预设数值范围以及所述十进制位数,将所述预设数值范围中的数值按照十进制位数做拆分,得到待加密数值;
第一生成模块,用于针对每个待加密数值,生成所述待加密数值对应的预设数量个原子密文;
第二生成模块,用于基于所述待加密数值以及所述待加密数值对应的原子密文,生成所述第一原子密文表。
可选的,所述装置还包括:
第四获取模块,用于在所述第一原子密文表不满足所述预设条件的情况下,获取第二原子密文表,并在所述第二原子密文表中确定与所述至少一个待加密数值分别对应的原子密文。
可选的,所述第二原子密文表是所述参与方在空闲时间预计算生成的。
可选的,所述装置还包括:
接收模块,用于接收所述参与方发送的存储指令;
存储模块,用于基于所述存储指令,将所述参与方在本次空闲时间计算的待加密数值以及所述待加密数值对应的原子密文存储至所述第二原子密文表中。
第三方面,本发明实施例还提供了一种电子设备,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现第一方面所述的联邦协议加密的步骤。
第四方面,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现第一方面所述的联邦协议加密的步骤。
在本发明实施例中,获取参与方发送的原始明文,并将原始明文拆分为至少一个待加密数值;在第一原子密文表满足预设条件的情况下,在第一原子密文表中确定与至少一个待加密数值分别对应的原子密文;将至少一个待加密数值分别对应的原子密文相加,得到目标密文。这样,本发明实施例中通过查表得到原始明文拆分后的待加密数值对应的原子密文,并基于原子密文进行相加得到目标密文,实现对原始明文的加密,无需直接对整个原始明文进行加密计算,能够降低加密计算的计算量,降低加密计算的开销,同时降低了加密计算的时间,提高了加密效率。
附图说明
图1示出了本发明实施例的一种联邦协议加密方法的步骤流程图;
图2示出了本发明实施例的一种联邦协议加密的流程示意图;
图3示出了本发明实施例的一种联邦协议加密的交互示意图
图4示出了本发明实施例的一种联邦协议加密装置的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参照图1,示出了本发明的一种联邦协议加密方法的步骤流程图。该方法的执行主体可以为电子设备,例如服务器等计算机设备,具体可以是指联邦学习中的各个参与方,也可以是指与参与方通信连接的服务器等,本发明实施例对此不作具体限定。
本发明实施例中,联邦学习(Federated Learning)是一种人工智能基础技术,旨在保障大数据交换时的信息安全、保护终端数据和个人数据隐私,在保证合法合规的前提下,多参与方或多计算结点之间开展的高效率的机器学习。联邦协议可以是指在联邦学习中采用的数据传输规则。在多方联邦建模场景中,参与方主要包括应用方(guest)和数据源方(host),通常在联邦学习过程中,可以有一个应用方guest和多个数据源方host,其中,应用方含有标签数据,数据源方不含标签数据。需要说明的是,在本发明实施例中,应用方和数据源方都是参与方,在数据传输过程中均需要进行隐私数据的加密,以保证数据的安全性。
该方法具体可以包括:
步骤101、获取参与方发送的原始明文,并将所述原始明文拆分为至少一个待加密数值。
本发明实施例中,参与方可以是指联邦学习中的各方,具体可以是应用方guest或者数据源方host等,本发明实施例对此不作限定。原始明文可以是指参与方本地存储的原始数据。在多方联邦学习建模的场景中,若参与方直接发送原始明文,容易造成隐私数据的泄露,降低了数据运行的安全性。因此需要将原始明文加密后发送,这样能够在保证数据安全性的前提下,实现多方联合建模。待加密数值可以是指原始明文拆分后得到的各个数值。
本发明实施例中,在参与方本地的服务器中,可以运行有加密服务和原子密文服务两个并行的服务进程,其中加密服务可以用于对原始明文进行加密得到目标密文,原子密文服务可以用于生成原子密文表,这样通过双线并行一定程度上能够提高加密效率。当然,加密服务和原子密文服务也可以合并为一个进程,既通过一个进程来完成原始明文的加密过程和原子密文表的生成过程。本发明实施例中后续以加密服务和原子密文服务为部署在参与方本地的两个并行的服务进行阐述。
需要说明的是,该加密服务和原子密文服务也可以不设置在参与方本地,而是两个服务均设置在单独的服务器中,或者将其中一个设置在单独的服务器中。参与方可以与该单独的服务器进行通信,以实现对原始明文的加密。具体可以基于实际需求进行设置,本发明实施例对此不作限定。
本步骤中,参与方在需要发送原始明文时,首先将该原始明文发送至加密服务进行加密。加密服务在接收到该原始明文后,将该原始明文进行拆分,具体的拆分规则可以为基于十进制位数进行拆分等,可以基于原始明文的具体数值范围进行设置,拆分后的待加密数值的个数也可以灵活调整,本发明实施例对此不作限定。示例性地,对于原始明文1.2而言,可以按照两个十进制位数,即个位和十分位进行拆分,得到1和0.2这两个待加密数值。
步骤102、在第一原子密文表满足预设条件的情况下,在所述第一原子密文表中确定与所述至少一个待加密数值分别对应的原子密文。
本发明实施例中,第一原子密文表可以是指加密服务正在使用的、由众多原子密文组成的数据表,该第一原子密文表可以是由原子密文服务预先生成的。在联邦学习的初始阶段,原子密文服务可以将该第一原子密文表发送至加密服务中,由加密服务基于该第一原子密文表实现对原始明文的加密。预设条件可以用于判断第一原子密文表是否符合加密需求,该预设条件具体可以是第一原子密文表是否过期或者第一原子密文表达到调用上限等。当然,预设条件也可以包括其他类型,具体可以基于实际需求进行设置,本发明实施例对此不作限定。
原子密文可以是指第一原子密文表中存储的、用于对原始明文进行加密的密文。本步骤中,加密服务在获取到参与方发送的原始明文之后,可以首先判断加密服务中存储的第一原子密文表是否满足预设条件。若第一原子密文表满足预设条件,则可以在第一原子密文表查找原始明文拆分得到的各个待加密数值对应的原子密文,后续可以基于待加密数值对应的原子密文来生成目标密文。相较于直接将整个原始明文进行加密运算的加密方式,本发明实施例中通过将原始明文进行拆分得到待加密数值,后续在第一原子密文表中进行查表得到原子密文,无需直接对整个原始明文进行加密运算,明显降低了加密的计算量。
步骤103、将所述至少一个待加密数值分别对应的原子密文相加,得到目标密文。
本发明实施例中,目标密文可以是指将原始明文加密后得到的、能够直接用于数据传输的密文。原子密文相加可以是指将各个原子密文直接相加或者基于预设权重相加等,本发明实施例对此不作限定。
本步骤中,在确定出至少一个待加密数值对应的原子密文之后,加密服务可以将该原子密文相加,得到目标密文,实现对原始明文的加密。示例性地,对于原始明文中的每个待加密数值,第一原子密文表中可以存储有m个原子密文,该m的数量可以为万以上的数量级,例如两万、三万、十万等,这样能够提高原子密文的组合数,降低目标密文重复的概率。之后,对原始明文进行加密时,可以在与原始明文的每个待加密数值相对应的m个原子密文中随机确定一个原子密文,之后将原始明文中各个待加密数值对应的原子密文进行相加,得到目标密文。
这样,通过在第一原子密文表中进行查表确定出待加密数值对应的原子密文,并通过原子密文相加的方式对原始明文进行加密,加密服务无需直接计算原始明文对应的密文,降低了加密计算的计算量,降低了加密计算的开销。同时,同态加密算法中加法运算是耗时最短的运算进程,单次加法运算仅需要0.007毫秒,相较于单次加密运算的1.32毫秒,能够大大缩短加密时间。
综上所述,本发明实施例提供的一种联邦协议加密方法,获取参与方发送的原始明文,并将原始明文拆分为至少一个待加密数值;在第一原子密文表满足预设条件的情况下,在第一原子密文表中确定与至少一个待加密数值分别对应的原子密文;将至少一个待加密数值分别对应的原子密文相加,得到目标密文。这样,本发明实施例中通过查表得到原始明文拆分后的待加密数值对应的原子密文,并基于原子密文进行相加得到目标密文,实现对原始明文的加密,无需直接对整个原始明文进行加密计算,能够降低加密计算的计算量,降低加密计算的开销,同时降低了加密计算的时间,提高了加密效率。
可选的,本发明实施例中,在步骤102之前,该联邦协议加密方法可以包括以下步骤S21至步骤S23:
步骤S21、获取所述第一原子密文表的更新时间。
本发明实施例中,更新时间可以是指第一原子密文表在生成时携带的更新时间标识,例如第一原子密文表中的更新时间戳等。
需要说明的是,当第一原子密文表不满足预设条件时,加密服务可以获取第二原子密文表,同时将该第一原子密文表删除。这样,在为下一个原始明文进行加密时,上一次加密过程中获取的第二原子密文表就成为本次加密过程中加密服务已经存储的第一原子密文表,实现了对第一原子密文表的更新。
步骤S22、确定当前时间与所述更新时间之间的差值。
本发明实施例中,在确定出第一原子密文表的更新时间后,可以计算当前时间与该更新时间之间的差值,后续可以基于该差值判断该第一原子密文表是否过期。
步骤S23、在所述差值大于预设时间阈值的情况下,确定所述第一原子密文表不满足预设条件。
本发明实施例中,预设时间阈值可以是指预先设置的第一原子密文表的有效时间。该预设时间阈值具体可以基于实际调用需求进行确定,本发明实施例对此不作限定。若当前时间与第一原子密文表的更新时间之间的差值大于预设时间阈值,则该第一原子密文表已经过期,不满足预设条件。若当前时间与第一原子密文表的更新时间之间的差值不大于预设时间阈值,则该第一原子密文表仍在有效期内,满足预设条件。
本发明实施例中,获取第一原子密文表的更新时间;确定当前时间与更新时间之间的差值;在差值大于预设时间阈值的情况下,确定第一原子密文表不满足预设条件。这样,基于更新时间确定第一原子密文表是否过期,能够提高第一原子密文表的时效性,保证联邦学习过程中数据加密的安全性。
可选的,本发明实施例中,在步骤102之前,该联邦协议加密方法可以包括以下步骤S31至步骤S32:
步骤S31、获取所述第一原子密文表的调用次数。
本发明实施例中,调用次数可以是指第一原子密文表被调用的次数。该第一原子密文表每次被调用时,该调用次数就会自增一次,即在原有的调用次数的基础上加1,实现对调用次数的实时更新。
步骤S32、在所述调用次数大于或者等于预设次数阈值的情况下,确定所述第一原子密文表不满足预设条件。
本发明实施例中,预设次数阈值可以是指预先设置的、第一原子密文表调用次数的上限值。若在调用次数达到上限值仍旧使用该第一原子密文表,则可能会产生目标密文相同的情况,使得原本不相同的两个原始明文对应了相同的目标密文,这样会导致数据的安全性、准确性降低。因此在调用次数不断自增并且等于预设次数阈值之后,需要使用新的原子密文表,以提高数据传输的准确度和安全性,以在保证数据安全的前提下确保模型的训练精度。
本步骤中,若第一原子密文表的调用次数大于或者等于预设次数阈值,则可以确定第一原子密文表已经达到调用上限,该第一原子密文表不满足预设条件;若第一原子密文表小于预设次数阈值,则可以确定第一原子密文表未达到调用上限,该第一原子密文表满足预设条件。
本发明实施例中,获取第一原子密文表的调用次数;在调用次数大于或者等于预设次数阈值的情况下,确定所述第一原子密文表不满足预设条件。这样,通过对调用次数是否大于等于预设次数阈值来判断第一原子密文表是否达到调用上限值,能够提高数据加密的安全性和精准度,进而可以在提高数据安全性的前提下保证模型训练的准确度。
可选的,在步骤101之前,该联邦协议加密方法可以包括以下步骤S41至步骤S44:
步骤S41、确定所述原始明文的预设数值范围以及所述原始明文对应的十进制位数。
本发明实施例中,预设数值范围可以是指原始明文对应的数值范围。例如原始明文的预设数值范围可以为-10到10之间等。十进制位数可以是指每个原始明文由几个十进制位组成,例如原始明文1.234中包括个位、十分位、百分位、千分位,其十进制位数为4。
本步骤中,原子密文服务在生成第一原子密文表时,可以首先确定原始明文的预设数值范围,基于该预设数值范围可以确定需要生成哪些待加密数值的原子密文;同时需要确定原始明文的十进制位数,基于该十进制位数可以确定数值拆分出的待加密数值的个数以及最终相加形成目标密文所需要的原子密文的个数。参与方在进行数据加密之前,可以首先将需要发送的原始明文的预设数值范围以及十进制位数发送至原子密文服务,以使得原子密文服务后续可以确定各个待加密数值。这样,各个参与方后续均可以基于本地原始明文的数据特征生成相应的第一原子密文表,提高后续加密过程的效率。
步骤S42、基于所述预设数值范围以及所述十进制位数,将所述预设数值范围中的数值按照十进制位数做拆分,得到待加密数值。
本发明实施例中,待加密数值可以是指对预设数值范围内的各个原始明文拆分后的、需要加密的数字。在确定出十进制位数以及预设数值范围之后,可以对各数值按照十进制位进行拆分。示例性地,对于原始明文中的数值1.234,进行十进制位数的拆分之后,可以将该1.234拆分为1、0.2、0.03、0.004四个待加密数值。
需要说明的是,重复上述对于各个原始明文数值的拆分过程,可以确定出预设数值范围所有需要生成原子密文的待加密数值。例如,若原始明文的预设数值范围为-10到10,十进制位数为4,则生成的待加密数值为需要生成的原子密文有-9、-8、...、8、9;0.1、...、0.9;0.01、...、0.09;0.001、...、0.009。个位有-9至9,十分位有0.1至0.9,百分位有0.01至0.09,千分位有0.001至0.009,例如2.3=2+0.3,3.999=3+0.9+0.09+0.009等。
步骤S43、针对每个待加密数值,生成所述待加密数值对应的预设数量个原子密文。
本发明实施例中,预设数量可以是指预先设置的、每个待加密数值的原子密文的个数m。m的数量可以为万以上的数量级,例如两万、、三万、十万等,具体可以基于参与方的计算能力和实际需求确定,本发明实施例对此不作限定。
本步骤中,在确定出需要对应生成原子密文的待加密数值之后,针对每个待加密数值,可以生成预设数量m个不同的原子密文,后续可以在每个待加密数值的m个不同的原子密文中随机选取一个,并组合形成目标密文。这样,在加密多个数时,这些原子密文可以重复使用,同时可以在一定条件下更新,如使用达到一定次数后进行更新或者定期更新等,具体更新过程可以为对每个待加密数值重新进行加密计算,重新得到每个待加密数值对应的m个待加密数值。当m足够大时,原始明文对应的目标密文重复的概率极小。例如,当十进制位数为b时,则原始明文对应的目标密文重复的概率1/mb,假设m为20000,十进制位数为5,则原始明文对应的目标密文的组合数为(20000)的5次幂,即3.2*1021。这样,能够在提高加密计算效率的同时,降低目标密文重复的概率,提高数据的安全性和加密的精准度。
步骤S44、基于所述待加密数值以及所述待加密数值对应的原子密文,生成所述第一原子密文表。
本发明实施例中,在确定出待加密数值并生成待加密数值的原子密文之后,可以基于所有待加密数值以及各个待加密数值对应的预设数量个原子密文,生成第一原子密文表。该第一原子密文表包括有原始明文中可能包括的各个待加密数值对应的原子密文,后续可以直接通过查表的方式来得到待加密数值的原子密文,无需对整个原始明文进行加密计算,降低了加密过程的计算量。
本发明实施例中,确定原始明文的预设数值范围以及原始明文对应的十进制位数;基于预设数值范围以及十进制位数,将预设数值范围中的数值按照十进制位数做拆分,得到待加密数值;针对每个待加密数值,生成待加密数值对应的预设数量个原子密文;基于待加密数值以及待加密数值对应的原子密文,生成第一原子密文表。这样,通过将原始明文中的数值基于十进制位数做拆分,同时生成每个待加密数值的原子密文,进而得到第一原子密文表,这样后续基于简单的查表确定出待加密数值的原子密文并进行相加即可生成原始明文对应的目标密文,能够降低加密计算的计算量,提高加密效率。
示例性地,图2示出了本发明实施例的一种联邦协议加密的流程示意图。如图2所示出的,在原始明文为1.234时,十进制位数为4,将该原始明文进行拆分后,得到待加密数值分别为个位1,十分位2,百分位3以及千分位4,即待加密数值为1、0.2、0.03、0.004。之后在原子密文表中查表,确定各个待加密数值分别对应的原子密文,之后在每个待加密数值对应的m个原子密文中随机选取一个,并将四个待加密数值对应的原子密文进行相加,即可得到目标密文。如图2中最终的目标密文=备选4+备选2+备选3+备选1。
可选的,本发明实施例中,在步骤103之前,该联邦协议加密方法还可以包括以下步骤S51:
步骤S51、在所述第一原子密文表不满足所述预设条件的情况下,获取第二原子密文表,并在所述第二原子密文表中确定与所述至少一个待加密数值分别对应的原子密文。
本发明实施例中,第二原子密文表可以是指原子密文服务预计算的、不同于第一原子密文表的新的原子密文表。第二原子密文表的生成过程与前述第一原子密文表的生成原理相同,本发明实施例在此不再赘述。第二原子密文表中的各个原子密文是重新随机生成的,其包括的各个原子密文可以与第一原子密文表中的原子密文不相同。
本步骤中,在第一原子密文表不满足预设条件的情况下,加密服务可以获取第二原子密文表,并基于该新的第二原子密文表确定待加密数值对应的原子密文,后续将各个待加密数值对应的原子密文相加得到原始明文对应的目标密文。
本发明实施例中,在第一原子密文表不满足预设条件的情况下,获取第二原子密文表,并在第二原子密文表中确定与至少一个待加密数值分别对应的原子密文。这样,能够及时更新不满足预设条件的第一原子密文表,保证数据的安全性和加密计算的准确性。
可选的,本发明实施例中,所述第二原子密文表是所述参与方在空闲时间预计算生成的。
本发明实施例中,在联邦学习的联邦协议中,各个参与方的执行过程为按顺序执行,每个参与方在执行本地计算并传输后,要等待其他参与方返回结果,存在一段空闲的时间。参与方可以充分利用该空闲时间,通过原子密文服务来预计算生成第二原子密文表,后续在第一原子密文表不满足预设条件时,无需再耗费时间来重新生成新的原子密文表,可以直接获取到新的第二原子密文表用于后续加密过程。这样,通过参与方异步的预计算过程,能够进一步提高加密效率。
可选的,本发明实施例中,在步骤S51之前,该联邦协议加密方法还可以包括以下步骤S61至步骤S62:
步骤S61、接收所述参与方发送的存储指令。
本发明实施例中,存储指令可以是指用于指示原子密文服务存储第二原子密文表当前内容的指令。
步骤S62、基于所述存储指令,将所述参与方在本次空闲时间计算的待加密数值以及所述待加密数值对应的原子密文存储至所述第二原子密文表中。
本发明实施例中,参与方可以基于空闲时间来预计算生成第二原子密文时,但由于参与方的空闲时间不确定,空闲时间可能有长有短。在参与方等待结果的单个空闲时间内可能无法完成整个第二原子密文表的生成过程。此时,原子密文服务可以提供第二原子密文表的数据存储功能。参与方在空闲时间结束后执行其他计算或者数据传输功能之前,可以向该原子密文服务下发存储指令,原子密文服务相应地可以存储本次空闲时间内参与方预计算得到的待加密数值及其对应的原子密文,以便于参与方在下次空闲时间内可以继续该第二原子密文表的生成过程,保证参与方预计算的有效性。
本发明实施例中,接收参与方发送的存储指令;基于存储指令,将参与方在本次空闲时间计算的待加密数值以及待加密数值对应的原子密文存储至第二原子密文表中。这样,通过存储参与方在单次空闲时间计算的原子密文,能够充分利用参与方的空闲时间,提高计算资源的利用率。
可选的,本发明实施例中,在步骤103之后,该联邦协议加密方法还可以包括以下步骤S71:
步骤S71、将所述目标密文返回至所述参与方,以使得所述参与方发送所述目标密文。
本发明实施例中,在将原始明文进行加密得到目标密文之后,可以将该目标密文返回至参与方的数据传输进程或者服务,由该数据传输进程或者服务将该目标密文发送至其他参与方,这样能够在保证数据安全性的前提下实现多方联合建模。
示例性地,图3示出本发明实施例的一种联邦协议加密方法的交互示意图。如图3所示出的,加密服务与原子密文服务可以是指参与方中两个不同的服务,例如两个不同的进程或者线程。参与方基于加密接口调用加密服务,对原始明文进行加密;加密服务首先将该原始明文拆分为至少一个待加密数值,之后在加密服务本地存储的第一原子密文表满足预设条件的情况下,基于该第一原子密文表进行查表确定待加密数值对应的原子密文,之后将原子密文相加,得到原始明文对应的目标密文;在加密服务本地存储的第一原子密文表不满足预设条件例如第一原子密文表已经过期或者达到调用上限的情况下,加密服务向原子密文服务请求第二原子密文表。该原子密文服务中存储的第二原子密文表是参与方在空闲时间预计算生成的。之后加密服务基于第二原子密文表对原始明文进行加密得到目标密文。最后将该目标密文返回至参与方,以便于参与方发送该目标密文。
这样,通过上述联邦协议加密方法,在基本的安全性能不变的情况下,联邦学习中paillier同态加密的加密过程能够实现数据传输速度提高2-3个数量级,极大地加快联邦学习模型的训练,提高了模型训练效率。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图4,示出了本发明的一种联邦协议加密装置的结构框图,具体的,该联邦协议加密装置40可以包括如下模块:
第一获取模块401,用于获取参与方发送的原始明文,并将所述原始明文拆分为至少一个待加密数值;
第一确定模块402,用于在第一原子密文表满足预设条件的情况下,在所述第一原子密文表中确定与所述至少一个待加密数值分别对应的原子密文;
相加模块403,用于将所述至少一个待加密数值分别对应的原子密文相加,得到目标密文。
综上所述,本发明实施例提供的联邦协议加密装置,获取参与方发送的原始明文,并将原始明文拆分为至少一个待加密数值;在第一原子密文表满足预设条件的情况下,在第一原子密文表中确定与至少一个待加密数值分别对应的原子密文;将至少一个待加密数值分别对应的原子密文相加,得到目标密文。这样,本发明实施例中通过查表得到原始明文拆分后的待加密数值对应的原子密文,并基于原子密文进行相加得到目标密文,实现对原始明文的加密,无需直接对整个原始明文进行加密计算,能够降低加密计算的计算量,降低加密计算的开销,同时降低了加密计算的时间,提高了加密效率。
可选的,所述装置40还包括:
第二获取模块,用于获取所述第一原子密文表的更新时间;
第二确定模块,用于确定当前时间与所述更新时间之间的差值;
第三确定模块,用于在所述差值大于预设时间阈值的情况下,确定所述第一原子密文表不满足预设条件。
可选的,所述装置40还包括:
第三获取模块,用于获取所述第一原子密文表的调用次数;
第四确定模块,用于在所述调用次数大于或者等于预设次数阈值的情况下,确定所述第一原子密文表不满足预设条件。
可选的,所述装置40还包括:
第五确定模块,用于确定所述原始明文的预设数值范围以及所述原始明文对应的十进制位数;
拆分模块,用于基于所述预设数值范围以及所述十进制位数,将所述预设数值范围中的数值按照十进制位数做拆分,得到待加密数值;
第一生成模块,用于针对每个待加密数值,生成所述待加密数值对应的预设数量个原子密文;
第二生成模块,用于基于所述待加密数值以及所述待加密数值对应的原子密文,生成所述第一原子密文表。
可选的,所述装置40还包括:
第四获取模块,用于在所述第一原子密文表不满足所述预设条件的情况下,获取第二原子密文表,并在所述第二原子密文表中确定与所述至少一个待加密数值分别对应的原子密文。
可选的,所述第二原子密文表是所述参与方在空闲时间预计算生成的。
可选的,所述装置40还包括:
接收模块,用于接收所述参与方发送的存储指令;
存储模块,用于基于所述存储指令,将所述参与方在本次空闲时间计算的待加密数值以及所述待加密数值对应的原子密文存储至所述第二原子密文表中。
可选的,本发明实施例还提供了一种电子设备,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述联邦协议加密方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
可选的,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现上述联邦协议加密方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域技术人员易于想到的是:上述各个实施例的任意组合应用都是可行的,故上述各个实施例之间的任意组合都是本发明的实施方案,但是由于篇幅限制,本说明书在此就不一一详述了。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
Claims (10)
1.一种联邦协议加密方法,其特征在于,包括:
获取参与方发送的原始明文,并将所述原始明文拆分为至少一个待加密数值;
在第一原子密文表满足预设条件的情况下,在所述第一原子密文表中确定与所述至少一个待加密数值分别对应的原子密文;
将所述至少一个待加密数值分别对应的原子密文相加,得到目标密文。
2.根据权利要求1所述的方法,其特征在于,在所述获取参与方发送的原始明文之后,所述方法还包括:
获取所述第一原子密文表的更新时间;
确定当前时间与所述更新时间之间的差值;
在所述差值大于预设时间阈值的情况下,确定所述第一原子密文表不满足预设条件。
3.根据权利要求1所述的方法,其特征在于,在所述获取参与方发送的原始明文之后,所述方法还包括:
获取所述第一原子密文表的调用次数;
在所述调用次数大于或者等于预设次数阈值的情况下,确定所述第一原子密文表不满足预设条件。
4.根据权利要求1所述的方法,其特征在于,在所述获取参与方发送的原始明文之前,所述方法还包括:
确定所述原始明文的预设数值范围以及所述原始明文对应的十进制位数;
基于所述预设数值范围以及所述十进制位数,将所述预设数值范围中的数值按照十进制位数做拆分,得到待加密数值;
针对每个待加密数值,生成所述待加密数值对应的预设数量个原子密文;
基于所述待加密数值以及所述待加密数值对应的原子密文,生成所述第一原子密文表。
5.根据权利要求1-4任一项所述的方法,其特征在于,在所述将所述至少一个待加密数值分别对应的原子密文相加,得到目标密文之前,所述方法还包括:
在所述第一原子密文表不满足所述预设条件的情况下,获取第二原子密文表,并在所述第二原子密文表中确定与所述至少一个待加密数值分别对应的原子密文。
6.根据权利要求5所述的方法,其特征在于,所述第二原子密文表是所述参与方在空闲时间预计算生成的。
7.根据权利要求6所述的方法,其特征在于,在所述获取第二原子密文表之前,所述方法还包括:
接收所述参与方发送的存储指令;
基于所述存储指令,将所述参与方在本次空闲时间计算的待加密数值以及所述待加密数值对应的原子密文存储至所述第二原子密文表中。
8.一种联邦协议加密装置,其特征在于,包括:
第一获取模块,用于获取参与方发送的原始明文,并将所述原始明文拆分为至少一个待加密数值;
第一确定模块,用于在第一原子密文表满足预设条件的情况下,在所述第一原子密文表中确定与所述至少一个待加密数值分别对应的原子密文;
相加模块,用于将所述至少一个待加密数值分别对应的原子密文相加,得到目标密文。
9.一种电子设备,其特征在于,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至7任一项所述的联邦协议加密方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的联邦协议加密方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210008793.6A CN114448682A (zh) | 2022-01-05 | 2022-01-05 | 联邦协议加密方法、装置、电子设备以及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210008793.6A CN114448682A (zh) | 2022-01-05 | 2022-01-05 | 联邦协议加密方法、装置、电子设备以及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114448682A true CN114448682A (zh) | 2022-05-06 |
Family
ID=81365454
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210008793.6A Pending CN114448682A (zh) | 2022-01-05 | 2022-01-05 | 联邦协议加密方法、装置、电子设备以及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114448682A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101294463A (zh) * | 2008-06-18 | 2008-10-29 | 大连交通大学 | 基于电子密码锁的动态加密和开启方法 |
US20120134492A1 (en) * | 2010-11-29 | 2012-05-31 | Hui Liu | Data Encryption and Decryption Method and Apparatus |
CN103825723A (zh) * | 2014-01-24 | 2014-05-28 | 深圳市太和物联信息技术有限公司 | 一种加密方法和装置 |
CN108734024A (zh) * | 2018-05-11 | 2018-11-02 | 四川长虹电器股份有限公司 | 一种基于字典映射的高效数据库加密方法 |
CN111400738A (zh) * | 2020-03-19 | 2020-07-10 | 杭州趣维科技有限公司 | 一种多维查表方式的数据加密方法 |
CN113193950A (zh) * | 2021-07-01 | 2021-07-30 | 广东省新一代通信与网络创新研究院 | 数据加密方法、数据解密方法及存储介质 |
-
2022
- 2022-01-05 CN CN202210008793.6A patent/CN114448682A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101294463A (zh) * | 2008-06-18 | 2008-10-29 | 大连交通大学 | 基于电子密码锁的动态加密和开启方法 |
US20120134492A1 (en) * | 2010-11-29 | 2012-05-31 | Hui Liu | Data Encryption and Decryption Method and Apparatus |
CN103825723A (zh) * | 2014-01-24 | 2014-05-28 | 深圳市太和物联信息技术有限公司 | 一种加密方法和装置 |
CN108734024A (zh) * | 2018-05-11 | 2018-11-02 | 四川长虹电器股份有限公司 | 一种基于字典映射的高效数据库加密方法 |
CN111400738A (zh) * | 2020-03-19 | 2020-07-10 | 杭州趣维科技有限公司 | 一种多维查表方式的数据加密方法 |
CN113193950A (zh) * | 2021-07-01 | 2021-07-30 | 广东省新一代通信与网络创新研究院 | 数据加密方法、数据解密方法及存储介质 |
Non-Patent Citations (2)
Title |
---|
杨攀;桂小林;姚婧;林建财;田丰;张学军;: "支持同态算术运算的数据加密方案算法研究", 通信学报, no. 01 * |
韩;张海林;辛丹;吴波;康元基;: "利用身份的全同态加密函数库设计方法", 西安电子科技大学学报, no. 04 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Wang et al. | Cryptanalysis of a symmetric fully homomorphic encryption scheme | |
Tahir et al. | A new secure and lightweight searchable encryption scheme over encrypted cloud data | |
CN109450640B (zh) | 基于sm2的两方签名方法及*** | |
CN112906044A (zh) | 多方安全计算方法、装置、设备及存储介质 | |
CN111404943B (zh) | 数据的处理方法、装置、电子设备及计算机可读存储介质 | |
CN108111295B (zh) | 一种基于类模运算的同态加密方法 | |
CN108833095B (zh) | 区块链中的行为验证方法、节点、***及电子设备 | |
CN111404952B (zh) | 变电站数据加密传输方法、装置、计算机设备和存储介质 | |
CN110391895B (zh) | 数据预处理方法、密文数据获取方法、装置和电子设备 | |
CN112769542B (zh) | 基于椭圆曲线的乘法三元组生成方法、装置、设备及介质 | |
CN115694777A (zh) | 基于同态加密的隐私集合求交方法、装置、设备及介质 | |
Biçer et al. | Highly efficient and re-executable private function evaluation with linear complexity | |
Muhammad et al. | A cryptographic confusion primitive based on lotka–volterra chaotic system and its practical applications in image encryption | |
Huang et al. | Block-Level Message-Locked Encryption with Polynomial Commitment for IoT Data. | |
CN107196918A (zh) | 一种匹配数据的方法和装置 | |
US10615961B2 (en) | Method and encryption node for encrypting message | |
CN114726524B (zh) | 目标数据的排序方法、装置、电子设备及存储介质 | |
CN114884700B (zh) | 抗关键字猜测攻击的可搜索公钥加密批处理方法及*** | |
CN114448682A (zh) | 联邦协议加密方法、装置、电子设备以及存储介质 | |
CN114866312A (zh) | 一种保护数据隐私的共有数据确定方法及装置 | |
Zhou et al. | Chaotic map‐based time‐aware multi‐keyword search scheme with designated server | |
CN113612799A (zh) | 一种基于sm2算法的区块链哈希加密方法及装置 | |
CN117574435B (zh) | 基于同态加密的多关键词匿踪查询方法、装置及*** | |
Zhang et al. | Formal Security Definition of Metadata-Private Messaging | |
US11228589B2 (en) | System and method for efficient and secure communications between devices |
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 |