当前位置: 首页 > 专利查询>广西大学专利>正文

一种基于矩阵运算的可验证的全同态加密方法技术

技术编号:21166443 阅读:34 留言:0更新日期:2019-05-22 09:30
本发明专利技术公开了一种基于矩阵运算的可验证的全同态加密方法。该方法先将各明文数据预处理转换成向量,得到向量集合;然后选择非零随机实数与各向量构造三角矩阵,对各三角矩阵进行加密,得到加密矩阵集合;同时根据计算函数类型,利用三角矩阵集合生成验证证据;之后将各加密矩阵按照一定的规则进行矩阵运算,得到加密的运算结果;最后,对加密的运算结果进行解密,得到结果的明文,通过比较验证证据与计算结果的值是否相等来验证结果的正确性。本所述方法具有隐私安全及结果的可验证性;仿真实验结果表明本发明专利技术所述方法在密钥生成、解密与可验证阶段都具有较高的效率,表明了方案的有效性和可行性。

A Verifiable Homomorphic Encryption Method Based on Matrix Operations

The invention discloses a verifiable homomorphic encryption method based on matrix operation. The method first converts the plaintext data into vectors and obtains the set of vectors; then chooses non-zero random real numbers and vectors to construct triangular matrices, encrypts each triangular matrix and obtains the set of encrypted matrices; at the same time, according to the type of calculation function, generates verification evidence by using the set of triangular matrices; and then calculates each encrypted matrix according to certain rules, and obtains Finally, decrypt the encrypted operation results and get the plaintext of the results. Verify the correctness of the results by comparing the evidences and the calculated values. The method has privacy security and verifiability of the results. The simulation results show that the method has high efficiency in key generation, decryption and verifiability, and shows the effectiveness and feasibility of the scheme.

【技术实现步骤摘要】
一种基于矩阵运算的可验证的全同态加密方法
本专利技术涉及一种全同态加密算法,具体涉及一种基于矩阵运算的可验证的全同态加密方法。
技术介绍
云计算的出现,能够为用户带来了极大的便利,但同样由于它所具有的数据外包、服务租赁和虚拟化等特点,也引入了新的安全问题和挑战。首先外包使用户失去了对数据和计算任务的直接掌控,而这其中可能包含用户的一些敏感信息。另外云服务器内部的操作细节对用户是不透明的,因此,云服务提供商(CloudServiceProvider,CSP)可能出于某些自私的动机,使其存在不诚实的行为,例如:出于某种利益的目的,泄露、滥用用户的隐私信息;为了节约计算资源,在执行用户的计算任务时“偷懒”而未完成用户的计算工作从而返回错误的计算结果。此外,系统故障或非法的外部攻击也可能影响用户的隐私安全以及计算结果的正确性。因此,云计算环境中的隐私安全、计算可靠性是云计算研究的关键问题之一。针对隐私安全问题,传统的加密方法虽然可以保护用户数据的隐私性,但是不支持对密文进行有效的计算。而同态加密是一种不同于传统的数据加密算法,它支持对密文直接进行运算,且得到的结果解密后与在明文下进行相同计算的结果是一样的。由于这个优良的性质,用户可以委托云服务器对同态加密后的数据进行计算,而不泄露隐私信息,充分地发挥了云计算的优势。目前已有的同态加密方案按照其支持的运算类型可分为部分同态加密方案和全同态加密方案。其中,前者仅支持有限次数的加法和乘法运算中的一种,例如:支持乘法同态运算的RSA、ElGamal等,支持加法同态运算的Paillier等,同时支持任意次数的加法和一次乘法同态运算的BGN等。由于它们仅满足部分同态性质,使得其在云计算中的应用具有一定的局限性,比如当需要执行某些复杂的运算(要求同时满足同态加法和乘法,或者同态运算的次数很大)时,就不能满足用户的需求了;后者具有全同态的性质,可以支持任意次数的加法和乘法运算。2009年Gentry构造出第一个真正意义上的全同态加密方案,然而由于密文长度和计算复杂度会随着安全强度的增加而激增,该方案在期望的安全强度上远达不到实际应用的程度。之后,VanDijk等人对Gentry的工作进行了改进。尽管全同态加密方案的效率不断提高,但是目前已有的方案依然普遍存在设计复杂、密钥尺寸过大、计算效率较低和计算复杂度高等问题,离实际应用还有一定的距离。针对计算可靠性问题,用户需要一种机制来验证计算结果的正确性。Gennaro等人利用Gentry的全同态方案和Yao’sGarbledCircuit构造了具有输入输出隐私性的可验证方案。Zhou等人将一个支持加法和乘法操作的数据聚合方案和Yao’sGarbledCircuit相结合,实现了一个可验证的全同态加密方案(ZhouJ,CaoZ,DongX,etal.EVOC:Moreefficientverifiableoutsourcedcomputationfromanyone-waytrapdoorfunction[C].IEEEInternationalConferenceonCommunications.IEEE,2015:7444-7449)。Ahmed等人基于Lipschitz四元数环提出一个无噪声的可验证全同态加密方案AhmedEY,Mohamed.Averifiablefullyhomomorphicencryptionschemetosecurebigdataincloudcomputing[C].InternationalConferenceonWirelessNetworksandMobileCommunications.Rabat:IEEE,2017:1-5.。上述方案虽然都基本实现了可验证的全同态加密,但是它们要么缺乏实用性(如Gennaro等人设计的具有输入输出隐私性的可验证方案),要么效率较低(如Zhou等人设计的可验证的全同态加密方案)。因此,如何设计可验证的全同态加密方案依然是一个难点和热点。
技术实现思路
本专利技术要解决的技术问题是提供一种基于矩阵运算的可验证的全同态加密方法。该方法以矩阵运算原理及矩阵盲化技术为基础构建全同态加密算法,实现隐私安全与结果的可验证性,具有较高的效率。本专利技术所述的基于矩阵运算的可验证的全同态加密方法,包括以下步骤:1)根据安全参数λ={da,dm,k}的值确定密钥空间,然后生成非零随机实数集合{x1,x2,…,xd};其中,da∈N且da>3,dm∈N且dm≥2,N为自然数集,k为正整数且k≥2;2)构造一个d阶可逆矩阵M,同时计算其逆矩阵M-1,令密钥K=(M,M-1);其中,d=da+dm+k;3)确定参与计算的明文数据集合D={m1,m2,…,mt},其中t∈N且t≥1,将其中各明文数据分别转换成一个d维向量,得到向量集合;其中,将各明文数据转换成一个d维向量的具体实现步骤为:3.1)随机选择(da-1)个数(ari∈R(整数集)且i∈[1,da-1]),计算从而生成一个da维向量3.2)选择da个随机数(crj∈R且j∈[1,da]),将向量p转换为3.3)随机选择(dm-1)个数(mrb∈R且1/mrb为有限小数,b∈[1,dm-1]),并计算从而将p'转换为(da+dm)维的向量3.4)从非零随机实数集合中随机选取(k-1)个元素加入到p″中将p″扩充,从而生成一个d维向量其中,rq∈R且1≤q≤k-1,R为实数集;4)从非零随机实数集合中随机选择d(d-1)/2个非零随机实数,将这些非零随机实数分别与向量集合中的各向量中的元素构建d阶三角矩阵,生成与明文数据集合D对应的三角矩阵集合S,用密钥K分别对各三角矩阵进行盲化处理得到相应的加密矩阵,进一步生成与明文数据集合D对应的加密矩阵集合C;5)根据计算函数类型,利用三角矩阵集合S生成验证证据proof;所述的计算函数类型包括加法运算和乘法运算;6)将加密矩阵集合C根据计算函数类型进行计算,得到计算结果Res;7)用密钥K对计算结果Res进行去盲处理,所得去盲处理后的矩阵根据计算函数类型按公式进行计算,得到计算结果明文res;其中:当计算函数为加法运算时,按下述公式(1)进行计算:当计算函数为乘法运算时,按下述公式(2)进行计算:8)根据计算函数类型,将验证证据proof中的各值与计算结果明文res中相对应的值进行比较,如均相等,则表示计算结果正确,输出res;否则表示计算结果错误,输出⊥;所述的计算函数类型包括加法运算和乘法运算。本专利技术所述方法的步骤2)中,可采用现有常规方法构造d阶可逆矩阵M,优选是利用克罗内克函数和随机置换函数构造d阶可逆矩阵,其中:克罗内克函数函数δx,y描述为:设定一个d元恒等置换π,对于z=1:(d-1),选择随机数f(z≤f≤d),交换π(z)与π(f),生成d阶可逆矩阵M,其中Mz,f=δπ(z),f,通过计算求得其逆矩阵M-1,其中Mz,f和分别表示矩阵M和M-1中第z行第f列的元素。本专利技术所述方法的步骤4)中,所述从非零随机实数集合中随机选择的d(d-1)/2个非零随机实数,可以是相同的,也可以不同。本专利技术所述方法的步骤5)中,计算函数类型可根据需求进行设定,即可以根据需要设定为加本文档来自技高网
...

【技术保护点】
1.一种基于矩阵运算的可验证的全同态加密方法,包括以下步骤:1)根据安全参数λ={da,dm,k}的值确定密钥空间,然后生成非零随机实数集合{x1,x2,…,xd};其中,da∈N且da>3,dm∈N且dm≥2,N为自然数集,k为正整数且k≥2;2)构造一个d阶可逆矩阵M,同时计算其逆矩阵M

【技术特征摘要】
1.一种基于矩阵运算的可验证的全同态加密方法,包括以下步骤:1)根据安全参数λ={da,dm,k}的值确定密钥空间,然后生成非零随机实数集合{x1,x2,…,xd};其中,da∈N且da>3,dm∈N且dm≥2,N为自然数集,k为正整数且k≥2;2)构造一个d阶可逆矩阵M,同时计算其逆矩阵M-1,令密钥K=(M,M-1);其中,d=da+dm+k;3)确定参与计算的明文数据集合D={m1,m2,…,mt},其中t∈N且t≥1,将其中各明文数据分别转换成一个d维向量,得到向量集合;其中,将各明文数据转换成一个d维向量的具体实现步骤为:3.1)随机选择(da-1)个数(ari∈R(整数集)且i∈[1,da-1]),计算从而生成一个da维向量3.2)选择da个随机数(crj∈R且j∈[1,da]),将向量p转换为3.3)随机选择(dm-1)个数(mrb∈R且1/mrb为有限小数,b∈[1,dm-1]),并计算从而将p'转换为(da+dm)维的向量3.4)从非零随机实数集合中随机选取(k-1)个元素加入到p″中将p″扩充,从而生成一个d维向量其中,rq∈R且1≤q≤k-1,R为实数集;4)从非零随机实数集合中随机选择d(d-1)/2个非零随机实数,将这些非零随机实数分别与向量集合中的各向量中的元素构建d阶三角矩阵,生成与明文数据集合D对应的三角矩阵集合S,用密钥K分别对各三角矩阵进行盲化处理得到相应的加密矩阵,进一步生成与明文数据集合D对应的加密矩阵集合C;5)根据计算函数类型,利用三角矩阵集合S生成验证证据proof;所述的计算函数类型包括加法运算和乘法运算;6)将加密矩阵集合C根据计算函数类型进行计算,得到计算结果Res;7)用密钥K对计算结果Res进行去盲处理,所得去盲处理后的矩阵根据计算函数类型按公式进行计算,得到计算结果明文res;其中:当计算函数为加法运算时,按下述公式(1)进行计算:当计算函数为乘法运算时,按下述公式(2)进行计算:8)根据计算函数类型,将验证证据proof中的各值与计算结果明文res中相对应的值进行比较,如均相等,则表示计算结果正确,输出res;否则表示...

【专利技术属性】
技术研发人员:黄汝维李志坤
申请(专利权)人:广西大学
类型:发明
国别省市:广西,45

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1