CN114817999A - 一种基于多密钥同态加密的外包隐私保护方法和设备 - Google Patents

一种基于多密钥同态加密的外包隐私保护方法和设备 Download PDF

Info

Publication number
CN114817999A
CN114817999A CN202210738540.4A CN202210738540A CN114817999A CN 114817999 A CN114817999 A CN 114817999A CN 202210738540 A CN202210738540 A CN 202210738540A CN 114817999 A CN114817999 A CN 114817999A
Authority
CN
China
Prior art keywords
encrypted
evaluator
user
model
value
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.)
Granted
Application number
CN202210738540.4A
Other languages
English (en)
Other versions
CN114817999B (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.)
Jinjing Yunhua Shenyang Technology Co ltd
Beijing Jinjingyunhua Technology Co ltd
Original Assignee
Jinjing Yunhua Shenyang Technology Co ltd
Beijing Jinjingyunhua Technology Co ltd
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 Jinjing Yunhua Shenyang Technology Co ltd, Beijing Jinjingyunhua Technology Co ltd filed Critical Jinjing Yunhua Shenyang Technology Co ltd
Priority to CN202210738540.4A priority Critical patent/CN114817999B/zh
Publication of CN114817999A publication Critical patent/CN114817999A/zh
Application granted granted Critical
Publication of CN114817999B publication Critical patent/CN114817999B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/007Encryption, En-/decode, En-/decipher, En-/decypher, Scramble, (De-)compress

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Storage Device Security (AREA)

Abstract

本发明的实施例提供了一种基于多密钥同态加密的外包隐私保护方法和设备。方法包括评估器接收加密kNN模型以及加密输入信息;评估器对加密输入信息进行分类计算,得到若干个类标签;对若干个类标签进行聚合,得到若干个类标签的数量发送至用户;评估器对若干个类标签的密文进行扩展,得到扩展密文,发送至每个模型拥有者;扩展密文触发每个模型拥有者构建部分解密组件,并返回至评估器;评估器将部分解密组件进行聚合,得到聚合解密组件,发送至用户,使用户对聚合解密组件进行解密。以此方式,可以将评估工作外包给第三方评估器计算汇总结果,不会向评估器披露任何信息,实现允许多个模型拥有者委托kNN分类器进行评估的安全性。

Description

一种基于多密钥同态加密的外包隐私保护方法和设备
技术领域
本发明一般涉及网络安全领域,并且更具体地,涉及基于多密钥同态加密的外包隐私保护方法和设备。
背景技术
外包分类服务随着其不断成熟和发展被应用于医疗诊断、图像处理、网络安全检测等领域中。随着网络规模的增加,产生了诸多网络安全方面的事件,面对不断增加的入侵方式缺乏准确的检测能力,基于机器学习的安全检测技术可以弥补上述不足。而kNN是机器学习中用于解决分类问题的一种常见技术,在实际应用中,外包中的kNN分类服务越来越广泛的应用。然而,隐私问题制约了外包分类服务的发展。例如,在训练阶段,训练数据可能会被敌手窃取,造成用户敏感信息的泄露;在分类阶段,敌手可能通过推理攻击方式来访问目标模型,获取模型部分信息,甚至通过逆向攻击手段获取整个模型,这将严重破坏模型持有者的知识产权,给模型持有者造成重大经济损失。这在一定程度上阻碍了外包分类服务的更广泛应用,因此在保证数据隐私和模型机密性十分重要。
针对上述问题,通常采用同态加密方法,构建客户端、服务器、模型拥有者三方模型,其中服务器拥有kNN分类器,客户端输入加密特征以开始评估。
在加密数据上分类比传统机器学习模型分类更具有挑战性。首先,分类器一旦交于云服务器处理,会损害了用户分类器模型的版权,需要使用三方模型进行处理。Raymond等人提出了保护隐私的两方分类器评估协议,与最先进的技术相比,显着提高了效率。Zhou等人提出了一种新的方案来实现云中的安全外包存储和k-NN查询,保护来自云端的数据所有者和查询用户的隐私,数据所有者不需要在线进行查询。然而,上述两种方案的模型存储在服务器中,敌手攻击服务器,会窃取模型。
其次,现有方案中的数据源使用相同的公钥加密数据,安全性假设是基于服务器不能与任何数据源串通。一旦它们串通,云服务器就可以解密并获取所有数据源的数据。最近,Meng等人提出了一种支持具有隐私保护的多个数据所有者的方案,允许数据所有者使用相同的密钥加密图像特征,可以对从多个来源收集的图像进行有效的图像检索。然而,***的潜在风险如下:
(1) 由于数据源拥有相同的公钥和私钥,A只要得到B的加密数据,就可解密学习B的数据。
(2) 在实践中,服务器很可能与其中一名参与者串通。由于服务器拥有所有加密的梯度,而学习参与者拥有私钥,一旦服务器和学习参与者串通,他们就可以解密所有学习参与者的梯度。为了避免将数据泄露给其他方,数据源必须通过不同的 TLS/SSL 安全通道连接到云服务器。
发明内容
根据本发明的实施例,提供了一种基于多密钥同态加密的外包隐私保护方案。本方案通过将评估工作外包给一个不应访问模型和数据的第三方评估器计算汇总结果,并且不会向评估器披露任何信息,从而实现允许多个模型拥有者委托kNN分类器进行评估的安全性。
在本发明的第一方面,提供了一种基于多密钥同态加密的外包隐私保护方法,包括用户、评估器和若干个模型拥有者,每个所述模型拥有者拥有一个kNN模型;该方法包括:
第一阶段:所述评估器接收由每个所述模型拥有者对其拥有的kNN模型进行加密得到的加密kNN模型,以及接收由所述用户对输入信息进行加密得到的加密输入信息;
第二阶段:所述评估器根据所述加密kNN模型对所述加密输入信息进行分类计算,得到若干个类标签;对所述若干个类标签进行聚合,得到所述若干个类标签的数量,并将所述若干个类标签与所述若干个类标签的数量发送至所述用户;
第三阶段:所述评估器对所述若干个类标签的密文进行扩展,得到扩展密文,并发送至每个所述模型拥有者;所述扩展密文用于触发每个所述模型拥有者构建部分解密组件,并返回至所述评估器;所述评估器将每个所述模型拥有者构建的部分解密组件进行聚合,得到聚合解密组件,并将所述聚合解密组件发送至所述用户,使所述用户对所述聚合解密组件进行解密。
进一步地,每个所述模型拥有者对其拥有的kNN模型进行加密得到加密kNN模型,包括:
每个所述模型拥有者生成第一AES密钥
Figure 893407DEST_PATH_IMAGE001
,根据
Figure 188122DEST_PATH_IMAGE002
生成第一SWHE密钥对
Figure 490928DEST_PATH_IMAGE003
和评估辅助元素
Figure 175987DEST_PATH_IMAGE004
,然后生成SWHE联合密钥
Figure 855230DEST_PATH_IMAGE005
利用第一SWHE密钥
Figure 738872DEST_PATH_IMAGE006
加密所述第一AES密钥
Figure 415841DEST_PATH_IMAGE001
,得到加密后的第一AES密钥
Figure 650513DEST_PATH_IMAGE007
进一步地,用户对输入信息进行加密得到加密输入信息,包括:
所述用户生成第二AES密钥
Figure 333780DEST_PATH_IMAGE008
,根据
Figure 603087DEST_PATH_IMAGE009
生成第二SWHE密钥对
Figure 450958DEST_PATH_IMAGE010
利用所述第二SWHE密钥对中的第二SWHE密钥
Figure 907347DEST_PATH_IMAGE011
加密所述第二AES密钥
Figure 928392DEST_PATH_IMAGE008
,得到加密后的第二AES密钥
Figure 724310DEST_PATH_IMAGE012
进一步地,所述评估器根据所述加密kNN模型对所述加密输入信息进行分类计算,得到若干个类标签,包括:
所述评估器对所述加密输入信息进行扩展,得到第一扩展结果;利用第一SWHE密钥和第二SWHE密钥扩展所述第一扩展结果,得到第二扩展结果;
利用点积协议计算每个kNN模型的数据和所述第二扩展结果之间的欧式距离,遍历全部加密输入信息后得到加密结果,保存为第一数组发送至所述用户;
所述评估器调用求最小值协议获取所述第一数组中的最小值,将所述最小值对应的类别保存到第二数组中;
将所述第一数组中的最小值置为最大值,循环调用求最小值协议,直至达到预设循环次数,此时所述第二数组中存在若干个最邻近的类别;
通过类别统计函数统计出所述第二数组中出现次数最多的类别,将该类别作为一个类标签;
循环上述过程,得到若干个类标签。
进一步地,所述点积协议,包括:
所述评估器利用第一AES密钥
Figure 539819DEST_PATH_IMAGE001
对每个kNN模型数据的每个属性
Figure 749084DEST_PATH_IMAGE013
进行加密,得到加密后的kNN模型数据
Figure 511503DEST_PATH_IMAGE014
发送至所述用户;
所述用户利用公钥
Figure 224245DEST_PATH_IMAGE008
对所述第二扩展结果的每个属性
Figure 210655DEST_PATH_IMAGE015
进行加密,得到加密后的第二扩展结果
Figure 641636DEST_PATH_IMAGE016
所述评估器计算所述加密后的kNN模型数据
Figure 942168DEST_PATH_IMAGE014
和加密后的第二扩展结果
Figure 40574DEST_PATH_IMAGE016
之间的欧式距离。
进一步地,所述求最小值协议,包括:
所述评估器调用比较协议,对第一数组中SWHE加密的两个密文数据的大小进行比较,得到第一比较结果;
所述用户随机选择两个随机数,所述两个随机数分别为下标较小值和下标较大值;对所述下标较小值增加第一干扰
Figure 932306DEST_PATH_IMAGE017
,得到干扰后的下标最小值
Figure 53846DEST_PATH_IMAGE018
;以及对所述下标较大值增加第二干扰
Figure 954806DEST_PATH_IMAGE019
,得到干扰后的下标较大值
Figure 642139DEST_PATH_IMAGE020
;将所述干扰后的下标最小值
Figure 173615DEST_PATH_IMAGE018
和所述干扰后的下标较大值
Figure 313609DEST_PATH_IMAGE020
发送至所述评估器;
所述评估器根据所述第一比较结果刷新密文,得到下标最小值数组
Figure 283839DEST_PATH_IMAGE021
,将所述下标最小值数组
Figure 28941DEST_PATH_IMAGE021
和第一比较结果数组
Figure 793635DEST_PATH_IMAGE022
发送至所述用户;
所述用户将所述下标最小值数组
Figure 423855DEST_PATH_IMAGE021
的值作为下标较小值,用于下一轮比较;将下标最大值数组赋值为0;
循环上述过程,直至所述第一数组中非0的数据个数为1,得到所述第一数组中的最小值。
进一步地,所述比较协议,包括:
对两个待比较的二进制加密数据进行除最高位外的按位比较,得到第二比较结果,利用临时变量记录所述第二比较结果;
调用MUX选择协议得到所述临时变量的选择条件值;
根据所述临时变量的选择条件值对两个待比较的二进制加密数据的最高位进行比较,得到第三比较结果;
根据所述第三比较结果的值判断两个待比较的二进制加密数据之间的大小关系。
进一步地,所述MUX选择协议,包括三个加密数据,分别为第一加密数据
Figure 869880DEST_PATH_IMAGE023
、第二加密数据
Figure 266226DEST_PATH_IMAGE024
和选择条件
Figure 201821DEST_PATH_IMAGE025
所述用户为所述选择条件
Figure 519670DEST_PATH_IMAGE025
添加一个加密干扰值
Figure 566123DEST_PATH_IMAGE026
,得到干扰后的选择条件
Figure 82555DEST_PATH_IMAGE027
,发送至所述评估器;
所述评估器使用加密后的第一AES密钥
Figure 126735DEST_PATH_IMAGE007
对所述干扰后的选择条件
Figure 728617DEST_PATH_IMAGE027
进行解密,得到解密的干扰选择条件
Figure 578762DEST_PATH_IMAGE028
,发送至所述用户;
所述用户根据干扰值
Figure 949700DEST_PATH_IMAGE029
得到所述选择条件
Figure 164781DEST_PATH_IMAGE025
的值,若所述干扰值
Figure 253960DEST_PATH_IMAGE029
为0,则所述选择条件
Figure 845478DEST_PATH_IMAGE025
等于所述解密的干扰选择条件
Figure 70923DEST_PATH_IMAGE028
;若所述干扰值
Figure 519222DEST_PATH_IMAGE029
为1,则所述选择条件
Figure 95697DEST_PATH_IMAGE030
所述用户利用公式
Figure 225327DEST_PATH_IMAGE031
,计算选择结果
Figure 570857DEST_PATH_IMAGE032
在本发明的第二方面,提供了一种电子设备。该电子设备至少一个处理器;以及与所述至少一个处理器通信连接的存储器;所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明第一方面的方法。
在本发明的第三方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行本发明第一方面的方法。
应当理解,发明内容部分中所描述的内容并非旨在限定本发明的实施例的关键或重要特征,亦非用于限制本发明的范围。本发明的其它特征将通过以下的描述变得容易理解。
附图说明
结合附图并参考以下详细说明,本发明各实施例的上述和其他特征、优点及方面将变得更加明显。在附图中,相同或相似的附图标记表示相同或相似的元素,其中:
图1示出了根据本发明的实施例的基于多密钥同态加密的外包隐私保护模型架构示意图;
图2示出了根据本发明的实施例的基于多密钥同态加密的外包隐私保护方法的流程图;
图3示出了根据本发明的实施例的评估器分类过程的流程图;
图4示出了根据本发明的实施例的求最小值协议的流程示意图;
图5示出了根据本发明的实施例的比较协议的流程示意图;
图6示出了根据本发明的实施例的解密过程的示意图;
图7示出了能够实施本发明的实施例的示例性电子设备的方框图;
其中,700为电子设备、701为CPU、702为ROM、703为RAM、704为总线、705为I/O接口、706为输入单元、707为输出单元、708为存储单元、709为通信单元。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的全部其他实施例,都属于本发明保护的范围。
另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
本发明中,通过将评估工作外包给一个无法获知访问模型和数据的第三方评估器计算汇总结果,并且不会向评估器披露任何信息,从而实现允许多个模型拥有者委托kNN分类器进行评估的安全性。
图1示出了本发明实施例的基于多密钥同态加密的外包隐私保护方法的流程图。
该方法中共有三个实体,分别为用户User(U)、评估器Evaluator (E)和若干个模型拥有者。
在本实施例中,用户U可以是客户端,用于将加密的输入信息发送至评估器E。其中,加密的输入信息例如姓名、性别、地址、行为特征和其他私人信息等。例如,在本实施例中,加密的输入信息可以表达成x = (x1, . . . , xn),希望预测x所属的类。U将上述加密的输入信息发送给E进行计算,以获得分类器C(W, x)而不会向其他实体透露任何信息。其中,W表示kNN模型,x表示数据。
在本实施例中,模型拥有者例如网络安全管理中心,其拥有大量的分类模型,例如分类器的核心,可用于评估U的安全状况。每个模型拥有者拥有一个kNN模型,即W1~Wn,它们将加密模型上传到E,以对kNN进行协作评估。MOsi可以使用kNN模型进行分类工作,kNN模型的机密由同态加密保护。最后,每个模型拥有者将参与部分解密。
在本实施例中,评估器Evaluator (E)例如云服务器,在收到U的密钥下的加密查询数据后,E将执行安全计数协议,聚合每个唯一的类标签。然后,E将类标签及其相关计数发送到U。U通过解密得到最终的检测结果。
图2示出了本发明实施例的基于多密钥同态加密的外包隐私保护方法的流程图。
该方法包括三个阶段:
S201、第一阶段:所述评估器接收由每个所述模型拥有者对其拥有的kNN模型进行加密得到的加密kNN模型,以及接收由所述用户对输入信息进行加密得到的加密输入信息。
在第一阶段中,包括两部分内容,第一部分是评估器接收由每个所述模型拥有者对其拥有的kNN模型进行加密得到的加密kNN模型。第二部分是评估器接收由所述用户对输入信息进行加密得到的加密输入信息。这两个部分之间不区分逻辑顺序。
在第一阶段的第一部分中,每个所述模型拥有者对其拥有的kNN模型进行加密得到加密kNN模型,包括:
每个所述模型拥有者生成第一AES密钥
Figure 190058DEST_PATH_IMAGE001
,根据
Figure 191512DEST_PATH_IMAGE002
生成第一SWHE密钥对
Figure 187150DEST_PATH_IMAGE003
和第一评估辅助元素
Figure 121607DEST_PATH_IMAGE004
,然后生成SWHE联合密钥
Figure 114971DEST_PATH_IMAGE005
利用所述第一SWHE密钥
Figure 233467DEST_PATH_IMAGE006
加密所述第一AES密钥
Figure 767216DEST_PATH_IMAGE001
,得到加密后的第一AES密钥
Figure 25022DEST_PATH_IMAGE007
在第一阶段的第一部分中,用户对输入信息进行加密得到加密输入信息,包括:
所述用户生成第二AES密钥
Figure 986025DEST_PATH_IMAGE008
,根据
Figure 758809DEST_PATH_IMAGE009
生成第二SWHE密钥对
Figure 33933DEST_PATH_IMAGE010
利用所述第二SWHE密钥对中的第二SWHE密钥
Figure 208562DEST_PATH_IMAGE011
加密所述第二AES密钥
Figure 340466DEST_PATH_IMAGE008
,得到加密后的第二AES密钥
Figure 600546DEST_PATH_IMAGE012
在本实施例中,用户U独立生成AES密钥
Figure 413781DEST_PATH_IMAGE008
和SWHE密钥对
Figure 708497DEST_PATH_IMAGE010
,用于生成评估密钥
Figure 745723DEST_PATH_IMAGE033
。模型拥有者和用户使用各自的SWHE密钥
Figure 696361DEST_PATH_IMAGE006
Figure 375604DEST_PATH_IMAGE011
加密他们的 AES 密钥以获得第一AES密钥
Figure 259247DEST_PATH_IMAGE007
和第二AES密钥
Figure 936216DEST_PATH_IMAGE012
。然后,他们将
Figure 170888DEST_PATH_IMAGE007
,
Figure 325926DEST_PATH_IMAGE012
发送给评估器。
作为本发明的一种实施例,U输入待分类的数据
Figure 595233DEST_PATH_IMAGE034
,并将每个数据转换成按位表示,即
Figure 974262DEST_PATH_IMAGE035
。U使用AES密钥加密每个位以获得
Figure 633913DEST_PATH_IMAGE036
S202、第二阶段:所述评估器根据所述加密kNN模型对所述加密输入信息进行分类计算,得到若干个类标签;对所述若干个类标签进行聚合,得到所述若干个类标签的数量,并将所述若干个类标签与所述若干个类标签的数量发送至所述用户。
作为本发明的一种实施例,在第二阶段中,所述评估器根据所述加密kNN模型对所述加密输入信息进行分类计算,得到若干个类标签,包括:
S301、所述评估器对所述加密输入信息进行扩展,得到第一扩展结果;利用所述第一SWHE密钥和第二SWHE密钥扩展所述第一扩展结果,得到第二扩展结果。
在本实施例中,收到加密的输入信息后,E扩展密文
Figure 389380DEST_PATH_IMAGE037
。然后使用SWHE密钥
Figure 513193DEST_PATH_IMAGE038
扩展
Figure 531965DEST_PATH_IMAGE039
S302、利用点积协议计算每个kNN模型的数据和所述第二扩展结果之间的欧式距离,遍历全部加密的输入信息后得到加密结果,发送至所述用户保存为第一数组。
点积协议是计算两个SWHE加密密文向量,返回一个加密结果,表示加密待测数据与每个加密训练数据的欧式距离的平方。点积协议包括:
首先,评估器利用第一AES密钥
Figure 478580DEST_PATH_IMAGE001
对每个kNN模型数据的每个属性
Figure 772158DEST_PATH_IMAGE013
进行加密,得到加密后的kNN模型数据
Figure 750478DEST_PATH_IMAGE014
发送至所述用户;其次,所述用户利用公钥
Figure 940151DEST_PATH_IMAGE008
对所述第二扩展结果的每个属性
Figure 636712DEST_PATH_IMAGE015
进行加密,得到加密后的第二扩展结果
Figure 733981DEST_PATH_IMAGE016
;最后评估器计算所述加密后的kNN模型数据
Figure 504491DEST_PATH_IMAGE014
和加密后的第二扩展结果
Figure 661802DEST_PATH_IMAGE016
之间的欧式距离。
在本实施例中,U方的输入是一个向量
Figure 845659DEST_PATH_IMAGE015
表示待测数据,E方的输入是一个向量
Figure 481040DEST_PATH_IMAGE013
表示训练数据。首先,通过E的公钥
Figure 371635DEST_PATH_IMAGE040
对输入值的每个属性
Figure 965428DEST_PATH_IMAGE013
加密,再发送
Figure 308684DEST_PATH_IMAGE014
到U方。接着,U方使用公钥
Figure 13335DEST_PATH_IMAGE008
对输入值
Figure 820754DEST_PATH_IMAGE015
的每个属性加密,得到
Figure 319869DEST_PATH_IMAGE016
。最后,U方根据公式
Figure 150421DEST_PATH_IMAGE041
计算平方和得到
Figure 393184DEST_PATH_IMAGE032
,也就是欧式距离的平方。U方输出结果
Figure 55109DEST_PATH_IMAGE032
通过上述点积协议能够计算多密钥的欧式距离的平方。
S303、所述评估器调用求最小值协议获取所述第一数组中的最小值,将所述最小值对应的类别保存到第二数组中。
求最小值协议是比较m个SWHE加密的密文数据,获取最小值的下标。其核心思想是:密文先两两比较,将两者中较小的值赋给下标较小的一方,将0赋值给下标较大一方,记录较小值的下标,一次循环结束,然后继续比较新的数组,直到数组个数为1,该值即为最小值
Figure 928388DEST_PATH_IMAGE042
求最小值协议,包括:
S401、所述评估器调用比较协议,对第一数组中SWHE加密的两个密文数据的大小进行比较,得到第一比较结果。
S402、所述用户随机选择两个随机数,所述两个随机数分别为下标较小值和下标较大值;对所述下标较小值增加第一干扰
Figure 308553DEST_PATH_IMAGE017
,得到干扰后的下标最小值
Figure 89427DEST_PATH_IMAGE018
;以及对所述下标较大值增加第二干扰
Figure 809122DEST_PATH_IMAGE019
,得到干扰后的下标较大值
Figure 912688DEST_PATH_IMAGE020
;将所述干扰后的下标最小值
Figure 514571DEST_PATH_IMAGE018
和所述干扰后的下标较大值
Figure 302398DEST_PATH_IMAGE020
发送至所述评估器。
S403、所述评估器根据所述第一比较结果刷新密文,得到下标最小值数组
Figure 673337DEST_PATH_IMAGE021
,将所述下标最小值数组
Figure 950734DEST_PATH_IMAGE021
和第一比较结果数组
Figure 977596DEST_PATH_IMAGE022
发送至所述用户。
第一比较结果flag的值会影响结果,当flag=0时,将密文
Figure 365852DEST_PATH_IMAGE043
的值刷新为
Figure 856877DEST_PATH_IMAGE044
;当flag=1时,将密文
Figure 39596DEST_PATH_IMAGE043
的值刷新为
Figure 819333DEST_PATH_IMAGE045
Figure 11280DEST_PATH_IMAGE043
表示下标最小值的数组。
S404、所述用户将所述下标最小值数组
Figure 91232DEST_PATH_IMAGE021
的值作为下标较小值,用于下一轮比较;将下标最大值数组赋值为0。
每次把下标较小值赋值给
Figure 913694DEST_PATH_IMAGE021
,数据比较结束后,
Figure 977465DEST_PATH_IMAGE021
就是下标最小值。故循环上述过程S401~S404,直至所述第一数组中非0的数据个数为1,得到所述第一数组中的最小值。
在本实施例中,求最小值协议中,U方的输入数据是存储SWHE加密的欧氏距离平方的数组
Figure 441945DEST_PATH_IMAGE046
,而E方的输入数据是用于加密的相应第一AES密钥
Figure 845244DEST_PATH_IMAGE007
。U方希望获得明文的最小值的下标,同时保证输入数据的隐私性。U方通过
Figure 900925DEST_PATH_IMAGE047
来控制外循环的轮数,m表示数组的长度,
Figure 920833DEST_PATH_IMAGE047
表示树深度,通过
Figure 657845DEST_PATH_IMAGE048
控制每轮比较的次数。首先,U方记录数组的长度num,调用比较协议对数组中的值两两进行比较,由E方获得比较结果flag。接着,U方随机选择两个随机数
Figure 977968DEST_PATH_IMAGE049
,分别为下标较小值
Figure 673392DEST_PATH_IMAGE050
和下标较大的值
Figure 649438DEST_PATH_IMAGE051
,分别增加干扰
Figure 986878DEST_PATH_IMAGE052
,得到
Figure 99191DEST_PATH_IMAGE053
,并发送给E方。E方根据flag的值刷新密文得到
Figure 234025DEST_PATH_IMAGE042
,将
Figure 494105DEST_PATH_IMAGE042
Figure 572919DEST_PATH_IMAGE022
发送给U方。接着,U方将较小值
Figure 867634DEST_PATH_IMAGE042
赋给下标较小的一方
Figure 108123DEST_PATH_IMAGE050
,将较大值
Figure 855499DEST_PATH_IMAGE051
赋值为密文0。此时,一次循环结束,重复上述步骤,直到数组个数为1。
通过上述求最小值协议能够实现多密钥下的求最小值。
所述比较协议,包括:
S501、对两个待比较的二进制加密数据进行除最高位外的按位比较,得到第二比较结果,利用临时变量记录所述第二比较结果。
S502、调用MUX选择协议得到所述临时变量的选择条件值;
S503、根据所述临时变量的选择条件值对两个待比较的二进制加密数据的最高位进行比较,得到第三比较结果;
S504、根据所述第三比较结果的值判断两个待比较的二进制加密数据之间的大小关系。
在本实施例中,所述比较协议的两个待比较的二进制加密数据即为第一数组中SWHE加密的两个密文数据。加密数据均被处理为二进制表示,其密文加法运算等价于密文异或运算。通过对两个由SWHE加密的密文数据进行比较,得到与在明文上比较一样的结果。
比较协议
Figure 534742DEST_PATH_IMAGE054
由两方共同参与,U方的输入是两个按位加密的二进制数据
Figure 621647DEST_PATH_IMAGE055
Figure 829774DEST_PATH_IMAGE056
,E方的输入是用于解密的密钥
Figure 64446DEST_PATH_IMAGE040
,比较结果仅U方获知,保证数据的机密性。
构建比较协议的思想是首先除最高位外,按位进行比较,引入一个临时变量temp用于记录比较结果,调用MUX协议判断temp的值,得到
Figure 485063DEST_PATH_IMAGE057
。最后,对最高位进行比较,利用公式
Figure 488791DEST_PATH_IMAGE058
计算得到比较结果
Figure 133399DEST_PATH_IMAGE059
。若
Figure 793051DEST_PATH_IMAGE060
,则表示
Figure 814096DEST_PATH_IMAGE061
;若
Figure 672331DEST_PATH_IMAGE062
,则
Figure 691103DEST_PATH_IMAGE063
通过上述比较协议能够实现多密钥下的两两值比较,并作为基础协议实现求最小值协议。
作为本发明的一种实施例,比较协议中的MUX选择协议,主要用于在密文上实现if-else表达式,获取与明文一样的结果。明文中,存在三个变量a,b,c,使变量c作为选择条件,函数MUX()的值取决于c,如下式:
Figure 634788DEST_PATH_IMAGE064
而在本实施例中,MUX选择协议包括三个加密数据,分别为第一加密数据
Figure 397207DEST_PATH_IMAGE023
、第二加密数据
Figure 109949DEST_PATH_IMAGE024
和选择条件
Figure 361938DEST_PATH_IMAGE025
。E方希望获得SWHE加密的选择结果,这里需要U方解密进行辅助计算,为保证输入值的机密性,E方给需要解密的数据添加一个干扰值r。故,用户为所述选择条件
Figure 996182DEST_PATH_IMAGE025
添加一个加密干扰值
Figure 359030DEST_PATH_IMAGE026
,得到干扰后的选择条件
Figure 129540DEST_PATH_IMAGE027
,发送至所述评估器;评估器使用所述加密后的第一AES密钥
Figure 552431DEST_PATH_IMAGE007
对所述干扰后的选择条件
Figure 202200DEST_PATH_IMAGE027
进行解密,得到解密的干扰选择条件
Figure 306422DEST_PATH_IMAGE028
,发送至所述用户;用户根据干扰值
Figure 259335DEST_PATH_IMAGE029
得到所述选择条件
Figure 790810DEST_PATH_IMAGE025
的值,若所述干扰值
Figure 930804DEST_PATH_IMAGE029
为0,则所述选择条件
Figure 635455DEST_PATH_IMAGE025
等于所述解密的干扰选择条件
Figure 380557DEST_PATH_IMAGE028
;若所述干扰值
Figure 879672DEST_PATH_IMAGE029
为1,则所述选择条件
Figure 772541DEST_PATH_IMAGE030
;用户利用公式
Figure 218566DEST_PATH_IMAGE031
,计算选择结果
Figure 146071DEST_PATH_IMAGE032
通过上述MUX选择协议能够实现多密钥的if-else表达式,并作为基础协议实现多密钥下的比较协议。
S304、将所述第一数组中的最小值置为最大值,循环调用求最小值协议,直至达到预设循环次数k,此时所述第二数组
Figure 816087DEST_PATH_IMAGE065
中存在k个最邻近的类别。
S305、通过类别统计函数统计出所述第二数组
Figure 868356DEST_PATH_IMAGE065
中出现次数最多的类别,将该类别作为一个类标签。
在本实施例中,可以基于类别统计函数
Figure 180389DEST_PATH_IMAGE066
执行S304~S305,使U最终得到一个k近邻数据类别的数组,其中k表示近邻的个数,代表类别。统计第二数组
Figure 900083DEST_PATH_IMAGE065
中每个类别出现的次数,出现次数最多的是待分类数据所属的类别。具体包括:
输入方 U:k近邻类别数组
Figure 6580DEST_PATH_IMAGE067
,总类别个数num;
输出方 U:出现次数最多类别的下标
Figure 546145DEST_PATH_IMAGE068
01: U:count[num] //创建长度为num的计数数组,记录每个类别出现次数;
02: U:
Figure 130710DEST_PATH_IMAGE069
03: U:count[i]++ //类别出现一次,加1;
04: U:max = count[0], index=0
05: U:
Figure 767228DEST_PATH_IMAGE070
//寻找次数最多的类的下标;
06: C:
Figure 982309DEST_PATH_IMAGE071
07: U:
Figure 337067DEST_PATH_IMAGE072
, index=i //更新最大值并记录其下标;
08: U:
Figure 459743DEST_PATH_IMAGE073
//返回出现次数最多的类别的下标。
通过类别统计函数能够实现对类别出现的次数的统计。
在第二阶段中,循环上述过程S201~S205,得到若干个类标签。接下来,对所述若干个类标签进行聚合,得到所述若干个类标签的数量,并将所述若干个类标签与所述若干个类标签的数量发送至所述用户。
在本实施例中,聚合即简单的计数,得到类标签的数量即可,将类标签即其数量发送至客户端。
通过第二阶段,评估器与用户一起评估kNN模型,模型拥有者将自己的模型上传到评估器,用户与每个模型进行计算得到类标签,最后聚合得到最终标签。
S203、第三阶段:所述评估器对所述若干个类标签的密文进行扩展,得到扩展密文,并发送至每个所述模型拥有者;所述扩展密文用于触发每个所述模型拥有者构建部分解密组件,并返回至所述评估器;所述评估器将每个所述模型拥有者构建的部分解密组件进行聚合,得到聚合解密组件,并将所述聚合解密组件发送至所述用户,使所述用户对所述聚合解密组件进行解密。
在本实施例中,如图6所示,解密过程需要先使用密钥
Figure 154030DEST_PATH_IMAGE038
扩展密文,得到扩展密文后的结果
Figure 602329DEST_PATH_IMAGE074
,其中
Figure 913225DEST_PATH_IMAGE075
Figure 42855DEST_PATH_IMAGE076
表示通过
Figure 656894DEST_PATH_IMAGE011
加密的密文,
Figure 10515DEST_PATH_IMAGE077
Figure 11969DEST_PATH_IMAGE078
表示通过
Figure 7607DEST_PATH_IMAGE079
加密的密文。用户解密其中
Figure 410906DEST_PATH_IMAGE080
的部分,即用户的扩展密文;模型拥有者解密其中
Figure 201008DEST_PATH_IMAGE081
的部分,即模型拥有者的扩展密文。随后,E将
Figure 689758DEST_PATH_IMAGE076
发送给每个模型拥有者。接下来,每个模型拥有者构建部分解密组件
Figure 223508DEST_PATH_IMAGE082
,其中
Figure 543631DEST_PATH_IMAGE004
为评估辅助元素,
Figure 442316DEST_PATH_IMAGE083
表示每个模型拥有者生成的随机噪音,t表示明文模数。将每个模型拥有者构建部分解密组件返回给评估器。最后,评估器对每个模型拥有者的部分解密组件进行聚合,得到聚合的解密组件
Figure 480680DEST_PATH_IMAGE084
并将其发送给用户。用户使用聚合的解密组件
Figure 552541DEST_PATH_IMAGE085
和用户的第二SWHE密钥对
Figure 664853DEST_PATH_IMAGE010
中SWHE私钥解密结果
Figure 62337DEST_PATH_IMAGE086
解密结果。
本发明的实施例中,第一方面,允许多个模型拥有者将kNN的评估委托给不受信任的一方。各个模型拥有者对他们的kNN分类器进行加密,这样他们中的任何人都无法获得其他人的分类器,而评估器仍然不知道模型或用户查询数据,保护了数据和模型机密性。第二方面,通过多密钥全同态加密支持对不同用户(不同密钥)的密文进行任意的同态运算,将多密钥同态加密与kNN相结合,可使多个模型拥有者使用各自的密钥加密模型。由于各个模型拥有者的公钥和私钥不同,即使任何模型拥有者与评估器串通,也不会向评估器泄露任何信息,防止模型拥有者共谋泄露密钥导致模型泄露问题。第三方面,多个模型拥有者通过协同评估用户的数据,能够提高kNN模型的准确率。
综上,本实施例支持使用不同公钥对加密数据进行计算,提高了模型准确性。同时,将评估工作外包给一个不应访问模型和数据的第三方评估器后,评估计算汇总结果,不会向评估器披露任何信息。该方法可以安全地允许多个模型拥有者委托kNN分类器的评估。在实际应用中,多家网络安全检测机构和网络安全实验室可以安全的合作提供更好的诊断。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定是本发明所必须的。
以上是关于方法实施例的介绍,根据本发明的实施例,本发明还提供了一种电子设备和一种可读存储介质,对本发明所述方案进行进一步说明。
图7示出了可以用来实施本发明的实施例的电子设备700的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
设备700包括计算单元701,其可以根据存储在只读存储器(ROM)702中的计算机程序或者从存储单元708加载到随机访问存储器(RAM)703中的计算机程序,来执行各种适当的动作和处理。在RAM 703中,还可存储设备700操作所需的各种程序和数据。计算单元701、ROM 702以及RAM 703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。
设备700中的多个部件连接至I/O接口705,包括:输入单元706,例如键盘、鼠标等;输出单元707,例如各种类型的显示器、扬声器等;存储单元708,例如磁盘、光盘等;以及通信单元709,例如网卡、调制解调器、无线通信收发机等。通信单元709允许设备700通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元701可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元701的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元701执行上文所描述的各个方法和处理,例如方法S101~S103。例如,在一些实施例中,方法S101~S103可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元708。在一些实施例中,计算机程序的部分或者全部可以经由ROM 702和/或通信单元709而被载入和/或安装到设备700上。当计算机程序加载到RAM 703并由计算单元701执行时,可以执行上文描述的方法S101~S103的一个或多个步骤。备选地,在其他实施例中,计算单元701可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行方法S101~S103。
本文中以上描述的***和技术的各种实施方式可以在数字电子电路***、集成电路***、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上***的***(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程***上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储***、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储***、该至少一个输入装置、和该至少一个输出装置。
用于实施本发明的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本发明的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行***、装置或设备使用或与指令执行***、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体***、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的***和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的***和技术实施在包括后台部件的计算***(例如,作为数据服务器)、或者包括中间件部件的计算***(例如,应用服务器)、或者包括前端部件的计算***(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的***和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算***中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将***的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机***可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式***的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

Claims (10)

1.一种基于多密钥同态加密的外包隐私保护方法,其特征在于,包括用户、评估器和若干个模型拥有者,每个所述模型拥有者拥有一个kNN模型;所述方法包括:
第一阶段:所述评估器接收由每个所述模型拥有者对其拥有的kNN模型进行加密得到的加密kNN模型,以及接收由所述用户对输入信息进行加密得到的加密输入信息;
第二阶段:所述评估器根据所述加密kNN模型对所述加密输入信息进行分类计算,得到若干个类标签;对所述若干个类标签进行聚合,得到所述若干个类标签的数量,并将所述若干个类标签与所述若干个类标签的数量发送至所述用户;
第三阶段:所述评估器对所述若干个类标签的密文进行扩展,得到扩展密文,并发送至每个所述模型拥有者;所述扩展密文用于触发每个所述模型拥有者构建部分解密组件,并返回至所述评估器;所述评估器将每个所述模型拥有者构建的部分解密组件进行聚合,得到聚合解密组件,并将所述聚合解密组件发送至所述用户,使所述用户对所述聚合解密组件进行解密。
2.根据权利要求1所述的方法,其特征在于,每个所述模型拥有者对其拥有的kNN模型进行加密得到加密kNN模型,包括:
每个所述模型拥有者生成第一AES密钥
Figure 86675DEST_PATH_IMAGE001
,根据
Figure 298869DEST_PATH_IMAGE002
生成第一SWHE密钥对
Figure 858027DEST_PATH_IMAGE003
和评估辅助元素
Figure 774030DEST_PATH_IMAGE004
,然后生成SWHE联合密钥
Figure 26020DEST_PATH_IMAGE005
利用第一SWHE密钥
Figure 394684DEST_PATH_IMAGE006
加密所述第一AES密钥
Figure 491953DEST_PATH_IMAGE001
,得到加密后的第一AES密钥
Figure 590359DEST_PATH_IMAGE007
3.根据权利要求1所述的方法,其特征在于,用户对输入信息进行加密得到加密输入信息,包括:
所述用户生成第二AES密钥
Figure 950934DEST_PATH_IMAGE008
,根据
Figure 869211DEST_PATH_IMAGE009
生成第二SWHE密钥对
Figure 770171DEST_PATH_IMAGE010
利用所述第二SWHE密钥对中的第二SWHE密钥
Figure 660767DEST_PATH_IMAGE011
加密所述第二AES密钥
Figure 988980DEST_PATH_IMAGE008
,得到加密后的第二AES密钥
Figure 394553DEST_PATH_IMAGE012
4.根据权利要求1所述的方法,其特征在于,所述评估器根据所述加密kNN模型对所述加密输入信息进行分类计算,得到若干个类标签,包括:
所述评估器对所述加密输入信息进行扩展,得到第一扩展结果;利用第一SWHE密钥和第二SWHE密钥扩展所述第一扩展结果,得到第二扩展结果;
利用点积协议计算每个kNN模型的数据和所述第二扩展结果之间的欧式距离,遍历全部加密输入信息后得到加密结果,保存为第一数组发送至所述用户;
所述评估器调用求最小值协议获取所述第一数组中的最小值,将所述最小值对应的类别保存到第二数组中;
将所述第一数组中的最小值置为最大值,循环调用求最小值协议,直至达到预设循环次数,此时所述第二数组中存在若干个最邻近的类别;
通过类别统计函数统计出所述第二数组中出现次数最多的类别,将该类别作为一个类标签;
循环上述过程,得到若干个类标签。
5.根据权利要求4所述的方法,其特征在于,所述点积协议,包括:
所述评估器利用第一AES密钥
Figure 36887DEST_PATH_IMAGE001
对每个kNN模型数据的每个属性
Figure 844306DEST_PATH_IMAGE013
进行加密,得到加密后的kNN模型数据
Figure 546683DEST_PATH_IMAGE014
发送至所述用户;
所述用户利用公钥
Figure 173973DEST_PATH_IMAGE008
对所述第二扩展结果的每个属性
Figure 682315DEST_PATH_IMAGE015
进行加密,得到加密后的第二扩展结果
Figure 281924DEST_PATH_IMAGE016
所述评估器计算所述加密后的kNN模型数据
Figure 951939DEST_PATH_IMAGE014
和加密后的第二扩展结果
Figure 332105DEST_PATH_IMAGE016
之间的欧式距离。
6.根据权利要求4所述的方法,其特征在于,所述求最小值协议,包括:
所述评估器调用比较协议,对第一数组中SWHE加密的两个密文数据的大小进行比较,得到第一比较结果;
所述用户随机选择两个随机数,所述两个随机数分别为下标较小值和下标较大值;对所述下标较小值增加第一干扰
Figure 378559DEST_PATH_IMAGE017
,得到干扰后的下标最小值
Figure 832674DEST_PATH_IMAGE018
;以及对所述下标较大值增加第二干扰
Figure 939170DEST_PATH_IMAGE019
,得到干扰后的下标较大值
Figure 744315DEST_PATH_IMAGE020
;将所述干扰后的下标最小值
Figure 591530DEST_PATH_IMAGE018
和所述干扰后的下标较大值
Figure 962468DEST_PATH_IMAGE020
发送至所述评估器;
所述评估器根据所述第一比较结果刷新密文,得到下标最小值数组
Figure 177549DEST_PATH_IMAGE021
,将所述下标最小值数组
Figure 532307DEST_PATH_IMAGE021
和第一比较结果数组
Figure 654984DEST_PATH_IMAGE022
发送至所述用户;
所述用户将所述下标最小值数组
Figure 83691DEST_PATH_IMAGE021
的值作为下标较小值,用于下一轮比较;将下标最大值数组赋值为0;
循环上述过程,直至所述第一数组中非0的数据个数为1,得到所述第一数组中的最小值。
7.根据权利要求6所述的方法,其特征在于,所述比较协议,包括:
对两个待比较的二进制加密数据进行除最高位外的按位比较,得到第二比较结果,利用临时变量记录所述第二比较结果;
调用MUX选择协议得到所述临时变量的选择条件值;
根据所述临时变量的选择条件值对两个待比较的二进制加密数据的最高位进行比较,得到第三比较结果;
根据所述第三比较结果的值判断两个待比较的二进制加密数据之间的大小关系。
8.根据权利要求7所述的方法,其特征在于,所述MUX选择协议,包括三个加密数据,分别为第一加密数据
Figure 797569DEST_PATH_IMAGE023
、第二加密数据
Figure 108465DEST_PATH_IMAGE024
和选择条件
Figure 238095DEST_PATH_IMAGE025
所述用户为所述选择条件
Figure 849204DEST_PATH_IMAGE025
添加一个加密干扰值
Figure 406088DEST_PATH_IMAGE026
,得到干扰后的选择条件
Figure 204279DEST_PATH_IMAGE027
,发送至所述评估器;
所述评估器使用加密后的第一AES密钥
Figure 199917DEST_PATH_IMAGE007
对所述干扰后的选择条件
Figure 603217DEST_PATH_IMAGE027
进行解密,得到解密的干扰选择条件
Figure 127739DEST_PATH_IMAGE028
,发送至所述用户;
所述用户根据干扰值
Figure 678806DEST_PATH_IMAGE029
得到所述选择条件
Figure 150239DEST_PATH_IMAGE025
的值,若所述干扰值
Figure 204782DEST_PATH_IMAGE029
为0,则所述选择条件
Figure 431364DEST_PATH_IMAGE025
等于所述解密的干扰选择条件
Figure 407411DEST_PATH_IMAGE028
;若所述干扰值
Figure 479272DEST_PATH_IMAGE029
为1,则所述选择条件
Figure 653901DEST_PATH_IMAGE030
所述用户利用公式
Figure 723488DEST_PATH_IMAGE031
,计算选择结果
Figure 983568DEST_PATH_IMAGE032
9.一种电子设备,包括至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其特征在于,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-8中任一项所述的方法。
10.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行根据权利要求1-8中任一项所述的方法。
CN202210738540.4A 2022-06-28 2022-06-28 一种基于多密钥同态加密的外包隐私保护方法和设备 Active CN114817999B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210738540.4A CN114817999B (zh) 2022-06-28 2022-06-28 一种基于多密钥同态加密的外包隐私保护方法和设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210738540.4A CN114817999B (zh) 2022-06-28 2022-06-28 一种基于多密钥同态加密的外包隐私保护方法和设备

Publications (2)

Publication Number Publication Date
CN114817999A true CN114817999A (zh) 2022-07-29
CN114817999B CN114817999B (zh) 2022-09-02

Family

ID=82523213

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210738540.4A Active CN114817999B (zh) 2022-06-28 2022-06-28 一种基于多密钥同态加密的外包隐私保护方法和设备

Country Status (1)

Country Link
CN (1) CN114817999B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115587139A (zh) * 2022-11-03 2023-01-10 国网江苏省电力有限公司营销服务中心 一种基于同态加密的分布式隐私保护分类方法及***
CN116150795A (zh) * 2023-04-17 2023-05-23 粤港澳大湾区数字经济研究院(福田) 基于同态加密的数据处理方法、***及相关设备
CN116192363A (zh) * 2023-04-26 2023-05-30 中新宽维传媒科技有限公司 基于文字信息的可听化处理方法、装置、介质和计算设备
CN117349898A (zh) * 2023-12-05 2024-01-05 中国电子科技集团公司第十研究所 一种访问模式隐藏的密文k近邻查询方法与***

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105144625A (zh) * 2013-08-09 2015-12-09 汤姆逊许可公司 隐私保护矩阵因子分解的方法和***
CN106790069A (zh) * 2016-12-21 2017-05-31 电子科技大学 基于向量同态加密的隐私保护k‑nn分类方法
CN110008717A (zh) * 2019-02-26 2019-07-12 东北大学 支持隐私保护的决策树分类服务***及方法
CN110011784A (zh) * 2019-04-04 2019-07-12 东北大学 支持隐私保护的knn分类服务***及方法
US20190342069A1 (en) * 2018-05-04 2019-11-07 International Business Machines Corporation Enabling Distance-Based Operations on Data Encrypted Using a Homomorphic Encryption Scheme with Inefficient Decryption
CN111143865A (zh) * 2019-12-26 2020-05-12 国网湖北省电力有限公司 一种密文数据上标签自动生成的用户行为分析***及方法
CN111417121A (zh) * 2020-02-17 2020-07-14 西安电子科技大学 具有隐私保护的多恶意软件混合检测方法、***、装置
CN113132328A (zh) * 2019-12-31 2021-07-16 中移(苏州)软件技术有限公司 一种数据处理方法、***、设备和计算机可读存储介质
US20220045840A1 (en) * 2020-08-10 2022-02-10 X-Logos, LLC Methods and systems for somewhat homomorphic encryption and key updates based on geometric algebra for distributed ledger/blockchain technology

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105144625A (zh) * 2013-08-09 2015-12-09 汤姆逊许可公司 隐私保护矩阵因子分解的方法和***
CN106790069A (zh) * 2016-12-21 2017-05-31 电子科技大学 基于向量同态加密的隐私保护k‑nn分类方法
US20190342069A1 (en) * 2018-05-04 2019-11-07 International Business Machines Corporation Enabling Distance-Based Operations on Data Encrypted Using a Homomorphic Encryption Scheme with Inefficient Decryption
CN110008717A (zh) * 2019-02-26 2019-07-12 东北大学 支持隐私保护的决策树分类服务***及方法
CN110011784A (zh) * 2019-04-04 2019-07-12 东北大学 支持隐私保护的knn分类服务***及方法
CN111143865A (zh) * 2019-12-26 2020-05-12 国网湖北省电力有限公司 一种密文数据上标签自动生成的用户行为分析***及方法
CN113132328A (zh) * 2019-12-31 2021-07-16 中移(苏州)软件技术有限公司 一种数据处理方法、***、设备和计算机可读存储介质
CN111417121A (zh) * 2020-02-17 2020-07-14 西安电子科技大学 具有隐私保护的多恶意软件混合检测方法、***、装置
US20220045840A1 (en) * 2020-08-10 2022-02-10 X-Logos, LLC Methods and systems for somewhat homomorphic encryption and key updates based on geometric algebra for distributed ledger/blockchain technology

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
MINGYANG WANG等: "Homomorphic Encryption Based Privacy Preservation Scheme for DBSCAN Clustering", 《ELECTRONICS》 *
徐剑等: "支持隐私保护的k近邻分类器", 《软件学报》 *
李宇溪等: "支持K近邻搜索的移动社交网络隐私保护方案", 《计算机学报》 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115587139A (zh) * 2022-11-03 2023-01-10 国网江苏省电力有限公司营销服务中心 一种基于同态加密的分布式隐私保护分类方法及***
CN115587139B (zh) * 2022-11-03 2024-03-22 国网江苏省电力有限公司营销服务中心 一种基于同态加密的分布式隐私保护分类方法及***
CN116150795A (zh) * 2023-04-17 2023-05-23 粤港澳大湾区数字经济研究院(福田) 基于同态加密的数据处理方法、***及相关设备
CN116150795B (zh) * 2023-04-17 2023-07-14 粤港澳大湾区数字经济研究院(福田) 基于同态加密的数据处理方法、***及相关设备
CN116192363A (zh) * 2023-04-26 2023-05-30 中新宽维传媒科技有限公司 基于文字信息的可听化处理方法、装置、介质和计算设备
CN116192363B (zh) * 2023-04-26 2023-07-11 中新宽维传媒科技有限公司 基于文字信息的可听化处理方法、装置、介质和计算设备
CN117349898A (zh) * 2023-12-05 2024-01-05 中国电子科技集团公司第十研究所 一种访问模式隐藏的密文k近邻查询方法与***
CN117349898B (zh) * 2023-12-05 2024-03-08 中国电子科技集团公司第十研究所 一种访问模式隐藏的密文k近邻查询方法与***

Also Published As

Publication number Publication date
CN114817999B (zh) 2022-09-02

Similar Documents

Publication Publication Date Title
CN114817999B (zh) 一种基于多密钥同态加密的外包隐私保护方法和设备
CN110008717B (zh) 支持隐私保护的决策树分类服务***及方法
Gao et al. EFR-CSTP: Encryption for face recognition based on the chaos and semi-tensor product theory
US9438412B2 (en) Computer-implemented system and method for multi-party data function computing using discriminative dimensionality-reducing mappings
Al-Husainy et al. Lightweight cryptography system for IoT devices using DNA
WO2018184407A1 (zh) 一种具有隐私保护的K-means聚类方法及***
Khan et al. DNA key based visual chaotic image encryption
Su et al. Reversible cellular automata image encryption for similarity search
KR102397579B1 (ko) 부채널 분석 방지를 위한 화이트박스 암호 방법 및 장치
CN108521393A (zh) 数据交互方法、装置、***、计算机设备和存储介质
Khan et al. A novel image encryption based on rossler map diffusion and particle swarm optimization generated highly non-linear substitution boxes
CN115510502B (zh) 一种隐私保护的pca方法及***
Fang et al. A secure chaotic block image encryption algorithm using generative adversarial networks and DNA sequence coding
Alexan et al. A 3-layer psn for image encryption utilizing fractional-order chen hyperchaotic map and cryptographically-secure prngs
Liu et al. Exploiting lsb self-quantization for plaintext-related image encryption in the zero-trust cloud
Zhang et al. An image encryption algorithm based on a compound-coupled chaotic system
Liu et al. Image Encryption Technology Based on Fractional Two‐Dimensional Triangle Function Combination Discrete Chaotic Map Coupled with Menezes‐Vanstone Elliptic Curve Cryptosystem
Mir et al. A public and private key image encryption by modified approach of Vigener cipher and the chaotic maps
Mehta et al. DieRoll: A unique key generation and encryption technique
Das et al. An Improved Chaos based medical image encryption using DNA encoding techniques
Kaghazgaran et al. Secure two party comparison over encrypted data
Kataria et al. Exploring advanced encryption and steganography techniques for image security
Alghamdi et al. An image encryption algorithm based on trivium cipher and random substitution
Shah et al. Contemporary trends in privacy preserving collaborative data mining-a survey
Anikin et al. Privacy preserving data mining in terms of DBSCAN clustering algorithm in distributed systems

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