CN110289945B - 一种数据加密方法、装置、设备及介质 - Google Patents
一种数据加密方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN110289945B CN110289945B CN201910579350.0A CN201910579350A CN110289945B CN 110289945 B CN110289945 B CN 110289945B CN 201910579350 A CN201910579350 A CN 201910579350A CN 110289945 B CN110289945 B CN 110289945B
- Authority
- CN
- China
- Prior art keywords
- data
- homomorphic
- subset
- homomorphic ciphertext
- data subset
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/008—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种数据加密方法、装置、设备及介质,用以解决在对大量数据进行同态加密时资源消耗较多、处理效率较低的问题。具体为:获取待加密的数据集合并进行分解,得到各个数据子集合;从各个数据子集合中选取一个数据子集合进行同态加密,得到同态密文数据子集合;基于同态密文数据子集合和其他数据子集合,生成数据集合的同态密文数据集合。这样,通过对数据集合进行分解并选取一个数据子集合进行同态加密,能够减少同态加密过程中所消耗的时间和占用的资源,而且,通过重建操作,使得最终获得的同态密文数据集合依然是同态加密的,进而,在确保了同态加密结果不变的同时,提高了数据处理效率,降低了处理资源的消耗。
Description
技术领域
本申请涉及数据加密技术领域,尤其涉及一种数据加密方法、装置、设备及介质。
背景技术
同态加密(Homomorphic Encryption,HE)是一种安全的加密方案,不同于以往秉承“数据存储安全”理念的加密方法,同态加密的关键之处在于“数据处理安全”,即采用HE算法对数据进行加密,得到同态密文数据后,可以对同态密文数据进行运算操作,HE的这一特性使得HE在云计算、密文搜索、机器学习、深度学习等领域得到了广泛应用。
实际应用中,可能需要对大量的数据进行同态加密,比如,在分布式机器学习过程中,可能需要对机器学习过程中产生的大量模型参数(如深度神经网络模型参数)进行同态加密。在实际的应用场景中,如何减少对大量数据进行同态加密时消耗的处理资源、提高加密处理效率是需要考虑的问题。
发明内容
本申请实施例提供了一种数据加密方法、装置、设备及介质,用以在对大量的数据进行同态加密时,减少同态加密过程中消耗的处理资源、提高同态加密的处理效率,具体的,本申请实施例提供的技术方案如下:
第一方面,本申请实施例提供了一种数据加密方法,包括:
获取待加密的数据集合,并对数据集合进行分解,得到数据集合的各个数据子集合;
从各个数据子集合中选取一个数据子集合作为目标数据子集合,并对目标数据子集合进行同态加密,得到目标数据子集合的同态密文数据子集合;
基于同态密文数据子集合和各个数据子集合中除目标数据子集合之外的其他数据子集合,生成数据集合的同态密文数据集合。
在一种可能的实施方式中,从各个数据子集合中选取一个数据子集合作为目标数据子集合,包括:
从各个数据子集合中,任意选取一个数据子集合作为目标数据子集合;或者,从各个数据子集合中,选取数据量最小的数据子集合作为目标数据子集合。
在一种可能的实施方式中,对目标数据子集合进行同态加密,得到目标数据子集合的同态密文数据子集合之后,还包括:
获取同态密文数据子集合中同态密文数据的数量;
按照同态密文数据子集合中同态密文数据的数量,生成混淆参数,并基于各个混淆参数,对同态密文数据子集合进行混淆处理,得到同态密文数据子集合的混淆同态密文数据子集合。
在一种可能的实施方式中,基于各个混淆参数,对同态密文数据子集合进行混淆处理,得到同态密文数据子集合的混淆同态密文数据子集合,包括:
针对同态密文数据子集合中的每一个同态密文数据,从各个混淆参数中,随机选取一个混淆参数作为同态密文数据的混淆参数,并基于同态密文数据的混淆参数,对同态密文数据进行混淆处理,得到同态密文数据的混淆同态密文数据;
基于同态密文数据子集合中的每一个同态密文数据的混淆同态密文数据,生成同态密文数据子集合的混淆同态密文数据子集合。
在一种可能的实施方式中,基于同态密文数据子集合和各个数据子集合中除目标数据子集合之外的其他数据子集合,生成数据集合的同态密文数据集合,包括:
获取与分解数据集合时采用的分解算法相对应的重建算法;
采用重建算法,对同态密文数据子集合和各个数据子集合中除目标数据子集合之外的其他数据子集合进行重建处理,得到数据集合的同态密文数据集合。
第二方面,本申请实施例提供了一种数据加密装置,包括:
数据获取单元,用于获取待加密的数据集合;
分解处理单元,用于对数据集合进行分解,得到数据集合的各个数据子集合;
同态加密单元,用于从各个数据子集合中选取一个数据子集合作为目标数据子集合,并对目标数据子集合进行同态加密,得到目标数据子集合的同态密文数据子集合;
密文生成单元,用于基于同态密文数据子集合和各个数据子集合中除目标数据子集合之外的其他数据子集合,生成数据集合的同态密文数据集合。
在一种可能的实施方式中,在从各个数据子集合中选取一个数据子集合作为目标数据子集合时,同态加密单元具体用于:
从各个数据子集合中,任意选取一个数据子集合作为目标数据子集合;或者,从各个数据子集合中,选取数据量最小的数据子集合作为目标数据子集合。
在一种可能的实施方式中,本申请实施例提供的数据加密装置还包括:
混淆生成单元,用于在同态加密单元对目标数据子集合进行同态加密,得到目标数据子集合的同态密文数据子集合之后,获取同态密文数据子集合中同态密文数据的数量,并按照同态密文数据子集合中同态密文数据的数量,生成混淆参数;
混淆处理单元,用于基于各个混淆参数,对同态密文数据子集合进行混淆处理,得到同态密文数据子集合的混淆同态密文数据子集合。
在一种可能的实施方式中,在基于各个混淆参数,对同态密文数据子集合进行混淆处理,得到同态密文数据子集合的混淆同态密文数据子集合时,混淆处理单元具体用于:
针对同态密文数据子集合中的每一个同态密文数据,从各个混淆参数中,随机选取一个混淆参数作为同态密文数据的混淆参数,并基于同态密文数据的混淆参数,对同态密文数据进行混淆处理,得到同态密文数据的混淆同态密文数据;
基于同态密文数据子集合中的每一个同态密文数据的混淆同态密文数据,生成同态密文数据子集合的混淆同态密文数据子集合。
在一种可能的实施方式中,在基于同态密文数据子集合和各个数据子集合中除目标数据子集合之外的其他数据子集合,生成数据集合的同态密文数据集合时,密文生成单元具体用于:
获取与分解数据集合时采用的分解算法相对应的重建算法;
采用重建算法,对同态密文数据子集合和各个数据子集合中除目标数据子集合之外的其他数据子集合进行重建处理,得到数据集合的同态密文数据集合。
第三方面,本申请实施例还提供了一种数据加密设备,包括:存储器、处理器和存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现本申请实施例提供的数据加密方法。
第四方面,本申请实施例还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机指令,计算机指令被处理器执行时实现本申请实施例提供的数据加密方法。
本申请实施例的有益效果如下:
本申请实施例中,通过对数据集合进行分解,并从获得的各个数据子集合中选取一个数据子集合作为目标数据子集合进行同态加密,能够有效地减少同态加密过程中所消耗的时间和占用的资源,而且,通过对目标数据子集合的同态密文数据子集合和各个数据子集合中除目标数据子集合之外的其他数据子集合进行重建,使得最终获得的同态密文数据集合依然是同态加密的,进而,在确保了同态加密结果不变的同时,提高了数据处理效率,降低了处理资源的消耗。
本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请实施例中的数据加密方法的流程示意图;
图2A本申请实施例中的数据加密方法的逻辑流程示意图;
图2B为本申请实施例中的数据加密方法的具体流程示意图;
图3为本申请实施例中的数据加密装置的功能结构示意图;
图4为本申请实施例中的数据加密设备的硬件结构示意图。
具体实施方式
为了使本领域技术人员更好地理解本申请,首先对本申请中提及的技术用语进行说明。
1、同态加密,为支持对密文数据进行运算操作的一种加密方式,本申请中的同态加密不包含对密文数据的混淆处理。
其中,根据支持的运算操作不同,同态加密分为以下三种类型:
加法同态加密,为支持加减法运算的同态加密,例如,Paillier算法对加减法运算是同态的;
乘法同态加密,为支持乘除法运算的同态加密,例如,RSA算法对乘除法运算是同态的;
全同态加密,为支持加减乘除、多项式求值、指数、对数、三角函数等各种运算的同态加密,例如,Gentry算法对各种运算是同态的。
其中,同态加密的运算性质为其中[[.]]表示同态加密,U和V可以是任何标量或多维矩阵,表示四则运算。同态加密的这一运算性质意味着一个明文数据与一个同态加密的密文数据进行四则运算得到的结果也是同态加密的。
2、待加密的数据集合,为待加密的各个数据的集合,例如,包含待加密的大量模型参数的多维矩阵等。
3、数据子集合,为对数据集合进行分解得到的由该数据集合中的部分数据组成的集合,本申请中,数据集合的各个数据子集合可以采用与分解该数据集合时使用的分解算法相对应的重建算法重建成该数据集合。
例如:当该数据集合为多维矩阵时,数据子集合可以是该多维矩阵的多个子矩阵,本申请中,该多维矩阵的多个子矩阵可以称为该多维矩阵的生成元。其中,生成元,为给定一个多维矩阵,采用分解算法对该多维矩阵进行分解,获得多个数据量较小的子矩阵,若采用与该分解算法相对应的重建算法,能够将该多个数据量较小的子矩阵重建成该多维矩阵,则多个数据量较小的子矩阵组成的集合可以称为该多维矩阵的生成元。
4、混淆参数,为用于对同态密文数据进行混淆处理的参数,例如:随机数。
为了使本申请的目的、技术方案及有益效果更加清楚明白,以下将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,并不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
目前,在对包含大量数据的数据集合进行同态加密时,通常是针对数据集合中的每一个数据分别进行同态加密,得到每一个数据的同态密文数据后,基于每一个数据的同态密文数据,获得该数据集合的同态密文数据集合,这种同态加密方法由于需要针对数据集合中的每一个数据分别进行同态加密,导致消耗了大量的处理资源,降低了数据处理效率。例如:在深度学习的应用场景下,深度学习模型的训练过程可能需要1秒的处理时间,若对深度学习过程中产生的大量模型参数进行同态加密后再进行模型训练,则可能需要2个小时的处理时间才能完成模型训练,而且,还会占用大量的处理资源。
为了解决目前的这种同态加密方法存在的资源消耗较多、处理效率较低的问题,本申请实施例中,获取待加密的数据集合,并对数据集合进行分解,得到数据集合的各个数据子集合;从各个数据子集合中选取一个数据子集合作为目标数据子集合,并对目标数据子集合进行同态加密,得到目标数据子集合的同态密文数据子集合;基于同态密文数据子集合和各个数据子集合中除目标数据子集合之外的其他数据子集合,生成数据集合的同态密文数据集合。这样,通过对数据集合进行分解,并从获得的各个数据子集合中选取一个数据子集合作为目标数据子集合进行同态加密,能够有效地减少同态加密过程中所消耗的时间和占用的资源,而且,通过对目标数据子集合的同态密文数据子集合和各个数据子集合中除目标数据子集合之外的其他数据子集合进行重建,使得最终获得的同态密文数据集合依然是同态加密的,进而,在确保了同态加密结果不变的同时,提高了数据处理效率,降低了处理资源的消耗。
在介绍了本申请实施例的应用场景和设计思想之后,下面对本申请实施例提供的技术方案进行说明。
本申请实施例提供了一种数据加密方法,该数据加密方法可以应用于需要对大量数据进行同态加密处理的任何设备,例如:计算机、云服务器等数据处理设备。具体的,参阅图1所示,本申请实施例提供的数据加密方法的流程如下:
步骤101:获取待加密的数据集合,并对数据集合进行分解,得到数据集合的各个数据子集合。
实际应用中,可以根据实际需求和设备性能,选取不同的分解方式对数据集合进行分解,具体的分解方式,本申请不作限定。
步骤102:从各个数据子集合中选取一个数据子集合作为目标数据子集合,并对目标数据子集合进行同态加密,得到目标数据子集合的同态密文数据子集合。
在具体实施时,在从各个数据子集合中选取一个数据子集合作为目标数据子集合时可以采用但不限于以下方式:
第一种方式:从各个数据子集合中,任意选取一个数据子集合作为目标数据子集合。
例如:假设对数据集合进行分解,获得了4个数据子集合,则可以从该4个数据子集合中任意选取一个数据子集合作为目标数据子集合。
第二种方式:从各个数据子集合中,选取数据量最小的数据子集合作为目标数据子集合。
例如:假设对数据集合进行分解,获得了4个数据子集合,则可以确定该4个数据子集合的数据量,并从该4个数据子集合中选取数据量最小的数据子集合作为目标数据子集合。
进一步的,在确定目标数据子集合后,可以根据实际需求和设备性能,从Paillier算法、RSA算法和Gentry算法等支持运算操作的同态加密算法中,选取一种同态加密算法对目标数据子集合进行同态加密,从而获得该目标数据子集合的同态密文数据子集合。
本申请实施例中,为了确保对同态密文数据进行处理时的数据安全性,降低同态密文数据的破解风险,在对目标数据子集合进行同态加密,得到目标数据子集合的同态密文数据子集合之后,还可以对该同态密文数据子集合进行混淆处理。
实际应用中,在对该同态密文数据子集合进行混淆处理时,可以采用但不限于以下方式:
首先,获取同态密文数据子集合中同态密文数据的数量。
然后,按照同态密文数据子集合中同态密文数据的数量,生成混淆参数。
最后,基于各个混淆参数,对同态密文数据子集合进行混淆处理,得到同态密文数据子集合的混淆同态密文数据子集合。
具体的,针对同态密文数据子集合中的每一个同态密文数据,可以从各个混淆参数中,随机选取一个混淆参数作为该同态密文数据的混淆参数,并基于该同态密文数据的混淆参数,对该同态密文数据进行混淆处理,得到该同态密文数据的混淆同态密文数据,从而获得了同态密文数据子集合中的每一个同态密文数据的混淆同态密文数据,进而,基于同态密文数据子集合中的每一个同态密文数据的混淆同态密文数据,即可生成同态密文数据子集合的混淆同态密文数据子集合。
例如:假设同态密文数据子集合中同态密文数据的数量为10个,则可以生成10个混淆参数,针对该10个同态密文数据,分别从该10个混淆参数中随机选取一个混淆参数作为该同态密文数据的混淆参数,得到该10个同态密文数据各自的混淆参数,并基于该10个同态密文数据各自的混淆参数,对该10个同态密文数据分别进行混淆处理,得到该10个同态密文数据的混淆同态密文数据,进而,根据该10个同态密文数据的混淆同态密文数据,即可获得同态密文数据集合的混淆同态密文数据集合。
步骤103:基于同态密文数据子集合和各个数据子集合中除目标数据子集合之外的其他数据子集合,生成数据集合的同态密文数据集合。
实际应用中,在基于同态密文数据子集合和各个数据子集合中除目标数据子集合之外的其他数据子集合,生成数据集合的同态密文数据集合时,可以采用但不限于以下方式:
首先,获取与分解数据集合时采用的分解算法相对应的重建算法。
然后,采用重建算法,对同态密文数据子集合和各个数据子集合中除目标数据子集合之外的其他数据子集合进行重建处理,得到数据集合的同态密文数据集合。
这样,通过对数据集合进行分解,并从获得的各个数据子集合中选取一个数据子集合作为目标数据子集合进行同态加密,能够有效地减少同态加密过程中所消耗的时间和占用的资源,而且,通过对目标数据子集合的同态密文数据子集合和各个数据子集合中除目标数据子集合之外的其他数据子集合进行重建,使得最终获得的同态密文数据集合依然是同态加密的,进而,在确保了同态加密结果不变的同时,提高了数据处理效率,降低了处理资源的消耗。
下面采用“待加密的数据集合是包含待加密的各个模型参数的多维矩阵”为具体应用场景,对本申请实施例提供的数据加密方法作进一步详细说明。
参阅图2A所示,假设一个机器学习过程中产生的大量模型参数由3个多维矩阵组成,该3个矩阵分别为矩阵M1、矩阵M2和矩阵M3,实际应用中,可以分别对该3个矩阵进行分解,得到该3个矩阵各自的生成元,从该3个矩阵各自的生成元中分别选取数据量最小的子矩阵进行同态加密和混淆处理后再进行矩阵重建,可以获得该3个矩阵各自的同态密文矩阵。
具体的,参阅图2B所示,针对矩阵M1、矩阵M2和矩阵M3中的每一个矩阵(下述称矩阵M)分别进行加密时采用的数据加密方法的具体流程如下:
步骤201:获取待加密的矩阵M。
步骤202:采用分解算法,对矩阵M进行分解,得到矩阵M的生成元G={G1,G2,…,Gn},其中,Gn表征对矩阵M进行分解得到的子矩阵,n表征子矩阵的数量。
步骤203:确定生成元G={G1,G2,…,Gn}中每一个子矩阵的数据量,并从生成G={G1,G2,…,Gn}中选取一个数据量最小的子矩阵Gm为目标子矩阵。
步骤204:采用同态加密算法F(Gm),对目标子矩阵Gm进行同态加密,得到目标子矩阵Gm的同态密文子矩阵[[Gm]]。
步骤205:确定同态密文子矩阵[[Gm]]中同态密文参数的数量为100,并生成100个混淆参数。
步骤206:针对同态密文子矩阵[[Gm]]中的100个同态密文参数,分别从该100个混淆参数中随机选取一个混淆参数作为该同态密文参数的混淆参数,得到该100个同态密文参数各自的混淆参数。
步骤207:基于该100个同态密文参数各自的混淆参数,对该100个同态密文数值分别进行混淆处理,得到该100个同态密文参数各自的混淆同态密文参数。
步骤208:根据该100个同态密文参数各自的混淆同态密文参数,获得同态密文子矩阵[[Gm]]的混淆同态密文子矩阵[[Gm]]'。
步骤209:获取与分解矩阵M时使用的分解算法相对应的重建算法,并采用该重建算法,对混淆同态密文子矩阵[[Gm]]'和生成元G={G1,G2,…,Gn}中除目标子矩阵Gm之外的其他子矩阵进行重建处理,得到矩阵M的同态密文矩阵[[M]]。
基于上述实施例,本申请实施例提供了一种数据加密装置,参阅图3所示,本申请实施例提供的数据加密装置300至少包括:
数据获取单元301,用于获取待加密的数据集合;
分解处理单元302,用于对数据集合进行分解,得到数据集合的各个数据子集合;
同态加密单元303,用于从各个数据子集合中选取一个数据子集合作为目标数据子集合,并对目标数据子集合进行同态加密,得到目标数据子集合的同态密文数据子集合;
密文生成单元304,用于基于同态密文数据子集合和各个数据子集合中除目标数据子集合之外的其他数据子集合,生成数据集合的同态密文数据集合。
在一种可能的实施方式中,在从各个数据子集合中选取一个数据子集合作为目标数据子集合时,同态加密单元303具体用于:
从各个数据子集合中,任意选取一个数据子集合作为目标数据子集合;或者,从各个数据子集合中,选取数据量最小的数据子集合作为目标数据子集合。
在一种可能的实施方式中,本申请实施例提供的数据加密装置还包括:
混淆生成单元305,用于在同态加密单元303对目标数据子集合进行同态加密,得到目标数据子集合的同态密文数据子集合之后,获取同态密文数据子集合中同态密文数据的数量,并按照同态密文数据子集合中同态密文数据的数量,生成混淆参数;
混淆处理单元306,用于基于各个混淆参数,对同态密文数据子集合进行混淆处理,得到同态密文数据子集合的混淆同态密文数据子集合。
在一种可能的实施方式中,在基于各个混淆参数,对同态密文数据子集合进行混淆处理,得到同态密文数据子集合的混淆同态密文数据子集合时,混淆处理单元306具体用于:
针对同态密文数据子集合中的每一个同态密文数据,从各个混淆参数中,随机选取一个混淆参数作为同态密文数据的混淆参数,并基于同态密文数据的混淆参数,对同态密文数据进行混淆处理,得到同态密文数据的混淆同态密文数据;
基于同态密文数据子集合中的每一个同态密文数据的混淆同态密文数据,生成同态密文数据子集合的混淆同态密文数据子集合。
在一种可能的实施方式中,在基于同态密文数据子集合和各个数据子集合中除目标数据子集合之外的其他数据子集合,生成数据集合的同态密文数据集合时,密文生成单元304具体用于:
获取与分解数据集合时采用的分解算法相对应的重建算法;
采用重建算法,对同态密文数据子集合和各个数据子集合中除目标数据子集合之外的其他数据子集合进行重建处理,得到数据集合的同态密文数据集合。
需要说明的是,本申请实施例提供的数据加密装置300解决技术问题的原理与本申请实施例提供的数据加密方法相似,因此,本申请实施例提供的数据加密装置300的实施可以参见本申请实施例提供的数据加密方法的实施,重复之处不再赘述。
在介绍了本申请实施例提供的数据加密方法及装置之后,接下来,对本申请实施例提供的数据加密设备进行简单介绍。
参阅图4所示,本申请实施例提供的数据加密设备400至少包括:处理器41、存储器42和存储在存储器42上并可在处理器41上运行的计算机程序,处理器41执行计算机程序时实现本申请实施例提供的数据加密方法。
需要说明的是,图4所示的数据加密设备400仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
本申请实施例提供的数据加密设备400还可以包括连接不同组件(包括处理器41和存储器42)的总线43。其中,总线43表示几类总线结构中的一种或多种,包括存储器总线、外围总线、局域总线等。
存储器42可以包括易失性存储器形式的可读介质,例如随机存储器(RandomAccess Memory,RAM)421和/或高速缓存存储器422,还可以进一步包括只读存储器(ReadOnly Memory,ROM)423。
存储器42还可以包括具有一组(至少一个)程序模块424的程序工具425,程序模块424包括但不限于:操作子系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
数据加密设备400也可以与一个或多个外部设备44(例如键盘、遥控器等)通信,还可以与一个或者多个使得用户能与数据加密设备400交互的设备通信(例如手机、电脑等),和/或,与使得数据加密设备400能与一个或多个其它数据加密设备400进行通信的任何设备(例如路由器、调制解调器等)通信。这种通信可以通过输入/输出(Input/Output,I/O)接口45进行。并且,数据加密设备400还可以通过网络适配器46与一个或者多个网络(例如局域网(Local Area Network,LAN),广域网(Wide Area Network,WAN)和/或公共网络,例如因特网)通信。如图4所示,网络适配器46通过总线43与数据加密设备400的其它模块通信。应当理解,尽管图4中未示出,可以结合数据加密设备400使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、磁盘阵列(RedundantArrays of Independent Disks,RAID)子系统、磁带驱动器以及数据备份存储子系统等。
此外,本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机指令,该计算机指令被处理器执行时实现本申请实施例提供的数据加密方法。具体地,该可执行程序可以内置在数据加密设备400中,这样,数据加密设备400就可以通过执行内置的可执行程序实现本申请实施例提供的数据加密方法。
此外,本申请实施例提供的数据加密方法还可以实现为一种程序产品,该程序产品包括程序代码,当该程序产品可以在数据加密设备400上运行时,该程序代码用于使数据加密设备400执行本申请实施例提供的数据加密方法。
本申请实施例提供的程序产品可以采用一个或多个可读介质的任意组合,其中,可读介质可以是可读信号介质或者可读存储介质,而可读存储介质可以是但不限于是电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合,具体地,可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、RAM、ROM、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、光纤、便携式紧凑盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
本申请实施例提供的程序产品可以采用CD-ROM并包括程序代码,还可以在计算设备上运行。然而,本申请实施例提供的程序产品不限于此,在本申请实施例中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
应当注意,尽管在上文详细描述中提及了装置的若干单元或子单元,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。反之,上文描述的一个单元的特征和功能可以进一步划分为由多个单元来具体化。
此外,尽管在附图中以特定顺序描述了本申请方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请实施例进行各种改动和变型而不脱离本申请实施例的精神和范围。这样,倘若本申请实施例的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (10)
1.一种数据加密方法,其特征在于,包括:
获取待加密的数据集合,并对所述数据集合进行分解,得到所述数据集合的各个数据子集合,所述数据集合为机器学习过程产生的各个模型参数的多维矩阵;
从所述各个数据子集合中选取一个数据子集合作为目标数据子集合,并对所述目标数据子集合进行同态加密,得到所述目标数据子集合的同态密文数据子集合;
获取与分解所述数据集合时采用的分解算法相对应的重建算法;
采用所述重建算法,对所述同态密文数据子集合和所述各个数据子集合中除所述目标数据子集合之外的其他数据子集合进行重建处理,得到所述数据集合的同态密文数据集合,所述同态密文数据集合是同态加密的,且同态加密结果不变。
2.如权利要求1所述的数据加密方法,其特征在于,从所述各个数据子集合中选取一个数据子集合作为目标数据子集合,包括:
从所述各个数据子集合中,任意选取一个数据子集合作为所述目标数据子集合;或者,
从所述各个数据子集合中,选取数据量最小的数据子集合作为所述目标数据子集合。
3.如权利要求1或2所述的数据加密方法,其特征在于,对所述目标数据子集合进行同态加密,得到所述目标数据子集合的同态密文数据子集合之后,还包括:
获取所述同态密文数据子集合中同态密文数据的数量;
按照所述同态密文数据子集合中同态密文数据的数量,生成混淆参数,并基于各个混淆参数,对所述同态密文数据子集合进行混淆处理,得到所述同态密文数据子集合的混淆同态密文数据子集合。
4.如权利要求3所述的数据加密方法,其特征在于,基于各个混淆参数,对所述同态密文数据子集合进行混淆处理,得到所述同态密文数据子集合的混淆同态密文数据子集合,包括:
针对所述同态密文数据子集合中的每一个同态密文数据,从所述各个混淆参数中,随机选取一个混淆参数作为所述同态密文数据的混淆参数,并基于所述同态密文数据的混淆参数,对所述同态密文数据进行混淆处理,得到所述同态密文数据的混淆同态密文数据;
基于所述同态密文数据子集合中的每一个同态密文数据的混淆同态密文数据,生成所述同态密文数据子集合的混淆同态密文数据子集合。
5.一种数据加密装置,其特征在于,包括:
数据获取单元,用于获取待加密的数据集合,所述数据集合为机器学习过程产生的各个模型参数的多维矩阵;
分解处理单元,用于对所述数据集合进行分解,得到所述数据集合的各个数据子集合;
同态加密单元,用于从所述各个数据子集合中选取一个数据子集合作为目标数据子集合,并对所述目标数据子集合进行同态加密,得到所述目标数据子集合的同态密文数据子集合;
密文生成单元,用于获取与分解所述数据集合时采用的分解算法相对应的重建算法;采用所述重建算法,对所述同态密文数据子集合和所述各个数据子集合中除所述目标数据子集合之外的其他数据子集合进行重建处理,得到所述数据集合的同态密文数据集合,所述同态密文数据集合是同态加密的,且同态加密结果不变。
6.如权利要求5所述的数据加密装置,其特征在于,在从所述各个数据子集合中选取一个数据子集合作为目标数据子集合时,所述同态加密单元具体用于:
从所述各个数据子集合中,任意选取一个数据子集合作为所述目标数据子集合;或者,
从所述各个数据子集合中,选取数据量最小的数据子集合作为所述目标数据子集合。
7.如权利要求5或6所述的数据加密装置,其特征在于,还包括:
混淆生成单元,用于在所述同态加密单元对所述目标数据子集合进行同态加密,得到所述目标数据子集合的同态密文数据子集合之后,获取所述同态密文数据子集合中同态密文数据的数量,并按照所述同态密文数据子集合中同态密文数据的数量,生成混淆参数;
混淆处理单元,用于基于各个混淆参数,对所述同态密文数据子集合进行混淆处理,得到所述同态密文数据子集合的混淆同态密文数据子集合。
8.如权利要求7所述的数据加密装置,其特征在于,在基于各个混淆参数,对所述同态密文数据子集合进行混淆处理,得到所述同态密文数据子集合的混淆同态密文数据子集合时,所述混淆处理单元具体用于:
针对所述同态密文数据子集合中的每一个同态密文数据,从所述各个混淆参数中,随机选取一个混淆参数作为所述同态密文数据的混淆参数,并基于所述同态密文数据的混淆参数,对所述同态密文数据进行混淆处理,得到所述同态密文数据的混淆同态密文数据;
基于所述同态密文数据子集合中的每一个同态密文数据的混淆同态密文数据,生成所述同态密文数据子集合的混淆同态密文数据子集合。
9.一种数据加密设备,其特征在于,包括:存储器、处理器和存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-4任一项所述的数据加密方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令被处理器执行时实现如权利要求1-4任一项所述的数据加密方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910579350.0A CN110289945B (zh) | 2019-06-28 | 2019-06-28 | 一种数据加密方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910579350.0A CN110289945B (zh) | 2019-06-28 | 2019-06-28 | 一种数据加密方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110289945A CN110289945A (zh) | 2019-09-27 |
CN110289945B true CN110289945B (zh) | 2023-02-07 |
Family
ID=68019850
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910579350.0A Active CN110289945B (zh) | 2019-06-28 | 2019-06-28 | 一种数据加密方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110289945B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113434896B (zh) * | 2021-08-27 | 2021-11-02 | 豪符密码检测技术(成都)有限责任公司 | 一种矿产资源、地理空间领域数据加密保护和使用的方法 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105260668A (zh) * | 2015-10-10 | 2016-01-20 | 北京搜狗科技发展有限公司 | 一种文件加密方法及电子设备 |
WO2017035898A1 (zh) * | 2015-08-31 | 2017-03-09 | 宇龙计算机通信科技(深圳)有限公司 | 一种移动终端的指纹特征模板加密存储方法及系统 |
CN106685980A (zh) * | 2017-01-13 | 2017-05-17 | 桂林电子科技大学 | 一种大文件的加密方法 |
CN107135062A (zh) * | 2017-05-08 | 2017-09-05 | 桂林电子科技大学 | 一种改进的大文件的加密方法 |
CN107317666A (zh) * | 2017-05-25 | 2017-11-03 | 南京邮电大学 | 一种支持浮点运算的并行全同态加解密方法 |
CN108667595A (zh) * | 2017-03-28 | 2018-10-16 | 吉林化工学院 | 一种大数据文件的压缩加密方法 |
CN108985102A (zh) * | 2018-06-22 | 2018-12-11 | 中国电子科技集团公司电子科学研究院 | 数据完整性验证方法、装置、系统及存储介质 |
CN109241016A (zh) * | 2018-08-14 | 2019-01-18 | 阿里巴巴集团控股有限公司 | 多方安全计算方法及装置、电子设备 |
CN109726567A (zh) * | 2018-11-27 | 2019-05-07 | 南京邮电大学 | 一种基于全同态加密的移动目标加密方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8565435B2 (en) * | 2010-08-16 | 2013-10-22 | International Business Machines Corporation | Efficient implementation of fully homomorphic encryption |
-
2019
- 2019-06-28 CN CN201910579350.0A patent/CN110289945B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017035898A1 (zh) * | 2015-08-31 | 2017-03-09 | 宇龙计算机通信科技(深圳)有限公司 | 一种移动终端的指纹特征模板加密存储方法及系统 |
CN105260668A (zh) * | 2015-10-10 | 2016-01-20 | 北京搜狗科技发展有限公司 | 一种文件加密方法及电子设备 |
CN106685980A (zh) * | 2017-01-13 | 2017-05-17 | 桂林电子科技大学 | 一种大文件的加密方法 |
CN108667595A (zh) * | 2017-03-28 | 2018-10-16 | 吉林化工学院 | 一种大数据文件的压缩加密方法 |
CN107135062A (zh) * | 2017-05-08 | 2017-09-05 | 桂林电子科技大学 | 一种改进的大文件的加密方法 |
CN107317666A (zh) * | 2017-05-25 | 2017-11-03 | 南京邮电大学 | 一种支持浮点运算的并行全同态加解密方法 |
CN108985102A (zh) * | 2018-06-22 | 2018-12-11 | 中国电子科技集团公司电子科学研究院 | 数据完整性验证方法、装置、系统及存储介质 |
CN109241016A (zh) * | 2018-08-14 | 2019-01-18 | 阿里巴巴集团控股有限公司 | 多方安全计算方法及装置、电子设备 |
CN109726567A (zh) * | 2018-11-27 | 2019-05-07 | 南京邮电大学 | 一种基于全同态加密的移动目标加密方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110289945A (zh) | 2019-09-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Al Badawi et al. | Implementation and performance evaluation of RNS variants of the BFV homomorphic encryption scheme | |
US11902413B2 (en) | Secure machine learning analytics using homomorphic encryption | |
Dathathri et al. | CHET: an optimizing compiler for fully-homomorphic neural-network inferencing | |
US9331984B2 (en) | Secret sharing method and system | |
Wu et al. | Secure and efficient outsourced k-means clustering using fully homomorphic encryption with ciphertext packing technique | |
CN110266484B (zh) | 一种数据加密方法、装置、设备及介质 | |
CN111984990B (zh) | 基于边缘计算的支持隐私保护的矩阵乘法任务外包方法 | |
CN1677917A (zh) | 基于循环缓冲的流式密码设计 | |
CN114730389A (zh) | 双重服务器隐私保护聚类 | |
Apostal et al. | Password recovery using MPI and CUDA | |
CN115622685B (zh) | 隐私数据同态加密方法、装置及系统 | |
EP3414698A1 (en) | Secure code optimization method and system | |
CN110289945B (zh) | 一种数据加密方法、装置、设备及介质 | |
CN115310125A (zh) | 一种加密数据检索系统、方法、计算机设备及存储介质 | |
Yang et al. | FPGA accelerator for homomorphic encrypted sparse convolutional neural network inference | |
US20230254115A1 (en) | Protection of transformations by intermediate randomization in cryptographic operations | |
CN105814833A (zh) | 安全的数据变换 | |
Ma et al. | Improved privacy-preserving PCA using optimized homomorphic matrix multiplication | |
JP2018205511A (ja) | パラメータ変換方法、パラメータ変換装置、パラメータ変換プログラム、ペアリング演算方法、ペアリング演算装置、及びペアリング演算プログラム | |
CN107667368B (zh) | 用于混淆计算机程序的系统、方法以及存储介质 | |
US11343070B2 (en) | System and method for performing a fully homomorphic encryption on a plain text | |
US11281688B2 (en) | Ranking and de-ranking data strings | |
Hahne et al. | Asynchronous truncated multigrid-reduction-in-time | |
US10936703B2 (en) | Obfuscating programs using matrix tensor products | |
Janratchakool et al. | Finding the optimal value for threshold cryptography on cloud computing |
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 |