CN117478305B - 基于两方安全协作的全同态加密方法、系统、终端及介质 - Google Patents

基于两方安全协作的全同态加密方法、系统、终端及介质 Download PDF

Info

Publication number
CN117478305B
CN117478305B CN202311831920.3A CN202311831920A CN117478305B CN 117478305 B CN117478305 B CN 117478305B CN 202311831920 A CN202311831920 A CN 202311831920A CN 117478305 B CN117478305 B CN 117478305B
Authority
CN
China
Prior art keywords
ciphertext
data
sequence
party
homomorphic
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
Application number
CN202311831920.3A
Other languages
English (en)
Other versions
CN117478305A (zh
Inventor
宗瑞
幺宝刚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Digital Economy Academy IDEA
Original Assignee
International Digital Economy Academy IDEA
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by International Digital Economy Academy IDEA filed Critical International Digital Economy Academy IDEA
Priority to CN202311831920.3A priority Critical patent/CN117478305B/zh
Publication of CN117478305A publication Critical patent/CN117478305A/zh
Application granted granted Critical
Publication of CN117478305B publication Critical patent/CN117478305B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/52Multiplying; Dividing
    • G06F7/535Dividing only
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Operations Research (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Signal Processing (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computing Systems (AREA)
  • Evolutionary Biology (AREA)
  • Computer Security & Cryptography (AREA)
  • Probability & Statistics with Applications (AREA)
  • Algebra (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种基于两方安全协作的全同态加密方法、系统、终端及介质,运算方对第一密文和第二密文进行同态除法运算时,计算第二密文与掩码的乘积,获得掩码后密文,将所述掩码后密文发送至数据方,当接收到所述数据方发送的第三密文时,计算所述第三密文与所述掩码的乘积,获得掩码后的第三密文,计算所述掩码后的第三密文与所述第一密文的乘积,获得同态除法运算结果。计算精确度高,取值范围广,对分母取值没有约束。进行同态密文数据均值计算时,能够高效、高精度地求解出同态密文数据的均值。

Description

基于两方安全协作的全同态加密方法、系统、终端及介质
技术领域
本发明涉及数据加密技术领域,尤其涉及的是一种基于两方安全协作的全同态加密方法、系统、终端及介质。
背景技术
在计算外包场景中,特别是全同态密文数据库查询场景中,除法操作往往作为中间操作,通过全同态加密除法得到查询统计结果,由于全同态密码算法天然支持加法和乘法操作,除法操作需要使用乘法操作进行模拟,例如:计算时,先求分母/>的倒数后再与分子/>相乘。在计算外包场景中,运算方使用泰勒展开式或采用自举操作进行同态除法运算。使用泰勒展开式时,分母b存在取值范围约束;而采用自举操作时,计算精度不高,计算效率低。
发明内容
本发明的主要目的在于提供一种基于两方安全协作的全同态加密方法、系统、智能终端及计算机可读存储介质。能够解决在计算外包中使用全同态加密除法得到查询统计结果时,由于同态除法运算导致统计结果计算精度不高,计算效率低的问题。
为了实现上述目的,本发明第一方面提供一种基于两方安全协作的全同态加密方法,应用于运算方,其中,所述运算方对第一密文和第二密文进行同态除法运算的步骤包括:
计算所述第二密文与掩码的乘积,获得掩码后密文,将所述掩码后密文发送至数据方;
当接收到所述数据方发送的第三密文时,计算所述第三密文与所述掩码的乘积,获得掩码后的第三密文,计算所述掩码后的第三密文与所述第一密文的乘积,获得同态除法运算结果。
可选的,所述数据方根据所述掩码后密文计算第三密文,包括:
对所述掩码后密文进行解密,获得掩码后明文;
对所述掩码后明文进行求倒,得到所述掩码后明文的倒数;
对所述倒数进行同态加密,获得所述第三密文。
可选的,获得所述第一密文和所述第二密文,包括:
对从数据方接收到的密文数据序列中的密文数据进行筛选,获得筛选标识序列,所述筛选标识序列用于采用布尔值标识所述密文数据序列中的每一个密文数据是否被选择;
对所述筛选标识序列的所有筛选标识进行同态加法运算,获得所述第二密文,所述第二密文用于表征所述密文数据序列中已选择的密文数据的总个数;
对所述筛选标识序列与所述密文数据序列进行同态运算,获得所述第一密文,所述第一密文用于表征所述密文数据序列中已选择的密文数据的累计值。
可选的,还接收到数据方发送的比较值密文,所述对从数据方接收到的密文数据序列中的密文数据进行筛选,获得筛选标识序列,包括:
基于所述密文数据序列中密文数据的数量,创建所述筛选标识序列并对所述筛选标识序列进行初始化;
将所述密文数据序列中每一个密文数据与所述比较值密文进行比较,基于当前的密文数据在所述密文数据序列中的序号,根据比较结果,设定所述筛选标识序列中所述序号对应的值,获得所述筛选标识序列。
可选的,当比较结果符合预设条件时,所述筛选标识序列中所述序号对应的值为预设已选择密文,否则,所述筛选标识序列中所述序号对应的值为预设未选择密文。
本发明第二方面提供一种基于两方安全协作的全同态加密系统,用于运算方,所述系统包括:
掩码模块,用于计算第二密文与掩码的乘积,获得掩码后密文,将所述掩码后密文发送至数据方;
除法运算模块,用于当接收到数据方发送的第三密文时,计算所述第三密文与所述掩码的乘积,获得掩码后的第三密文,计算所述掩码后的第三密文与第一密文的乘积,获得同态除法运算结果。
可选的,还包括用于获取除第一密文和第一密文的运算项获取模块,所述运算项获取模块包括选择单元、第二密文单元和第一密文单元,所述选择单元用于对从数据方接收到的密文数据序列中的密文数据进行筛选,获得筛选标识序列,所述筛选标识序列用于标识所述密文数据序列中的每一个密文数据是否被选择;所述第二密文单元用于对所述筛选标识序列的所有筛选标识进行同态加法运算,获得所述第二密文,所述第二密文用于表征所述密文数据序列中已选择的密文数据的总数;所述第一密文单元用于对所述筛选标识序列与所述密文数据序列进行同态运算,获得所述第一密文,所述第一密文用于表征所述密文数据序列中已选择的密文数据的累计值。
可选的,所述选择单元包括初始化单元和比较单元,所述初始化单元用于基于所述密文数据序列中密文数据的数量,创建所述筛选标识序列并对所述筛选标识序列进行初始化;所述比较单元用于将所述密文数据序列中每一个密文数据与比较值密文分别进行比较,当比较结果符合预设条件时,基于当前的密文数据在所述密文数据序列中的序号,所述筛选标识序列中所述序号对应的值为预设已选择密文,否则,所述筛选标识序列中所述序号对应的值为预设未选择密文。
本发明第三方面提供一种基于两方安全协作的全同态加密系统,用于数据方,所述系统包括:
加密模块,用于对第二明文和第一明文进行同态加密,分别获得第二密文和第一密文,将所述第二密文和所述第一密文发送至运算方;
求倒数模块,用于当接收到所述运算方发送的掩码后密文时,对所述掩码后密文进行解密,获得掩码后明文,求解所述掩码后明文的倒数并对求解结果进行同态加密,获得第三密文,将所述第三密文发送至所述运算方。
本发明第四方面提供一种智能终端,上述智能终端包括存储器、处理器以及存储在上述存储器上并可在上述处理器上运行的基于两方安全协作的全同态加密程序,上述基于两方安全协作的全同态加密程序被上述处理器执行时实现任意一项上述基于两方安全协作的全同态加密方法的步骤。
本发明第五方面提供一种计算机可读存储介质,上述计算机可读存储介质上存储有基于两方安全协作的全同态加密程序,上述基于两方安全协作的全同态加密程序被上述处理器执行时实现任意一项上述基于两方安全协作的全同态加密方法的步骤。
由上可见,本发明的基于两方安全协作的全同态加密方法和系统,通过运算方和数据方两方安全交互来联合实现同态除法运算,提高全同态加密的计算精确度和计算效率,特别是在应用于在计算外包场景中,尤其适用于全同态密文数据库查询统计场景中应用全同态加密除法来得到查询统计结果,通过上述运算方和数据方两方安全交互来联合实现同态除法运算,以提高统计结果的精确和和计算效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1是本发明实施例提供的全同态加密系统的交互过程示意图;
图2是本发明实施例提供的基于两方安全协作的全同态加密方法的流程示意图;
图3是本发明实施例提供的获取第二密文和第一密文的流程示意图;
图4是本发明实施例提供的一种智能终端的内部结构原理框图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况下,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当…时”或“一旦”或“响应于确定”或“响应于检测到”。类似的,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述的条件或事件]”或“响应于检测到[所描述条件或事件]”。
下面结合本发明实施例的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明还可以采用其它不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施例的限制。
在计算外包场景中,数据方用来保存明文数据,负责产生同态加密运算过程中所需的随机数、密钥对(公钥和私钥),并负责完成对明文数据的同态加密过程,将加密后的密文、密钥对中的公钥以及其他的公开信息参数(如明文模、密文模等)发送给运算方;运算方用来接收数据方发送的密文、公钥和公开信息参数,针对同态密文执行特定操作。
通常情况下,同态除法运算由运算方独立进行求解,虽然有多方安全计算的相关研究,该研究也只是将同态除法运算进行分片,利用多个运算方来联合进行同态除法运算,以提高求解效率。
除法操作实现上是相对复杂的,尤其是在有限域上进行除法运算更加困难。在同态加密中,进行除法运算需要在密文上进行操作,更加增加了计算的复杂性。
在计算外包场景中,如全同态密文数据库查询统计场景中应用全同态加密除法来得到查询统计结果(如统计平均成绩、平均体重等),运算方进行同态除法运算时,目前的处理方式可分为两种:
一、对分母b进行特定范围取值约束,然后使用泰勒展开式进行多项式计算。然而,在一些计算外包场景中,除法算子往往是中间层的算子,是未知数。例如:对某列数据进行统计,求该列数据中数值超过c的数的平均值。此时,需要先对该列数据进行比较运算,才能得到超过c的数据的数量n,即:除法运算的分母可能是0到数据总数量之间的任何一个数值。由于全同态运算时这些数值均为密文,不能对分母值做任何概率上的预估。因此,无法对分母b进行特定范围取值约束,使用该方法无法求出分母b的倒数。
二、在全同态算法计算过程中采用自举操作,通过更复杂的模拟多项式计算,期望得到更精确的分母b的倒数值。然而,在全同态算法执行流程中加入自举操作,会增加密钥、密文长度,而且自举操作耗时严重,在计算外包场景中会带来额外的传输带宽、增加计算时延和存储空间需求。
针对现有的全同态加密方法进行同态除法运算时存在的问题,本发明通过运算方和数据方两方安全协作来进行同态除法的运算,无需在运算方采用多项式来逼近或采用自举操作,使得除法运算时分母没有取值范围约束、并且精确度高、计算效率高。本发明能够应用在计算外包场景中,尤其适用于全同态密文数据库查询统计场景中使用同态除法得到运算结果的场景。
本实施例提供了一种基于两方安全协作的全同态加密系统,部署在数据方上时,主要包括加密模块和求倒数模块,通过加密模块对第二明文和第一明文进行同态加密,分别获得第二密文和第一密文,然后将第二密文和第一密文发送至运算方。在进行同态除法运算时,数据方还协助运算方,通过求倒数模块对接收到的运算方发送的掩码后密文进行解密,获得掩码后明文,求解掩码后明文的倒数并对求解结果进行同态加密,获得第三密文,将第三密文发送至运算方。部署在运算方上时,包括掩码模块和除法运算模块,通过掩码模块计算第二密文与掩码的乘积,获得掩码后密文,将掩码后密文发送至数据方以计算掩码后密文对应的第三密文;通过除法运算模块计算从数据方接收到的第三密文与掩码的乘积,获得掩码后的第三密文,计算掩码后的第三密文与第一密文的乘积,获得同态除法运算结果。
所述第二密文,具体可以为查询密文,查询密文表征查询数据的密文数据序列中已选择的密文数据的总个数,所述第一密文,具体可以为标记密文,标记密文表征查询数据的密文数据序列中已选择的密文数据的累计值,所述查询数据包含文本、图像、音频、视频等,所述同态除法运算结果可以为查询统计结果。
在同态数据库查询场景中,其包含数据方和运算方;所述数据方为提供明文数据的终端,可以为学校、医院等,运算方为根据数据方的数据,计算出对应的需求结果,如云服务计算平台等,明文数据为查询数据,如健康状态数据等。本实施例以数据方为学校,运算方为云计算平台、查询数据为学生体重为例,学校持有在校学生体重的明文数据M=[M1、M2、M3……Mn]等,数据方将所述学生体重数据的明文执行同态加密En(M)后,得到所述学生体重数据的同态密文C,并将所述学生体重数据的同态密文存储到云服务计算平台,所述学生体重数据的同态密文包含多个学生的体重密文;为了了解学生的身体健康状态,如需要知道体重值小于预设阈值tmp的同学的平均体重,则学校还需要对tmp进行同态加密,以得到预设阈值的同态密文Ctmp,学校将学生体重数据的同态密文C和预设阈值的同态密文Ctmp发送给云计算平台,所述云计算平台收到学生体重数据的同态密文C和预设阈值的同态密文Ctmp后,当Ci<Ctmp时,则将Ci标记为1,否则,将Ci标记为0,比较所有C中所有密文和Ctemp的值,得到标记序列T1;将T1中所有标记值进行加和,得到C对应明文M中小于tmp值的明文个数T2;然后计算C与T1的乘积,得到T3,对T3中的数值进行相加,得到体重小于tmp的学生体重之和T4;最后,将T4除以T2,即得到体重值小于预设阈值tmp的同学的平均体重。
如图1所示,应用全同态加密系统进行同态除法运算的具体运算过程为:数据方先将第二明文(如13个学生)同态加密为第二密文/>,将第一明文/>(如N个学生的总体重为1000斤)同态加密为第一密文/>。其中,/>表示同态加密过程。然后将第二密文和第一密文/>发送至运算方。运算方接收到数据方发送的第一密文/>和第二密文/>时,将第二密文/>与掩码r相乘,获得掩码后密文/>,再将掩码后密文发送至数据方。数据方接收到掩码后密文时,使用私钥解密掩码后密文,获得掩码后明文/>,对该掩码后明文求倒数/>,再对求倒数结果进行同态加密,获得第三密文,将第三密文发送至运算方。运算方接收到第三密文时,计算第三密文/>与掩码r的乘积,获得掩码后的第三密文/>,再将掩码后的第三密文/>与第一密文/>相乘,获得同态除法运算结果/>
得到同态除法运算结果后,可以根据计算外包场景的需求,将同态除法运算结果输出至数据方,或者在运算方根据同态除法运算结果进行下一步的同态运算。
其中,掩码的值不做限制,本实施例为随机生成的实数。通过对第二密文添加掩码后再发送至数据方,利用乘法掩码的方式确保运算方能够协助执行明文除法但不知道具体的明文值,对需要传输至数据方的第二密文进行了加密,来确保通信双方的身份和双方协作的安全性。
本实施例的全同态加密系统创新性地利用运算方和数据方协作进行同态除法运算求解。在运算方不需要使用泰勒展开式进行多项式逼近计算,对分母没有取值范围约束;并且,由数据方在明文状态下直接进行求倒数运算,既保证了数据的隐私和安全,而且,相比在密文状态进行推理或逼近得到的结果,精度更高、计算速度快。
本实施例中,运算方上运行有基于两方安全协作的全同态加密方法,在计算同态除法运算时,如图2所示,具体步骤包括:
步骤S100:计算第二密文与掩码的乘积,获得掩码后密文,将掩码后密文发送至数据方;
步骤S200:当接收到数据方发送的第三密文时,计算第三密文与掩码的乘积,获得掩码后的第三密文,计算掩码后的第三密文与第一密文的乘积,获得同态除法运算结果。
具体地,计算开始时,运算方拥有第一密文(如前面例子中1000对应的密文)、第二密文/>(如前面例子中13对应的密文);计算结束时,运算方拥有同态除法运算结果密文/>(如前面例子中13个小孩的平均体重对应的密文)。
首先运算方将第二密文与掩码/>相乘,得到结果为掩码后密文,其中,掩码/>为运算方上随机选取的实数。然后运算方将掩码后密文/>发送给数据方。数据方采用解密私钥对消息进行解密,得到掩码后明文,其中,/>表示全同态解密过程。然后数据方对掩码后明文/>进行求倒数,得到明文值:/>,再进行同态加密得到第三密文/>,然后将第三密文发送给运算方。运算方执行第三密文/>与掩码/>的相乘运算,得到掩码后的第三密文,即:/>。然后,计算掩码后的第三密文/>与第一密文/>的乘积,获得同态除法运算结果/>
通常的同态除法运算过程中需要在执行过程中加入噪声来保证计算的安全性,计算流程越复杂,数值精确度越低。而本实施例的基于两方安全协作的全同态加密方法,通过两方协作,利用数据方求倒数,能够精确计算32比特整数的倒数,并且保证了小数点后2进制32比特的精确度,可以确保任意32比特整数乘以该倒数的结果的整数位准确。对分母取值没有约束,适合应用在一些除法算子是中间层的算子的场景。例如:数据取值范围为32比特位宽时,分母数值可以为1到2^32之间的任意数值,而且,精确度高(能达到小数点后2进制32比特精确度)。因此,在保证精确度高、取值范围广的前提下,不使用自举和多项式逼近操作,确保运算效率高。
针对一些计算外包场景中,除法运算项往往是中间层的算子,是未知数的情况,此时数据方发送的是密文数据序列,需要在这些密文数据序列中选定部分密文数据来计算均值,此时的除数和被除数是动态的、未知的。
在一个实施例中,学校为数据方,持有学校学生相关数据,如某个班里所有n个同学的体重信息明文,表示为n个消息明文M=[M1,M2,...,Mn]。数据方生成公开信息参数、密钥对,并对n个消息明文M=[M1,M2,...,Mn]进行全同态加密,加密结果形成密文数据序列C=[C1,C2,...,Cn]、密钥对中的公钥pk和公开信息参数pp发送到云服务计算平台,即运算方。运算方计算该班中体重值小于tmp值的同学的平均体重,从而了解学生的身体健康状况,而在计算该班中体重值小于tmp值的同学的平均体重的过程中涉及同态加密除法运算。如图3所示,获得第一密文和第二密文具体计算步骤包括:
步骤P100:对从数据方接收到的密文数据序列中的密文数据进行筛选,获得筛选标识序列,筛选标识序列用于采用布尔值标识密文数据序列中的每一个密文数据是否被选择;
密文数据序列由数据方发送,由若干明文数据同态加密后形成的密文数据组成。运算方接收到密文数据序列后,根据预设的筛选条件,对密文数据序列中的每个密文数据进行判定,选择符合筛选条件的密文数据,并做好筛选标识,后续根据这些具备筛选标识的密文数据为样本来动态确定用于计算均值的除法算子和累计值。
本实施例中,筛选条件为体重值小于tmp值,是由数据方设定的,因此,数据方还使用公开信息参数pp和私钥sk,对tmp值进行同态加密,获得比较值密文Ctmp。将比较值密文Ctmp和密文数据序列C一起发送给运算方。运算方接收到数据方发送的比较值密文和密文数据序列C后,统计密文数据序列C中密文数据的数量n,初始化一个全为零的筛选标识序列Ccompare=[Ccompare1,Ccompare2,...,Ccomparen],即:一个密文数据对应于一个筛选标识。然后,依次将密文数据序列C中每一个密文数据与比较值密文Ctmp分别进行比较,如果当前的密文数据小于比较值密文Ctmp时,假定当前的密文数据在密文数据序列中的序号为k,则设定Ccomparek对应的值为预设已选择密文,否则,设定Ccomparek对应的值为预设未选择密文。本实施例中,预设已选择密文为布尔值1的密文,预设未选择密文为布尔值0的密文。需要说明的是,筛选条件不做限制,可以根据计算需求相应更改。筛选条件也可以由运算方设定,例如运算方为一些研究统计机构,此时,就不需要由数据方发送比较值密文Ctmp,数据方只需要将密文数据序列C发送给运算方就可以了。
步骤P200:对筛选标识序列的所有筛选标识进行同态加法运算,获得第二密文,第二密文用于表征密文数据序列中已选择的密文数据的总个数;
筛选标识序列标识了密文数据序列中的各个密文数据是否被选择,对筛选标识序列进行同态加法运算,就可以计算出密文数据序列中已选择的密文数据的总个数,获得第二密文。
本实施例对筛选标识序列Ccompare执行同态加法操作,即,得到第二密文Csum,第二密文Csum对应的明文值相当于符合要求的明文M的个数,即M小于tmp的个数。
步骤P300:对筛选标识序列与密文数据序列进行同态运算,获得第一密文,第一密文用于表征密文数据序列中已选择的密文数据的累计值;
由于筛选标识序列中的筛选标识为布尔值1的密文或布尔值0的密文,因此,将筛选标识序列与密文数据序列进行同态乘法和同态加法运算,就相当于对选择的密文数据进行了累加,获得第一密文,即已选择的密文数据的累计值。
本实施例对密文数据序列C和筛选标识序列Ccompare执行同态乘法操作后再执行同态加法操作,得到第一密文。相当于明文值M小于tmp的所有明文的累计值进行加密后的密文。
获得第二密文和第一密文后,就可以执行步骤S100和步骤S200,获得均值计算结果。
与常规的方法相比,本实施例通过巧妙地将符合要求的密文数据标识为布尔值1的密文,将不符合要求的密文数据标识为布尔值0的密文,使得通过同态加法能够自动获得符合要求的明文M的个数的第二密文,通过同态乘法和同态加法能够自动计算出符合要求的明文M的累计值的第一密文,并且第二密文和第一密文与相应的明文值在数据方加密得到的密文值相同,采用上述步骤S100和步骤S200计算得到均值计算结果,并发送至数据方。
具体地,运算方随机选取实数r,计算c1=Csum*r=Enc(j)*r,j表示M小于tmp的个数。运算方将c1发送给数据方,数据方采用私钥对c1进行解密,得到消息:j*r,对明文值j*r求倒数,得到明文值:。对明文值 />使用私钥、公开信息参数pp进行加密得到,将c2发送给运算方;运算方执行同态密文c2与明文r相乘的运算,得到。执行密文乘法/>,得到小于tmp值的明文的均值对应的密文,并将该密文发送给数据方;数据方使用私钥sk、公开信息参数pp对接收到的密文进行解密,得到平均体重的明文。
综上所述,本实施例通过巧妙地对符合要求的密文数据进行标识,即使除法算子是未知数的外包场景,也能够在运算方直接计算出除法算子和累计值,并采用基于两方安全协作的全同态加密方法来对除法算子和累计值进行同态除法运算,能够高效、高精度地求解出同态密文数据的均值。
在一个实施例中,针对除法运算项是未知数的场景,部署在运算方的基于两方安全协作的全同态加密系统,还包括用于获取第二密文和第一密文的运算项获取模块,所述运算项获取模块包括选择单元、第二密文单元和第一密文单元,所述选择单元用于对从数据方接收到的密文数据序列中的密文数据进行筛选,获得筛选标识序列,所述筛选标识序列用于标识所述密文数据序列中的每一个密文数据是否被选择;所述第二密文单元用于对所述筛选标识序列的所有筛选标识进行同态加法运算,获得所述第二密文,所述第二密文用于表征所述密文数据序列中已选择的密文数据的总数;所述第一密文单元用于对所述筛选标识序列与所述密文数据序列进行同态运算,获得所述第一密文,所述第一密文用于表征所述密文数据序列中已选择的密文数据的累计值。
在一个实施例中,上述选择单元包括初始化单元和比较单元,所述初始化单元用于基于所述密文数据序列中密文数据的数量,创建所述筛选标识序列并对所述筛选标识序列进行初始化;所述比较单元用于将所述密文数据序列中每一个密文数据与比较值密文分别进行比较,当比较结果符合预设条件时,基于当前的密文数据在所述密文数据序列中的序号,设定所述筛选标识序列中所述序号对应的值为预设已选择密文,否则,设定所述筛选标识序列中所述序号对应的值为预设未选择密文。
具体的,全同态加密系统中的运算项获取模块的具体功能可以参照上述基于两方安全协作的全同态加密方法中的对应描述,在此不再赘述。
基于上述实施例,本发明还提供了一种智能终端,其原理框图可以如图4所示。上述智能终端包括通过系统总线连接的处理器、存储器、网络接口以及显示屏。其中,该智能终端的处理器用于提供计算和控制能力。该智能终端的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和基于两方安全协作的全同态加密程序。该内存储器为非易失性存储介质中的操作系统、基于两方安全协作的全同态加密程序的运行提供环境。该智能终端的网络接口用于与外部的终端通过网络连接通信。该基于两方安全协作的全同态加密程序被处理器执行时实现上述任意一种基于两方安全协作的全同态加密方法的步骤。该智能终端的显示屏可以是液晶显示屏或者电子墨水显示屏。
本领域技术人员可以理解,图4中示出的原理框图,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的智能终端的限定,具体的智能终端可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
本发明实施例还提供一种计算机可读存储介质,上述计算机可读存储介质上存储有基于两方安全协作的全同态加密程序,上述基于两方安全协作的全同态加密程序被处理器执行时实现本发明实施例提供的任意一种基于两方安全协作的全同态加密方法的步骤。
应理解,上述实施例中各步骤的序号大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将上述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各实例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟是以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端设备实施例仅仅是示意性的,例如,上述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以由另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
上述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,上述计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,上述计算机程序包括计算机程序代码,上述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。上述计算机可读介质可以包括:能够携带上述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,上述计算机可读存储介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解;其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不是相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

Claims (10)

1.一种基于两方安全协作的全同态加密方法,应用于运算方,其特征在于,所述运算方对第一密文和第二密文进行同态除法运算的步骤包括:
计算所述第二密文与掩码的乘积,获得掩码后密文,将所述掩码后密文发送至数据方;
当接收到所述数据方发送的第三密文时,计算所述第三密文与所述掩码的乘积,获得掩码后的第三密文,计算所述掩码后的第三密文与所述第一密文的乘积,获得同态除法运算结果;
获得所述第一密文和所述第二密文,包括:
对从数据方接收到的密文数据序列中的密文数据进行筛选,获得筛选标识序列,所述筛选标识序列用于采用布尔值标识所述密文数据序列中的每一个密文数据是否被选择;
对所述筛选标识序列的所有筛选标识进行同态加法运算,获得所述第二密文,所述第二密文用于表征所述密文数据序列中已选择的密文数据的总个数;
对所述筛选标识序列与所述密文数据序列进行同态运算,获得所述第一密文,所述第一密文用于表征所述密文数据序列中已选择的密文数据的累计值;
所述布尔值标识为布尔值为1的密文或布尔值为0的密文。
2.如权利要求1所述的基于两方安全协作的全同态加密方法,其特征在于,所述数据方根据所述掩码后密文计算第三密文,包括:
对所述掩码后密文进行解密,获得掩码后明文;
对所述掩码后明文进行求倒,得到所述掩码后明文的倒数;
对所述倒数进行同态加密,获得所述第三密文。
3.如权利要求1所述的基于两方安全协作的全同态加密方法,其特征在于,还接收到数据方发送的比较值密文,所述对从数据方接收到的密文数据序列中的密文数据进行筛选,获得筛选标识序列,包括:
基于所述密文数据序列中密文数据的数量,创建所述筛选标识序列并对所述筛选标识序列进行初始化;
将所述密文数据序列中每一个密文数据与所述比较值密文进行比较,基于当前的密文数据在所述密文数据序列中的序号,根据比较结果,设定所述筛选标识序列中所述序号对应的值,获得所述筛选标识序列。
4.如权利要求3所述的基于两方安全协作的全同态加密方法,其特征在于,所述根据比较结果,设定所述筛选标识序列中所述序号对应的值,包括:
当比较结果符合预设条件时,所述筛选标识序列中所述序号对应的值为预设已选择密文,否则,所述筛选标识序列中所述序号对应的值为预设未选择密文。
5.一种基于两方安全协作的全同态加密系统,用于运算方,其特征在于,所述系统包括:
掩码模块,用于计算第二密文与掩码的乘积,获得掩码后密文,将所述掩码后密文发送至数据方;
除法运算模块,用于当接收到数据方发送的第三密文时,计算所述第三密文与所述掩码的乘积,获得掩码后的第三密文,计算所述掩码后的第三密文与第一密文的乘积,获得同态除法运算结果;
获得所述第一密文和所述第二密文,包括:
对从数据方接收到的密文数据序列中的密文数据进行筛选,获得筛选标识序列,所述筛选标识序列用于采用布尔值标识所述密文数据序列中的每一个密文数据是否被选择;
对所述筛选标识序列的所有筛选标识进行同态加法运算,获得所述第二密文,所述第二密文用于表征所述密文数据序列中已选择的密文数据的总个数;
对所述筛选标识序列与所述密文数据序列进行同态运算,获得所述第一密文,所述第一密文用于表征所述密文数据序列中已选择的密文数据的累计值;
所述布尔值标识为布尔值为1的密文或布尔值为0的密文。
6.如权利要求5所述的基于两方安全协作的全同态加密系统,其特征在于,还包括用于获取第二密文和第一密文的运算项获取模块,所述运算项获取模块包括选择单元、第二密文单元和第一密文单元,所述选择单元用于对从数据方接收到的密文数据序列中的密文数据进行筛选,获得筛选标识序列,所述筛选标识序列用于标识所述密文数据序列中的每一个密文数据是否被选择;所述第二密文单元用于对所述筛选标识序列的所有筛选标识进行同态加法运算,获得所述第二密文,所述第二密文用于表征所述密文数据序列中已选择的密文数据的总数;所述第一密文单元用于对所述筛选标识序列与所述密文数据序列进行同态运算,获得所述第一密文,所述第一密文用于表征所述密文数据序列中已选择的密文数据的累计值。
7.如权利要求6所述的基于两方安全协作的全同态加密系统,其特征在于,所述选择单元包括初始化单元和比较单元,所述初始化单元用于基于所述密文数据序列中密文数据的数量,创建所述筛选标识序列并对所述筛选标识序列进行初始化;所述比较单元用于将所述密文数据序列中每一个密文数据与比较值密文分别进行比较,当比较结果符合预设条件时,基于当前的密文数据在所述密文数据序列中的序号,所述筛选标识序列中所述序号对应的值为预设已选择密文,否则,所述筛选标识序列中所述序号对应的值为预设未选择密文。
8.一种基于两方安全协作的全同态加密系统,用于数据方,其特征在于,所述系统包括:
加密模块,用于对第二明文和第一明文进行同态加密,分别获得第二密文和第一密文,将所述第二密文和所述第一密文发送至运算方,所述运算方用于运行如权利要求1-4任意一项所述基于两方安全协作的全同态加密方法;
求倒数模块,用于当接收到所述运算方发送的掩码后密文时,对所述掩码后密文进行解密,获得掩码后明文,求解所述掩码后明文的倒数并对求解结果进行同态加密,获得第三密文,将所述第三密文发送至所述运算方。
9.智能终端,其特征在于,所述智能终端包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的基于两方安全协作的全同态加密程序,所述基于两方安全协作的全同态加密程序被所述处理器执行时实现如权利要求1-4任意一项所述基于两方安全协作的全同态加密方法的步骤。
10.计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有基于两方安全协作的全同态加密程序,所述基于两方安全协作的全同态加密程序被处理器执行时实现如权利要求1-4任意一项所述基于两方安全协作的全同态加密方法的步骤。
CN202311831920.3A 2023-12-28 2023-12-28 基于两方安全协作的全同态加密方法、系统、终端及介质 Active CN117478305B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311831920.3A CN117478305B (zh) 2023-12-28 2023-12-28 基于两方安全协作的全同态加密方法、系统、终端及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311831920.3A CN117478305B (zh) 2023-12-28 2023-12-28 基于两方安全协作的全同态加密方法、系统、终端及介质

Publications (2)

Publication Number Publication Date
CN117478305A CN117478305A (zh) 2024-01-30
CN117478305B true CN117478305B (zh) 2024-04-16

Family

ID=89629740

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311831920.3A Active CN117478305B (zh) 2023-12-28 2023-12-28 基于两方安全协作的全同态加密方法、系统、终端及介质

Country Status (1)

Country Link
CN (1) CN117478305B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109412786A (zh) * 2018-11-14 2019-03-01 沈阳航空航天大学 一种基于同态加密的整数密文算术运算方法
CN110348231A (zh) * 2019-06-18 2019-10-18 阿里巴巴集团控股有限公司 实现隐私保护的数据同态加解密方法及装置
CN112000962A (zh) * 2020-07-13 2020-11-27 广发银行股份有限公司 基于区块链的数据加密处理方法、装置和系统
CN112055021A (zh) * 2020-09-08 2020-12-08 苏州同济区块链研究院有限公司 一种基于椭圆曲线的茫然传输方法及装置
CN115150055A (zh) * 2022-06-12 2022-10-04 中国科学院重庆绿色智能技术研究院 一种基于同态加密的隐私保护岭回归方法
WO2023074133A1 (ja) * 2021-10-26 2023-05-04 株式会社アクセル 暗号処理装置、暗号処理方法、及び暗号処理プログラム
CN116896441A (zh) * 2023-09-11 2023-10-17 国开启科量子技术(北京)有限公司 基于量子全同态加密实现隐私计算处理的方法、装置、介质和设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113055152B (zh) * 2019-12-26 2022-10-18 郑珂威 基于完全同态加密技术的中间代码加密方法及密文虚拟机系统

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109412786A (zh) * 2018-11-14 2019-03-01 沈阳航空航天大学 一种基于同态加密的整数密文算术运算方法
CN110348231A (zh) * 2019-06-18 2019-10-18 阿里巴巴集团控股有限公司 实现隐私保护的数据同态加解密方法及装置
CN112000962A (zh) * 2020-07-13 2020-11-27 广发银行股份有限公司 基于区块链的数据加密处理方法、装置和系统
CN112055021A (zh) * 2020-09-08 2020-12-08 苏州同济区块链研究院有限公司 一种基于椭圆曲线的茫然传输方法及装置
WO2023074133A1 (ja) * 2021-10-26 2023-05-04 株式会社アクセル 暗号処理装置、暗号処理方法、及び暗号処理プログラム
CN115150055A (zh) * 2022-06-12 2022-10-04 中国科学院重庆绿色智能技术研究院 一种基于同态加密的隐私保护岭回归方法
CN116896441A (zh) * 2023-09-11 2023-10-17 国开启科量子技术(北京)有限公司 基于量子全同态加密实现隐私计算处理的方法、装置、介质和设备

Also Published As

Publication number Publication date
CN117478305A (zh) 2024-01-30

Similar Documents

Publication Publication Date Title
Wang et al. An efficient and privacy-preserving outsourced support vector machine training for internet of medical things
US11042664B2 (en) Efficient implementation for differential privacy using cryptographic functions
Schmitz Use of chaotic dynamical systems in cryptography
Wang et al. A one-time pad color image cryptosystem based on SHA-3 and multiple chaotic systems
CN108111294B (zh) 一种基于ML-kNN的保护隐私的多标记分类方法
WO2018210895A1 (en) Post-quantum secure private stream aggregation
US20140233727A1 (en) Method for secure substring search
CN105320613B (zh) 用于动态数据存储的系统及方法
JP2012129993A (ja) 暗号装置の保護方法及び保護システム
Xie et al. A privacy-preserving online ride-hailing system without involving a third trusted server
Mu et al. Private proximity detection for convex polygons
Boriga et al. A New One‐Dimensional Chaotic Map and Its Use in a Novel Real‐Time Image Encryption Scheme
WO2022076038A1 (en) Updatable private set intersection
CN108549824A (zh) 一种数据脱敏方法及装置
CN112787809A (zh) 一种高效的群智感知数据流隐私保护真值发现方法
Haroun et al. Real-time image encryption using a low-complexity discrete 3D dual chaotic cipher
US12003648B2 (en) Method and apparatus for securing real-time data transfer from a device
CN106031079B (zh) 加密算法中的运算符提升
Maarof et al. Authentication protocol for securing internet of things
CN117478305B (zh) 基于两方安全协作的全同态加密方法、系统、终端及介质
CN115409095B (zh) 多方泊松回归隐私计算模型训练方法、装置和存储介质
De Viti et al. CoVault: A Secure Analytics Platform
Sodhi et al. Implementation of message authentication code using DNA-LCG key and a novel hash algorithm
Vajda Construction for searchable encryption with strong security guarantees
CN110874479A (zh) 安全处理决策树模型的方法、系统、数据终端及处理终端

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