[发明专利]一种支持浮点运算的并行全同态加解密方法有效
申请号: | 201710377165.4 | 申请日: | 2017-05-25 |
公开(公告)号: | CN107317666B | 公开(公告)日: | 2020-04-10 |
发明(设计)人: | 杨庚;史经启;孙彦珺;白双杰;闵兆娥;朱向洋 | 申请(专利权)人: | 深圳前海大道金融服务有限公司 |
主分类号: | H04L9/00 | 分类号: | H04L9/00;H04L9/08 |
代理公司: | 北京同辉知识产权代理事务所(普通合伙) 11357 | 代理人: | 饶富春 |
地址: | 518000 广东省深圳市前海深港合作区*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明提出一种支持浮点运算的并行全同态加密方法,属于信息安全技术领域。本发明的加密方法包含了加密密钥初始化、明文数据加密和子密文乱序存储三个步骤,利用云计算环境的可并行计算机制,通过对明文数据进行分组加密,最终实现对整个待加密文件的加密,并存储到云计算环境的存储系统中。本发明还提出了基于该并行全同态加密方法的解密方法、加法同态加密方法和乘法同态加密方法。本发明的算法简洁,易于实现,安全性高,支持任意深度的同态加法和乘法,且算法具有紧凑特性;并可以通过Spark等并行框架进一步提升算法效率,适用于云计算环境。 | ||
搜索关键词: | 一种 支持 浮点 运算 并行 同态 解密 方法 | ||
【主权项】:
一种云计算环境中支持浮点运算的并行全同态加密方法,其特征在于,包括以下步骤:步骤一、对待加密数据文件分片:记需要加密文件中包含的明文长度为L,将明文分成b块,每一块的大小为li,1≤i≤b,且要求li为8字节的整倍数,记为li=8N,N为正整数;这样前b‑1块为等长的数据块,第b块为剩余部分数据,即:li=8N(1≤i<b)L-(b-1)·8N(i=b)---(1)]]>步骤二、采用随机方式和算法约束条件,生成用于加密的密钥向量:在加密文件中的浮点数数据之前,根据全同态浮点数加密方案的密钥约束条件,生成加密密钥向量;密钥向量分为两部分,记为k和s,每个向量包含n个元素,n为正整数,密钥由随机函数生成的随机浮点数组成,具体密钥约束条件如下:密钥第一部分为向量k,其中每一个元素满足:ki≠0for 1≤i≤n (2)密钥第二部分为向量s,其中每一个元素满足:Σi=1n-1si≠0sn≠0---(3);]]>步骤三、使用用户密钥对文件分片内的浮点数数据进行加密:依次在分片的明文中取出一个浮点数明文数据,记为m,经过加密密钥的加密操作,添加一定的随机噪声,记为r和p,得到加密结果的顺序密文向量C′=[c1,…,ci,…,cn],计算过程为:ci=ki*(si*m+pi)+ri,if1≤i≤n-1kn*sn*Σi=1n-1(pi+ri/ki),ifi=n---(4)]]>其中i代表子密文的序号,c1,c2,…,cn分别为明文m加密后的第1、2、…、n个子密文,在上述加密操作中,所有的噪声部分r和p,组成了两个数量均为n‑1的噪声集合;步骤四、子密文乱序存储:定义映射函数f:f(i)=j,∀1≤i,j≤n---(5)]]>将顺序密文C′的第i个子密文ci按照函数f的映射结果,映射为乱序密文的第j个子密文,记为将乱序密文定义为C″,因此,dj=i,下标j表示在乱序密文C″中的第j个位置,对于i∈[1,2,…,n],将所有的映射结果j的集合定义为J;因此,子密文ci和满足:∀cdj∈C′′,∃ci∈C′,cdj=C′′[j]=C′[i]=ci---(6)]]>由公式(6)可知,函数f维系着顺序密文C′和乱序密文C″子密文之间的关系;最后,使用AES加密算法,将集合J加密,作为子密文cn+1,乱序密文C″和子密文cn+1即为明文m最终的加密结果,记为
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳前海大道金融服务有限公司,未经深圳前海大道金融服务有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201710377165.4/,转载请声明来源钻瓜专利网。