CN113014373B - 一种同态计算中的数据加密方法、装置、设备及介质 - Google Patents

一种同态计算中的数据加密方法、装置、设备及介质 Download PDF

Info

Publication number
CN113014373B
CN113014373B CN202110192526.4A CN202110192526A CN113014373B CN 113014373 B CN113014373 B CN 113014373B CN 202110192526 A CN202110192526 A CN 202110192526A CN 113014373 B CN113014373 B CN 113014373B
Authority
CN
China
Prior art keywords
blinding
homomorphic
ciphertext
blinded
client
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
CN202110192526.4A
Other languages
English (en)
Other versions
CN113014373A (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.)
Guangdong Inspur Smart Computing Technology Co Ltd
Original Assignee
Guangdong Inspur Smart Computing 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 Guangdong Inspur Smart Computing Technology Co Ltd filed Critical Guangdong Inspur Smart Computing Technology Co Ltd
Priority to CN202110192526.4A priority Critical patent/CN113014373B/zh
Publication of CN113014373A publication Critical patent/CN113014373A/zh
Application granted granted Critical
Publication of CN113014373B publication Critical patent/CN113014373B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请公开了一种同态计算中的数据加密方法、装置、设备、介质,该方法包括:构造盲化函数和盲化密钥,并利用所述盲化函数和所述盲化密钥对待处理的训练样本数据进行盲化,得到所述训练样本数据对应的盲化明文;将所述盲化明文发送到所述客户端对应的云端,以便所述云端利用所述客户端生成并公开的同态加密公钥对所述盲化明文进行加密,得到盲化密文;接收所述云端反馈的所述盲化密文,并基于所述盲化函数和所述盲化密钥对所述盲化密文进行去盲化处理,得到同态加密密文,以便将所述同态加密密文发送到所述云端进行同态计算。这样能够减轻客户端的计算负担,降低对客户端的计算能力要求,提高整个数据处理过程中的效率。

Description

一种同态计算中的数据加密方法、装置、设备及介质
技术领域
本申请涉及人工智能数据隐私安全保护技术领域,特别涉及一种同态计算中的数据加密方法、装置、设备、介质。
背景技术
以深度学习为代表的人工智能技术推动数据科学的快速发展和普及,然而数据隐私和安全问题日益凸显,而同态加密作为增强隐私计算方法中具有最高安全性的先进技术,能够在数据采集、计算、存储、传输以及搜索、分析过程中保护和增强数据的隐私安全。基于同态加密的人工智能增强隐私计算的数据保护技术,通过对训练、推理样本数据进行加密实现隐私安全保护。同态加密作为一种具有先进性和高安全性的数据加密技术,能够在保护数据隐私安全的前提下,实现数据在密文状态下的计算和处理,达到“数据可用不可见”的目标。
参见图1所示,为现有技术中的考虑隐私安全的人工智能数据处理示意图。上述处理过程中一般包含密钥生成、数据加密、同态计算和计算结果解密,客户端需要处理数据加密和计算结果解密两个隐私安全相关的计算,同态计算过程一般由云计算提供服务完成数据处理。如图1所示隐私安全的人工智能数据处理过程,客户端对训练/推理样本数据明文m进行加密encrypt后将同态加密密文E(m)外包给云端进行同态计算G(·)(例如,训练或推理),客户端获取云端返回的同态计算结果密文G(E(m))并对其进行解密decrypt获取期望的训练/推理结果明文F(m),其中,E(Encryption的缩写),即加密函数,D(Decryption的缩写),即解密函数,F通用计算函数缩写,G同态计算函数缩写。
在上述处理过程中,由于训练样本数据m的数据输入量通常远远大于同态计算结果明文F(m)的输出量。因此,同态加密在人工智能应用过程中客户端的加密计算任务繁重、计算资源消耗大,会给客户端带来巨大负担,造成“头重脚轻”的困境,对客户端计算能力要求很高,且由于客户端计算能力有限,降低了整个数据过程的效率。
发明内容
有鉴于此,本申请的目的在于提供一种同态计算中的数据加密方法、装置、设备、介质,能够减轻客户端的计算负担,降低对客户端的计算能力要求,提高整个数据处理过程中的效率。其具体方案如下:
第一方面,本申请公开了一种同态计算中的数据加密方法,应用于客户端,包括:
构造盲化函数和盲化密钥,并利用所述盲化函数和所述盲化密钥对待处理的训练样本数据进行盲化,得到所述训练样本数据对应的盲化明文;
将所述盲化明文发送到所述客户端对应的云端,以便所述云端利用所述客户端生成并公开的同态加密公钥对所述盲化明文进行加密,得到盲化密文;
接收所述云端反馈的所述盲化密文,并基于所述盲化函数和所述盲化密钥对所述盲化密文进行去盲化处理,得到同态加密密文,以便将所述同态加密密文发送到所述云端进行同态计算。
可选地,所述构造盲化函数和盲化密钥之前,还包括:
根据获取到的同态加密算法信息生成同态加密私钥以及所述同态加密公钥,其中,所述同态加密算法信息包括同态加密算法的类型信息和安全参数;
将所述同态加密公钥公开,以便所述云端获取到所述同态公钥。
可选地,所述根据获取到的同态加密算法信息生成同态加密私钥以及所述同态加密公钥,包括:
根据获取到的同态加密算法信息从预设的同态加密算法库中确定出目标同态加密算法,其中,所述同态加密算法库中包括多个同态加密算法集,且一个同态加密算法集中的各个同态加密算法属于同一类型,每个同态加密算法集中包括不同的安全参数对应的同态加密算法;
基于所述目标同态加密算法生成同态加密私钥以及所述同态加密公钥。
可选地,所述基于所述盲化函数和所述盲化密钥对所述盲化密文进行去盲化处理,得到同态加密密文,包括:
分别基于所述盲化函数、所述盲化密钥构造去盲化函数和去盲化密钥;
利用所述去盲化函数和所述去盲化密钥对所述盲化密文进行去盲化处理,得到同态加密密文。
可选地,所述利用所述去盲化函数和所述去盲化密钥对所述盲化密文进行去盲化处理,得到同态加密密文,包括:
对所述盲化密文进行预处理,得到预处理后盲化密文;
利用所述去盲化函数和所述去盲化密钥对所述预处理后盲化密文进行处理,得到同态加密密文。
第二方面,本申请公开了一种同态计算中的数据加密方法,应用于云端,包括:
接收所述云端对应的客户端发送的盲化明文,其中,所述盲化明文为所述客户端利用构造的盲化函数和盲化密钥对待处理的训练样本数据进行盲化处理得到;
利用所述客户端公开的同态加密公钥对所述盲化明文进行加密,得到盲化密文;
将所述盲化密文反馈回所述客户端,以便所述客户端基于所述盲化函数和所述盲化密钥对所述盲化密文进行去盲化处理,得到同态加密密文。
可选地,所述将所述盲化密文反馈回所述客户端,以便所述客户端基于所述盲化函数和所述盲化密钥对所述盲化密文进行去盲化处理,得到同态加密密文之后,还包括:
接收所述客户端发送的所述同态加密密文;
对所述同态加密密文进行同态计算,得到计算结果密文,并将所述计算结果密文返回给所述客户端,以便所述客户端对所述计算结果密文进行界面,得到计算结果明文。
第三方面,本申请公开了一种同态计算中的数据加密装置,应用于客户端,包括:
盲化模块,用于构造盲化函数和盲化密钥,并利用所述盲化函数和所述盲化密钥对待处理的训练样本数据进行盲化,得到所述训练样本数据对应的盲化明文;
盲化明文发送模块,用于将所述盲化明文发送到所述客户端对应的云端,以便所述云端利用所述客户端生成并公开的同态加密公钥对所述盲化明文进行加密,得到盲化密文;
盲化密文接收模块,用于接收所述云端反馈的所述盲化密文;
去盲化模块,用于基于所述盲化函数和所述盲化密钥对所述盲化密文进行去盲化处理,得到同态加密密文,以便将所述同态加密密文发送到所述云端进行同态计算。
第四方面,本申请公开了一种电子设备,包括:
存储器和处理器;
其中,所述存储器,用于存储计算机程序;
所述处理器,用于执行所述计算机程序,以实现前述公开的同态计算中的数据加密方法。
第五方面,本申请公开了一种计算机可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述公开的同态计算中的数据加密方法。
可见,本申请应用于客户端,首先构造盲化函数和盲化密钥,并利用所述盲化函数和所述盲化密钥对待处理的训练样本数据进行盲化,得到所述训练样本数据对应的盲化明文,然后再将所述盲化明文发送到所述客户端对应的云端,以便所述云端利用所述客户端生成并公开的同态加密公钥对所述盲化明文进行加密,得到盲化密文,还需要接收所述云端反馈的所述盲化密文,并基于所述盲化函数和所述盲化密钥对所述盲化密文进行去盲化处理,得到同态加密密文,以便将所述同态加密密文发送到所述云端进行同态计算。由此可见,本申请中客户端只需要构造盲化函数和盲化密钥,利用构造的盲化函数和盲化密钥对待处理的训练样本数据进行盲化处理,并对云端同态加密之后返回的盲化密文进行去盲化处理,即可得到同态加密密文,相比于现有的客户端需要对待处理的训练样本数据进行加密所需要消耗的大量计算资源和计算时间来说,由云端对待处理的训练样本数据进行加密,可以降低对客户端进行计算能力的要求,且在训练样本数据这样大量数据处理时,云端的计算效率远大于客户端,所以可以提高整个数据处理过程中的效率,且对于训练样本数据这样大量数据来说,同态加密的计算量也远大于盲化和去盲化处理的计算量,所以可以减轻客户端的计算负担,解决了客户端在加密、同态计算解密阶段因计算量极不均匀造成的“头重脚轻”问题。且客户端是对待处理的训练样本数据进行盲化处理之后,才发送到云端进行同态加密处理的,所以可以保证明文数据安全性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请公开的一种现有技术中的考虑隐私安全的人工智能数据处理示意图;
图2为本申请公开的一种同态计算中的数据加密方法流程图;
图3为本申请公开的一种具体的同态计算中的数据加密方法流程图;
图4为本申请公开的一种同态计算中的数据加密方法流程图;
图5为本申请公开的一种具体的同态计算中的数据加密方法流程图;
图6为本申请公开的一种同态计算中的数据加密装置结构示意图;
图7为本申请公开的一种同态计算中的数据加密装置结构示意图;
图8为本申请公开的一种电子设备结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
参见图2所示,本申请实施例公开了一种同态计算中的数据加密方法,应用于客户端,该方法包括:
步骤S11:构造盲化函数和盲化密钥,并利用所述盲化函数和所述盲化密钥对待处理的训练样本数据进行盲化,得到所述训练样本数据对应的盲化明文。
在具体的实施过程中,所述客户端在需要利用云端对待处理的训练样本数据进行同态计算时,需要先对待处理的训练样本数据进行盲化处理,以便在将待处理的训练样本数据在发送到所述云端的过程中或所述云端在对待处理的训练样本数据进行处理的过程中,不易造成数据泄露。具体的,需要先构造盲化函数和盲化密钥,并利用所述盲化函数和盲化密钥对待处理的训练样本数据进行处理,得到盲化明文。在此不对构建的盲化函数和盲化密钥做具体限定,只需要与本申请相适应,并且可以对待处理的训练样本数据进行盲化处理即可。
具体的,包括构造盲化函数B,随机选择并设置盲化密钥bk,并对待处理的训练样本数据m进行盲化计算获取盲化明文
Figure BDA0002945587520000061
例如
Figure BDA0002945587520000062
将盲化明文
Figure BDA0002945587520000063
发送给云端。
步骤S12:将所述盲化明文发送到所述客户端对应的云端,以便所述云端利用所述客户端生成并公开的同态加密公钥对所述盲化明文进行加密,得到盲化密文。
得到所述盲化明文之后,还需要将所述盲化明文发送到所述云端,所述云端在接收到所述盲化明文之后,需要对利用所述客户端生成并公开的同态加密公钥对所述盲化明文进行同态加密处理,得到盲化密文,还需要将所述盲化密文发送回所述客户端。
步骤S13:接收所述云端反馈的所述盲化密文,并基于所述盲化函数和所述盲化密钥对所述盲化密文进行去盲化处理,得到同态加密密文,以便将所述同态加密密文发送到所述云端进行同态计算。
所述云端在进行同态加密处理,得到所述盲化密文之后,还需要将所述盲化密文发送回所述客户端,相应地,所述客户端需要接收所述盲化密文,并基于所述盲化函数和所述盲化密钥对所述盲化密文进行去盲化处理,得到同态加密密文。
然后还可以将所述同态加密密文发送到所述云端进行同态计算,所述云端在对所述同态加密密文进行同态计算之后,得到计算结果密文,将所述计算结果密文返回所述客户端,所述客户端在接收到所述计算结果密文之后,会对所述计算结果密文进行解密,得到计算结果明文。
其中,基于所述盲化函数和所述盲化密钥对所述盲化密文进行去盲化处理,得到同态加密密文,包括:分别基于所述盲化函数、所述盲化密钥构造去盲化函数和去盲化密钥;利用所述去盲化函数和所述去盲化密钥对所述盲化密文进行去盲化处理,得到同态加密密文。
客户端构造盲化函数及对应的去盲化函数、设置盲化密钥及对应的去盲化密钥,使得盲化与去盲化过程仅含有简单计算(例如加法、异或等),将明文数据通过盲化函数和盲化密钥进行盲化处理,并将繁重的同态加密计算任务(例如矩阵乘法等)外包给云端进行,客户端获取盲化密文。最后,客户端通过去盲化函数及去盲化密钥对盲化密文进行去盲化操作,恢复同态加密密文即可。这样减轻了客户端的计算压力,降低了对客户端计算能力的要求,同时由云端进行加密计算,也提高了整个数据处理过程的效率。
利用盲加密技术将客户端的大量加密计算任务负担卸载到云端,极大减轻了客户端对计算资源的需求,在保证明文数据安全性和同态计算正确性的前提下提高了计算效率,彻底解决了客户端在加密、解密阶段因计算量极不均匀造成的“头重脚轻”问题。
可见,本申请应用于客户端,首先构造盲化函数和盲化密钥,并利用所述盲化函数和所述盲化密钥对待处理的训练样本数据进行盲化,得到所述训练样本数据对应的盲化明文,然后再将所述盲化明文发送到所述客户端对应的云端,以便所述云端利用所述客户端生成并公开的同态加密公钥对所述盲化明文进行加密,得到盲化密文,还需要接收所述云端反馈的所述盲化密文,并基于所述盲化函数和所述盲化密钥对所述盲化密文进行去盲化处理,得到同态加密密文,以便将所述同态加密密文发送到所述云端进行同态计算。由此可见,本申请中客户端只需要构造盲化函数和盲化密钥,利用构造的盲化函数和盲化密钥对待处理的训练样本数据进行盲化处理,并对云端同态加密之后返回的盲化密文进行去盲化处理,即可得到同态加密密文,相比于现有的客户端需要对待处理的训练样本数据进行加密所需要消耗的大量计算资源和计算时间来说,由云端对待处理的训练样本数据进行加密,可以降低对客户端进行计算能力的要求,且在训练样本数据这样大量数据处理时,云端的计算效率远大于客户端,所以可以提高整个数据处理过程中的效率,且对于训练样本数据这样大量数据来说,同态加密的计算量也远大于盲化和去盲化处理的计算量,所以可以减轻客户端的计算负担,解决了客户端在加密、同态计算解密阶段因计算量极不均匀造成的“头重脚轻”问题。且客户端是对待处理的训练样本数据进行盲化处理之后,才发送到云端进行同态加密处理的,所以可以保证明文数据安全性。
参见图3所示,本申请实施例公开了一种具体的同态计算中的数据加密方法,应用于客户端,该方法包括:
步骤S21:根据获取到的同态加密算法信息生成同态加密私钥以及所述同态加密公钥,其中,所述同态加密算法信息包括同态加密算法的类型信息和安全参数。
步骤S22:将所述同态加密公钥公开,以便所述云端获取到所述同态公钥。
在实际应用中,在所述构造盲化函数和盲化密钥之前,还包括:根据获取到的同态加密算法信息生成同态加密私钥以及所述同态加密公钥,其中,所述同态加密算法信息包括同态加密算法的类型信息和安全参数;将所述同态加密公钥公开,以便所述云端获取到所述同态公钥。
具体的,需要先获取用户输入所述客户端的同态加密算法信息,其中,所述同态加密算法信息包括同态加密算法的类型信息和安全参数,所述安全参数表示所述待处理的训练样本数据需要的保密级别,所述安全参数越大,所述待处理的训练样本数据需要的保密级别越高。根据所述同态加密算法信息从预设的同态加密算法库中确定出目标同态加密算法,其中,所述同态加密算法库中包括多个同态加密算法集,且一个同态加密算法集中的各个同态加密算法属于同一类型,每个同态加密算法集中包括不同的安全参数对应的同态加密算法,例如,所述预设的同态加密算法库中包括同态加密算法集A、同态加密算法集B以及同态加密算法集C,其中,同态加密算法集A又包括第一安全参数对应的同态加密算法A1,第二安全参数对应的同态加密算法A2,第三安全参数对应的同态加密算法A3。同态加密算法集B又包括第一安全参数对应的同态加密算法B1,第二安全参数对应的同态加密算法B2,第三安全参数对应的同态加密算法B3。同态加密算法集C又包括第一安全参数对应的同态加密算法C1,第二安全参数对应的同态加密算法C2,第三安全参数对应的同态加密算法C3。
确定出所述目标同态加密算法之后,便可以利用所述目标同态加密算法生成同态加密私钥以及所述同态加密公钥,将所述同态加密公钥公开,以便所述云端可以获取到所述同态加密公钥,并利用所述同态公钥对所述盲化明文进行同态加密。
基于同态加密算法的类型信息和安全参数λ确定出所述目标同态加密算法之后,利用所述目标同态加密算法生成同态加密私钥以及所述同态加密公钥,包括:利用所述目标同态加密算法确定系统其它公开参数,其中,所述公开参数可以具体根据实际情况确定。按照所述目标同态加密算法,从所述目标同态加密算法对应的抽样空间随机选择数组s,a,e,设置同态加密私钥和同态加密公钥,例如,同态加密私钥为sk←(1,s),同态加密公钥为pk←(b,a),其中b←-as+e。在实际应用中,还需要从所述抽样空间随机选择数组a',e',设置公开计算密钥,例如,所述公开计算密钥为evk←(b',a'),其中,b'=-a's+e'+Ps2,P为所述公开参数中的参数。所述公开计算密钥用于所述云端对同态加密密文进行同态计算。
步骤S23:构造盲化函数和盲化密钥,并利用所述盲化函数和所述盲化密钥对待处理的训练样本数据进行盲化,得到所述训练样本数据对应的盲化明文。
步骤S24:将所述盲化明文发送到所述客户端对应的云端,以便所述云端利用所述客户端生成并公开的同态加密公钥对所述盲化明文进行加密,得到盲化密文。
步骤S23和步骤S24的具体实施方法可以参考前述实施例中公开的内容,在此不再进行赘述。
步骤S25:接收所述云端反馈的所述盲化密文,并基于所述盲化函数和所述盲化密钥对所述盲化密文进行去盲化处理,得到同态加密密文,以便将所述同态加密密文发送到所述云端进行同态计算。
在接收到所述盲化密文之后,还需要基于所述盲化函数和所述盲化密钥对所述盲化密文进行去盲化处理,得到同态加密密文,以便将所述同态加密密文发送到所述云端进行同态计算。
其中,基于所述盲化函数和所述盲化密钥对所述盲化密文进行去盲化处理,得到同态加密密文,包括:分别基于所述盲化函数、所述盲化密钥构造去盲化函数和去盲化密钥;利用所述去盲化函数和所述去盲化密钥对所述盲化密文进行去盲化处理,得到同态加密密文。
具体的,利用所述去盲化函数和所述去盲化密钥对所述盲化密文去盲化处理,得到同态加密密文,包括:对所述盲化密文进行预处理,得到预处理后盲化密文;利用所述去盲化函数和所述去盲化密钥对所述预处理后盲化密文进行处理,得到同态加密密文。
云端从所述目标同态计算算法对应的所述抽样空间随机抽样数组v,e0,e1,输出盲化密文
Figure BDA0002945587520000101
例如,盲化密文可以为
Figure BDA0002945587520000102
云端将盲化密文
Figure BDA0002945587520000103
发回给客户端。
当所述盲化密文为
Figure BDA0002945587520000104
时,所述预处理可以包括:令盲化密文
Figure BDA0002945587520000105
中含
Figure BDA0002945587520000106
的项为
Figure BDA0002945587520000107
含e1的项为
Figure BDA0002945587520000108
即:
Figure BDA0002945587520000109
然后基于构造的盲化函数B、盲化密钥bk构造对应的去盲化函数B-1、去盲化密钥bk-1。客户端对盲化密文执行去盲化操作以获取同态加密密文,例如,同态加密密文为E(m)←(c0,c1),其中,
Figure BDA00029455875200001010
例如
Figure BDA00029455875200001011
Figure BDA00029455875200001012
不变,即
Figure BDA00029455875200001013
客户端将同态加密密文为E(m)←(c0,c1)外包给云端执行同态计算。
参见图4所示,本申请实施例公开了一种同态计算中的数据加密方法,应用于云端,该方法包括:
步骤S31:接收所述云端对应的客户端发送的盲化明文,其中,所述盲化明文为所述客户端利用构造的盲化函数和盲化密钥对待处理的训练样本数据进行盲化处理得到。
所述云端对应的客户端会构造盲化函数和盲化密钥,并利用所述盲化函数和盲化密钥对待处理的训练样本数据进行盲化,得到盲化明文,并将所述盲化明文发送到所述云端,相应地,所述云端便需要接收所述盲化明文。
步骤S32:利用所述客户端公开的同态加密公钥对所述盲化明文进行加密,得到盲化密文。
接收到所述盲化明文之后,还需要利用所述客户端公开的同态加密公钥对所述盲化明文进行加密,得到盲化密文。其中,所述同态加密公钥为所述客户端利用根据用户输入到的同态加密算法信息从预设的同态加密算法库中确定出的目标同态加密算法生成的。
步骤S33:将所述盲化密文反馈回所述客户端,以便所述客户端基于所述盲化函数和所述盲化密钥对所述盲化密文进行去盲化处理,得到同态加密密文。
在得到所述盲化密文之后,还需要将所述盲化密文反馈回所述客户端,所述客户端接收到所述盲化密文之后,还需要基于所述盲化函数和所述盲化密钥对所述盲化密文进行去盲化处理,得到同态加密密文。
在得到所述同态加密密文之后,还包括:接收所述客户端发送的所述同态加密密文;对所述同态加密密文进行同态计算,得到计算结果密文,并将所述计算结果密文返回给所述客户端,以便所述客户端对所述计算结果密文进行界面,得到计算结果明文。其中,所述同态计算包括但不限于加法、乘法、除法、指数等算数运算,与、非、或、大于等逻辑运算。
可见,本申请应用于云端,首先接收所述云端对应的客户端发送的盲化明文,其中,所述盲化明文为所述客户端利用构造的盲化函数和盲化密钥对待处理的训练样本数据进行盲化处理得到,然后利用所述客户端公开的同态加密公钥对所述盲化明文进行加密,得到盲化密文,并将所述盲化密文反馈回所述客户端,以便所述客户端基于所述盲化函数和所述盲化密钥对所述盲化密文进行去盲化处理,得到同态加密密文。由此可见,本申请中客户端只需要构造盲化函数和盲化密钥,利用构造的盲化函数和盲化密钥对待处理的训练样本数据进行盲化处理,并对云端同态加密之后返回的盲化密文进行去盲化处理,即可得到同态加密密文,由云端负责对盲化明文进行同态加密,相比于现有的客户端需要对待处理的训练样本数据进行加密所需要消耗的大量计算资源和计算时间来说,由云端对待处理的训练样本数据对应的盲化明文进行加密,可以降低对客户端进行计算能力的要求,且在训练样本数据这样大量数据处理时,云端的计算效率远大于客户端,所以可以提高整个数据处理过程中的效率,且对于训练样本数据这样大量数据来说,同态加密的计算量也远大于盲化和去盲化处理的计算量,所以可以减轻客户端的计算负担,解决了客户端在加密、同态计算解密阶段因计算量极不均匀造成的“头重脚轻”问题。且客户端是对待处理的训练样本数据进行盲化处理之后,才发送到云端进行同态加密处理的,所以可以保证明文数据安全性。
参见图5所示,为同态计算中的数据加密流程图。首先,客户端利用盲化函数B和盲化密钥bk对待处理的训练样本数据m进行盲化计算,获得盲化明文
Figure BDA0002945587520000111
将盲化明文
Figure BDA0002945587520000112
发送给云端。云端对盲化明文进行同态加密,得到盲化密文
Figure BDA0002945587520000113
云端将盲化密文
Figure BDA0002945587520000114
发回给客户端,客户端对盲化密文
Figure BDA0002945587520000115
进行去盲化处理,得到同态加密密文E(m)。
参见图6所示,本申请实施例公开了一种同态计算中的数据加密装置,应用于客户端,包括:
盲化模块11,用于构造盲化函数和盲化密钥,并利用所述盲化函数和所述盲化密钥对待处理的训练样本数据进行盲化,得到所述训练样本数据对应的盲化明文;
盲化明文发送模块12,用于将所述盲化明文发送到所述客户端对应的云端,以便所述云端利用所述客户端生成并公开的同态加密公钥对所述盲化明文进行加密,得到盲化密文;
盲化密文接收模块13,用于接收所述云端反馈的所述盲化密文;
去盲化模块14,用于基于所述盲化函数和所述盲化密钥对所述盲化密文进行去盲化处理,得到同态加密密文,以便将所述同态加密密文发送到所述云端进行同态计算。
可见,本申请应用于客户端,首先构造盲化函数和盲化密钥,并利用所述盲化函数和所述盲化密钥对待处理的训练样本数据进行盲化,得到所述训练样本数据对应的盲化明文,然后再将所述盲化明文发送到所述客户端对应的云端,以便所述云端利用所述客户端生成并公开的同态加密公钥对所述盲化明文进行加密,得到盲化密文,还需要接收所述云端反馈的所述盲化密文,并基于所述盲化函数和所述盲化密钥对所述盲化密文进行去盲化处理,得到同态加密密文,以便将所述同态加密密文发送到所述云端进行同态计算。由此可见,本申请中客户端只需要构造盲化函数和盲化密钥,利用构造的盲化函数和盲化密钥对待处理的训练样本数据进行盲化处理,并对云端同态加密之后返回的盲化密文进行去盲化处理,即可得到同态加密密文,相比于现有的客户端需要对待处理的训练样本数据进行加密所需要消耗的大量计算资源和计算时间来说,由云端对待处理的训练样本数据进行加密,可以降低对客户端进行计算能力的要求,且在训练样本数据这样大量数据处理时,云端的计算效率远大于客户端,所以可以提高整个数据处理过程中的效率,且对于训练样本数据这样大量数据来说,同态加密的计算量也远大于盲化和去盲化处理的计算量,所以可以减轻客户端的计算负担,解决了客户端在加密、同态计算解密阶段因计算量极不均匀造成的“头重脚轻”问题。且客户端是对待处理的训练样本数据进行盲化处理之后,才发送到云端进行同态加密处理的,所以可以保证明文数据安全性。
在一些具体的实施例中,所述同态计算中的数据加密装置,还包括:
密钥生成模块,用于根据获取到的同态加密算法信息生成同态加密私钥以及所述同态加密公钥,其中,所述同态加密算法信息包括同态加密算法的类型信息和安全参数;将所述同态加密公钥公开,以便所述云端获取到所述同态公钥。
在一些具体的实施例中,所述密钥生成模块,用于:
根据获取到的同态加密算法信息从预设的同态加密算法库中确定出目标同态加密算法,其中,所述同态加密算法库中包括多个同态加密算法集,且一个同态加密算法集中的各个同态加密算法属于同一类型,每个同态加密算法集中包括不同的安全参数对应的同态加密算法;
基于所述目标同态加密算法生成同态加密私钥以及所述同态加密公钥。
在一些具体的实施例中,所述去盲化模块14,用于:
分别基于所述盲化函数、所述盲化密钥构造去盲化函数和去盲化密钥;
利用所述去盲化函数和所述去盲化密钥对所述盲化密文进行去盲化处理,得到同态加密密文。
在一些具体的实施例中,所述去盲化模块14,用于:
对所述盲化密文进行预处理,得到预处理后盲化密文;
利用所述去盲化函数和所述去盲化密钥对所述预处理后盲化密文进行处理,得到同态加密密文。
参见图7所示,本申请实施例公开了一种同态计算中的数据加密装置,应用于云端,包括:
盲化明文接收模块21,用于接收所述云端对应的客户端发送的盲化明文,其中,所述盲化明文为所述客户端利用构造的盲化函数和盲化密钥对待处理的训练样本数据进行盲化处理得到;
同态加密模块22,用于利用所述客户端公开的同态加密公钥对所述盲化明文进行加密,得到盲化密文;
盲化密文发送模块23,用于将所述盲化密文反馈回所述客户端,以便所述客户端基于所述盲化函数和所述盲化密钥对所述盲化密文进行去盲化处理,得到同态加密密文。
可见,本申请应用于云端,首先接收所述云端对应的客户端发送的盲化明文,其中,所述盲化明文为所述客户端利用构造的盲化函数和盲化密钥对待处理的训练样本数据进行盲化处理得到,然后利用所述客户端公开的同态加密公钥对所述盲化明文进行加密,得到盲化密文,并将所述盲化密文反馈回所述客户端,以便所述客户端基于所述盲化函数和所述盲化密钥对所述盲化密文进行去盲化处理,得到同态加密密文。由此可见,本申请中客户端只需要构造盲化函数和盲化密钥,利用构造的盲化函数和盲化密钥对待处理的训练样本数据进行盲化处理,并对云端同态加密之后返回的盲化密文进行去盲化处理,即可得到同态加密密文,由云端负责对盲化明文进行同态加密,相比于现有的客户端需要对待处理的训练样本数据进行加密所需要消耗的大量计算资源和计算时间来说,由云端对待处理的训练样本数据对应的盲化明文进行加密,可以降低对客户端进行计算能力的要求,且在训练样本数据这样大量数据处理时,云端的计算效率远大于客户端,所以可以提高整个数据处理过程中的效率,且对于训练样本数据这样大量数据来说,同态加密的计算量也远大于盲化和去盲化处理的计算量,所以可以减轻客户端的计算负担,解决了客户端在加密、同态计算解密阶段因计算量极不均匀造成的“头重脚轻”问题。且客户端是对待处理的训练样本数据进行盲化处理之后,才发送到云端进行同态加密处理的,所以可以保证明文数据安全性。
在一些具体的实施例中,所述同态计算中的数据加密装置,还包括:
同态密文接收模块,用于接收所述客户端发送的所述同态加密密文;
同态计算模块,用于对所述同态加密密文进行同态计算,得到计算结果密文,并将所述计算结果密文返回给所述客户端,以便所述客户端对所述计算结果密文进行界面,得到计算结果明文。
参见图8所示,为本申请实施例提供的一种电子设备30的结构示意图,所述电子设备30可以为用户终端和云端服务器。当所述电子设备30为用户终端时,可以实现前述实施例中公开的由客户端侧执行的同态计算中的数据加密方法步骤。当所述电子设备30为云端服务器时,可以实现前述实施例中公开的由云端侧执行的同态计算中的数据加密方法步骤。
通常,本实施例中的电子设备30包括:处理器31和存储器32。
其中,处理器31可以包括一个或多个处理核心,比如四核心处理器、八核心处理器等。处理器31可以采用DSP(digital signal processing,数字信号处理)、FPGA(field-programmable gate array,现场可编程们阵列)、PLA(programmable logic array,可编程逻辑阵列)中的至少一种硬件来实现。处理器31也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(central processing unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器31可以集成有GPU(graphics processing unit,图像处理器),GPU用于负责显示屏所需要显示的图像的渲染和绘制。一些实施例中,处理器31可以包括AI(artificialintelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器32可以包括一个或多个计算机可读存储介质,计算机可读存储介质可以是非暂态的。存储器32还可以包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器32至少用于存储以下计算机程序321,其中,该计算机程序被处理器31加载并执行之后,能够实现前述任一实施例中公开的同态计算中的数据加密方法步骤。
在一些实施例中,电子设备30还可包括有显示屏33、输入输出接口34、通信接口35、传感器36、电源37以及通信总线38。
本技术领域人员可以理解,图8中示出的结构并不构成对电子设备30的限定,可以包括比图示更多或更少的组件。
进一步的,本申请实施例还公开了一种计算机可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述任一实施例中公开的同态计算中的数据加密方法。
其中,关于上述同态计算中的数据加密方法的具体过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
最后,还需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或者操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得一系列包含其他要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本申请所提供的一种同态计算中的数据加密方法、装置、设备、介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (10)

1.一种同态计算中的数据加密方法,其特征在于,应用于客户端,包括:
构造盲化函数和盲化密钥,并利用所述盲化函数和所述盲化密钥对待处理的训练样本数据进行盲化,得到所述训练样本数据对应的盲化明文;
将所述盲化明文发送到所述客户端对应的云端,以便所述云端利用所述客户端生成并公开的同态加密公钥对所述盲化明文进行加密,得到盲化密文;
接收所述云端反馈的所述盲化密文,并基于所述盲化函数和所述盲化密钥对所述盲化密文进行去盲化处理,得到同态加密密文,以便将所述同态加密密文发送到所述云端进行同态计算。
2.根据权利要求1所述的同态计算中的数据加密方法,其特征在于,所述构造盲化函数和盲化密钥之前,还包括:
根据获取到的同态加密算法信息生成同态加密私钥以及所述同态加密公钥,其中,所述同态加密算法信息包括同态加密算法的类型信息和安全参数;
将所述同态加密公钥公开,以便所述云端获取到所述同态加密 公钥。
3.根据权利要求2所述的同态计算中的数据加密方法,其特征在于,所述根据获取到的同态加密算法信息生成同态加密私钥以及所述同态加密公钥,包括:
根据获取到的同态加密算法信息从预设的同态加密算法库中确定出目标同态加密算法,其中,所述同态加密算法库中包括多个同态加密算法集,且一个同态加密算法集中的各个同态加密算法属于同一类型,每个同态加密算法集中包括不同的安全参数对应的同态加密算法;
基于所述目标同态加密算法生成同态加密私钥以及所述同态加密公钥。
4.根据权利要求1至3任一项所述的同态计算中的数据加密方法,其特征在于,所述基于所述盲化函数和所述盲化密钥对所述盲化密文进行去盲化处理,得到同态加密密文,包括:
分别基于所述盲化函数、所述盲化密钥构造去盲化函数和去盲化密钥;
利用所述去盲化函数和所述去盲化密钥对所述盲化密文进行去盲化处理,得到同态加密密文。
5.根据权利要求4所述的同态计算中的数据加密方法,其特征在于,所述利用所述去盲化函数和所述去盲化密钥对所述盲化密文进行去盲化处理,得到同态加密密文,包括:
对所述盲化密文进行预处理,得到预处理后盲化密文;
利用所述去盲化函数和所述去盲化密钥对所述预处理后盲化密文进行处理,得到同态加密密文。
6.一种同态计算中的数据加密方法,其特征在于,应用于云端,包括:
接收所述云端对应的客户端发送的盲化明文,其中,所述盲化明文为所述客户端利用构造的盲化函数和盲化密钥对待处理的训练样本数据进行盲化处理得到;
利用所述客户端公开的同态加密公钥对所述盲化明文进行加密,得到盲化密文;
将所述盲化密文反馈回所述客户端,以便所述客户端基于所述盲化函数和所述盲化密钥对所述盲化密文进行去盲化处理,得到同态加密密文。
7.根据权利要求6所述的同态计算中的数据加密方法,其特征在于,所述将所述盲化密文反馈回所述客户端,以便所述客户端基于所述盲化函数和所述盲化密钥对所述盲化密文进行去盲化处理,得到同态加密密文之后,还包括:
接收所述客户端发送的所述同态加密密文;
对所述同态加密密文进行同态计算,得到计算结果密文,并将所述计算结果密文返回给所述客户端,以便所述客户端对所述计算结果密文进行解密,得到计算结果明文。
8.一种同态计算中的数据加密装置,其特征在于,应用于客户端,包括:
盲化模块,用于构造盲化函数和盲化密钥,并利用所述盲化函数和所述盲化密钥对待处理的训练样本数据进行盲化,得到所述训练样本数据对应的盲化明文;
盲化明文发送模块,用于将所述盲化明文发送到所述客户端对应的云端,以便所述云端利用所述客户端生成并公开的同态加密公钥对所述盲化明文进行加密,得到盲化密文;
盲化密文接收模块,用于接收所述云端反馈的所述盲化密文;
去盲化模块,用于基于所述盲化函数和所述盲化密钥对所述盲化密文进行去盲化处理,得到同态加密密文,以便将所述同态加密密文发送到所述云端进行同态计算。
9.一种电子设备,其特征在于,包括:
存储器和处理器;
其中,所述存储器,用于存储计算机程序;
所述处理器,用于执行所述计算机程序,以实现权利要求1至7任一项所述的同态计算中的数据加密方法。
10.一种计算机可读存储介质,其特征在于,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的同态计算中的数据加密方法。
CN202110192526.4A 2021-02-20 2021-02-20 一种同态计算中的数据加密方法、装置、设备及介质 Active CN113014373B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110192526.4A CN113014373B (zh) 2021-02-20 2021-02-20 一种同态计算中的数据加密方法、装置、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110192526.4A CN113014373B (zh) 2021-02-20 2021-02-20 一种同态计算中的数据加密方法、装置、设备及介质

Publications (2)

Publication Number Publication Date
CN113014373A CN113014373A (zh) 2021-06-22
CN113014373B true CN113014373B (zh) 2022-06-10

Family

ID=76404144

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110192526.4A Active CN113014373B (zh) 2021-02-20 2021-02-20 一种同态计算中的数据加密方法、装置、设备及介质

Country Status (1)

Country Link
CN (1) CN113014373B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114039785B (zh) * 2021-11-10 2024-02-27 奇安信科技集团股份有限公司 数据加密、解密、处理方法、装置、设备和存储介质
CN114372291A (zh) * 2022-01-13 2022-04-19 平安科技(深圳)有限公司 隐私联合推理方法、装置、设备及存储介质
CN116488851B (zh) * 2023-03-08 2024-06-07 北京邮电大学 隐私计算方法及相关设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2317689A2 (en) * 2009-09-04 2011-05-04 Gradiant-Centro Tecnoloxico de Telecomunicacións de Galicia Cryptographic system for performing secure computations and signal processing directly on encrypted data in untrusted environments
CN110266721A (zh) * 2019-07-05 2019-09-20 西南交通大学 一种基于同态的云辅助动态通用安全多方计算方法
CN111064558A (zh) * 2020-01-09 2020-04-24 浙江理工大学 一种基于云计算的同态加密矩阵连乘安全外包方法
CN111683071A (zh) * 2020-05-29 2020-09-18 百度在线网络技术(北京)有限公司 区块链的隐私数据处理方法、装置、设备以及存储介质
WO2020253234A1 (zh) * 2019-06-18 2020-12-24 创新先进技术有限公司 实现隐私保护的数据同态加解密方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2317689A2 (en) * 2009-09-04 2011-05-04 Gradiant-Centro Tecnoloxico de Telecomunicacións de Galicia Cryptographic system for performing secure computations and signal processing directly on encrypted data in untrusted environments
WO2020253234A1 (zh) * 2019-06-18 2020-12-24 创新先进技术有限公司 实现隐私保护的数据同态加解密方法及装置
CN110266721A (zh) * 2019-07-05 2019-09-20 西南交通大学 一种基于同态的云辅助动态通用安全多方计算方法
CN111064558A (zh) * 2020-01-09 2020-04-24 浙江理工大学 一种基于云计算的同态加密矩阵连乘安全外包方法
CN111683071A (zh) * 2020-05-29 2020-09-18 百度在线网络技术(北京)有限公司 区块链的隐私数据处理方法、装置、设备以及存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
ReliableFullyHomomorphicDisguisingMatrix;Yonghui Chen;《2018 14th international wireless communication & mobile computing conference(IWCMC) 》;20181231;第482-487页 *
云计算环境下朴素贝叶斯安全分类外包方案研究;陈思;《计算机应用与软件》;20200731;第275-280页 *

Also Published As

Publication number Publication date
CN113014373A (zh) 2021-06-22

Similar Documents

Publication Publication Date Title
CN113014373B (zh) 一种同态计算中的数据加密方法、装置、设备及介质
US20210173618A1 (en) Converting a boolean masked value to an arithmetically masked value for cryptographic operations
CN107683502B (zh) 根据紧凑源代码生成加密函数参数
US11716197B2 (en) System and method for generating a cryptographic key
CN112955864B (zh) 恒定时间的安全的算术到布尔掩码转换
US8615084B2 (en) Extending a secret bit string to safeguard the secret
EP3230921B1 (en) Multiplicative masking for cryptographic operations
EP3886354A1 (en) Computation on encrypted data using somewhat fully homomorphic encryption without bootstrapping using trusted third party
CN115051798B (zh) 一种随机数生成方法、装置、电子设备及存储介质
CN112055004A (zh) 一种基于小程序的数据处理方法和系统
EP3202079B1 (en) Exponent splitting for cryptographic operations
JP6915375B2 (ja) 多項式ベースの準同型暗号
CN111475690B (zh) 字符串的匹配方法和装置、数据检测方法、服务器
CN110851472A (zh) 样本匹配方法、设备及可读存储介质
US10333699B1 (en) Generating a pseudorandom number based on a portion of shares used in a cryptographic operation
CN113794706B (zh) 数据的处理方法、装置、电子设备及可读存储介质
EP3843319A1 (en) Apparatus and method for set intersection operation
CN111798236B (zh) 交易数据加、解密方法、装置及设备
US20230421351A1 (en) Homomorphic encryption using smart contracts
JP7205016B2 (ja) 秘匿情報処理システムおよび秘匿情報処理方法
CN114692100A (zh) 数字水印添加、提取方法、装置、电子设备和可读介质
US8437472B2 (en) Strengthened key schedule for arcfour
CN113268755B (zh) 一种对极限学习机的数据的处理方法、装置及介质
Jin et al. Security Compressed Sensing Image Encryption Algorithm Based on Elliptic Curve
Bitar et al. Merging Vernam Cipher stream and Rail Fence Algorithms and How Effective They are on IoT 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
GR01 Patent grant
GR01 Patent grant