基于非交换单群的私钥无噪声全同态数据处理方法及装置与流程

文档序号:11523900阅读:219来源:国知局
基于非交换单群的私钥无噪声全同态数据处理方法及装置与流程

本发明涉及信息安全技术领域,特别是涉及一种基于非交换单群的私钥无噪声全同态数据处理方法及装置。



背景技术:

随着信息化技术的迅速发展以及数据量的爆炸式增长,全同态加密技术受到空前关注。全同态加密,是指在不知道密钥的情况下,对密文进行任意功能的运算,因此,全同态加密技术能够应用在例如云计算安全、密文检索、安全多方计算等领域。

目前已有的全同态加密方案,均采用多层电路计算模型构造,且加密后的密文均带有噪声。由于噪声会随着同态电路的增长而增大,当噪声超出纠错范围后,密文将无法被正确解密。因此,现有的全同态加密方案每次密文计算后,先利用密钥交换技术将膨胀的密文乘积转换为一个新密文,从而进入下一层电路进行计算,然后将所得结果乘以噪声的倒数,递归式的约减密文的噪声。

但是,现有的全同态加密方案只能尽量减少噪声,无法完全消除噪声。



技术实现要素:

本发明实施例的目的在于提供一种基于非交换单群的私钥无噪声全同态数据处理方法及装置,以实现消除全同态加密过程中噪声目的。具体技术方案如下:

一种基于非交换单群的私钥无噪声全同态数据处理方法,包括:

获取并利用整数环和非交换单群生成对应的群环,所述整数环由两个不小于1024比特的素数构造而成,所述非交换单群中包含有多个群元素;

利用第一预设函数和所述非交换单群,生成同态操作密钥,其中,所述同态操作密钥包括:第一同态操作密钥、第二同态操作密钥和第三同态操作密钥,

所述第一预设函数为:

其中,h表示所述群环矩阵集中的可逆矩阵;p和q为所述两个不小于1024比特的素数;t1和t2均与p互素,且t1和t2均与q互素;gi表示所述非交换单群中的第i个群元素;υ(gi)表示所述非交换单群到群环的映射,其中,υ(gi)的第i个分量为1,其余分量为0;分别表示所述群环中任意三个群环元素,且随机取自所述群环;n表示所述p和q之积;

获取任意两个待加密数据,利用第一预设函数和所述非交换单群对所述任意两个待加密数据进行同态加密,生成所述任意两个待加密数据对应的初始密文;

利用第二预设函数和所述第一同态操作密钥、所述第二同态操作密钥和所述第三同态操作密钥对所述任意两个待加密数据对应的初始密文进行同态合成,生成最终密文,所述第一预设函数和所述第二预设函数不同。

优选地,所述利用第一预设函数和所述非交换单群,生成同态操作密钥,具体包括:

将所述非交换单群的二阶元代入所述第一预设函数,生成第一同态操作密钥;

将所述非交换单群中的任意两个元素分别代入所述第一预设函数,分别生成第二同态操作密钥和第三同态操作密钥。

优选地,所述第二预设函数为:

式中,cx和cy为所述任意两个待加密数据对应的初始密文;k1、k2和k3分别表示所述第一同态操作密钥、第二同态操作密钥和第三同态操作密钥。

优选地,所述获取任意两个待加密数据,利用第一预设函数和所述非交换单群对所述任意两个待加密数据进行同态加密之前,所述基于非交换单群的私钥无噪声全同态数据处理方法还包括:利用所述群环生成对称密钥,所述对称密钥为加密者和解密者同时持有的用于解密密文的密钥。

优选地,所述利用所述群环生成对称密钥,具体包括:

从所述群环所组成的群环矩阵集中随机选取可逆矩阵,将所述可逆矩阵及所述两个不小于1024比特的素数组成所述对称密钥。

优选地,所述利用第二预设函数和所述三个同态操作密钥对所述任意两个待加密数据对应的初始密文进行同态合成,生成最终密文之后,所述基于非交换单群的私钥无噪声全同态数据处理方法还包括:

利用所述对称密钥对所述最终密文进行解密操作。

一种基于非交换单群的私钥无噪声全同态数据处理装置,包括:

第一生成模块,用于获取并利用整数环和非交换单群生成对应的群环,所述整数环由两个不小于1024比特的素数构造而成,所述非交换单群中包含有多个群元素;

第二生成模块,用于利用第一预设函数和所述非交换单群,生成同态操作密钥,其中,所述同态操作密钥包括:第一同态操作密钥、第二同态操作密钥和第三同态操作密钥,

所述第一预设函数为:

其中,h表示所述群环矩阵集中的可逆矩阵;p和q为所述两个1024比特的素数;t1和t2均与p互素,且t1和t2均与q互素;gi表示所述非交换单群中的第i个群元素;υ(gi)表示所述非交换单群到群环的映射,其中,υ(gi)的第i个分量为1,其余分量为0;分别表示所述群环中任意三个群环元素,且随机取自所述群环;n表示所述非交换单群中的群元素的个数,n表示所述p和q之积;

同态加密模块,用于获取任意两个待加密数据,利用第一预设函数和所述非交换单群对所述任意两个待加密数据进行同态加密,生成所述任意两个待加密数据对应的初始密文;

同态合成模块,用于利用第二预设函数和所述第一同态操作密钥、所述第二同态操作密钥和所述第三同态操作密钥对所述任意两个待加密数据对应的初始密文进行同态合成,生成最终密文。

优选地,所述第二生成模块,具体用于:

将所述非交换单群的二阶元代入所述第一预设函数,生成第一同态操作密钥;

将所述非交换单群中的任意两个元素分别代入所述第一预设函数,分别生成第二同态操作密钥和第三同态操作密钥。

优选地,所述第二预设函数为:

式中,cx和cy为所述任意两个待加密数据对应的初始密文;k1、k2和k3分别表示所述第一同态操作密钥、第二同态操作密钥和第三同态操作密钥。

优选地,所述基于非交换单群的私钥无噪声全同态数据处理装置还包括:

第三生成模块,用于利用所述群环生成对称密钥,所述对称密钥为加密者和解密者同时持有的用于解密密文的密钥,所述利用所述群环生成对称密钥,具体包括:从所述群环所组成的群环矩阵集中随机选取可逆矩阵,将所述可逆矩阵及所述两个不小于1024比特的素数p和q组成所述对称密钥。

本发明实施例提供的一种基于非交换单群的私钥无噪声全同态数据处理方法及装置,通过第一预设函数和非交换单群生成初始密文及三个同态操作密钥,并通过第二预设函数和三个同态操作密钥对任意两个待加密数据对应的初始密文进行同态合成操作,并生成最终密文,能够使合成后的最终密文的形式与直接加密一个消息所得到的初始密文形式一致,因此不会产生噪声,能够有效消除全同态加密过程中的噪声干扰。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例的基于非交换单群的私钥无噪声全同态数据处理方法的一种流程示意图;

图2为本发明实施例的基于非交换单群的私钥无噪声全同态数据处理装置的一种结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

方法实施例

本发明实施例提供的基于非交换单群的私钥无噪声全同态数据处理方法的一种具体实施例,参考图1,图1为本发明实施例的基于非交换单群的私钥无噪声全同态数据处理方法的一种流程示意图,包括:

s101、获取并利用整数环和非交换单群生成对应的群环,其中,整数环由两个不小于1024比特的素数构造而成,非交换单群中包含有多个群元素。

本申请实施例中,群环是由整数环和非交换单群组合而成的。具体地,例如,给出素数p和q,即可以构造整数环zn,其中,n表示整数环中元素的个数,并且n=p·q,可选地,p和q均为不小于1024比特的素数,以方便计算机的编程软件编写命令;再给出非交换单群a5={gi:i=1,…,60}(该非交换单群中含有60个群元素),构造与整数环和非交换单群对应的群环,表示为zn[a5];同时,还可以利用群环元素构造矩阵,构造出来的矩阵叫做群环矩阵,该群环矩阵中的元素都是群环中的元素,并通过群环矩阵集合构成群环矩阵集,表示为m2(zn[a5]),其中角标2表示该矩阵集的阶是2。

s102、利用第一预设函数和非交换单群,生成同态操作密钥,其中,同态操作密钥包括:第一同态操作密钥、第二同态操作密钥和第三同态操作密钥,其中第一预设函数为:

第一预设函数中,h表示群环矩阵集中的可逆矩阵;p和q为两个不小于1024比特的素数;t1和t2均与p互素,且t1和t2均与q互素;gi表示非交换单群中的第i个群元素;υ(gi)表示非交换单群到群环的映射,其中,υ(gi)的第i个分量为1,其余分量为0;分别表示群环中任意三个群环元素,且随机取自群环;n表示p和q之积。

以上文所述的非交换单群a5={gi:i=1,…,60}中所含的60个元素(表示为g)举例说明,函数例如具体可以为v(g)=(0,…,0,1,0,…,0),其中映射υ的定义域是非交换群a5,映射的像(0,…,0,1,0,…,0)是一个60维向量,向量维数恰好等于非交换群a5的基数;同时,g∈a5泛指群元素,使用人可以根据自己的需要对a5中的60个元素进行排序,假设g对应的序号是i,那么该向量(0,…,0,1,0,…,0)中数字1就落在第i个分量上。

本申请实施例中,同态操作密钥用于给第三方使用,用于对密文进行诸如加法或乘法的同态变化。例如,客户甲需通过云数据供应商向客户乙传输一份密文,作为该密文的上传者和下载者,均不希望云数据供应商知道该密文,所以云数据供应商对于上传者和下载者来说是第三方。这时,甲可以向云数据供应商提供同态操作密钥对该密文进行同态操作,虽然云数据供应商不知道该密文具体内容,但仍可以对密文进行同态变化,仍能保证同态操作后的密文能够被客户乙解密。因此,使用同态操作密钥可以提高密文的安全性。

可选地,利用第一预设函数和非交换单群会生成三个同态操作密钥,这三个同态操作密钥分别为第一同态操作密钥、第二同态操作密钥和第三同态操作密钥。使用这三个同态操作密钥能够提高密文的安全性。具体地,可以将非交换单群的二阶元代入第一预设函数,生成第一同态操作密钥,表示为k1=f(x)。其中x是非交换单群a5的任意一个二阶元,a5在数学中称为5次交错群或者5次交代群,具有明确的含义。二阶元x例如具体可以表示为x=(12)(34)。当在非交换单群a5选取二阶元x后,利用以下等式可以求出非交互单群中的任意两个元素,分别记为gi和hi,该等式为:

其中,

上述等式为一个求积等式,已知x,便可以根据等式求出相应的k、gi和hi,其中k表示一个整数。当然,根据该等式求得的k、gi和hi并不是唯一的,只要它们满足等式的关系即可。假设求得的gi和hi分别为g1和h1,那么,将g1代入第一预设函数,可以生成第二同态操作密钥,表示为k2=φ(g1),其中g1具体可以表示为g1=(acb),这里(acb)并不是表示具体数字,而是指一个轮换函数,表达的含义为a的像是c,c的像是b,b的像是a;基于与生成第二公钥相同的原理,可以生成第三公钥,表示为k3=φγ(h1)。

s103、获取任意两个待加密数据,利用第一预设函数和非交换单群对任意两个待加密数据进行同态加密,生成任意两个待加密数据对应的初始密文。

一般地,待加密数据为二进制数据,利用第一预设函数和非交换单群对待加密数据进行同态加密处理,即本申请对待加密数据的同态加密过程,从而生成与待加密数据对应的初始密文。具体地,例如,获取某一待加密数据m∈{0,1},可以首先对该待加密数据进行编码,将待加密数据中的0位对应为非交换单群中的一个单位元,表示为e,将待加密数据中的1位对应为x,其中x是非交换单群a5中的任意二阶元,已在上文中说明,然后分别将e和x代入第一预设函数,得到对应的密文,整体便组成了初始密文,该初始密文可以表示为

本申请实施例中获取任意两个待加密数据并生成任意两个待加密数据对应的初始密文,并不是对待加密数据数量的限定,可选地,也可以先获取一个待加密数据并生成初始密文,然后再获取一个待加密数据并生成初始密文,甚至获取任意多的待加密数据并生成对应的初始密文。

s104、利用第二预设函数和第一同态操作密钥、第二同态操作密钥和第三同态操作密钥对任意两个待加密数据对应的初始密文进行同态合成,生成最终密文。

如前文所述,初始密文可能是密文上传者制作好的用于上传的密文,为了保证安全性,通过第二预设函数对两个待加密数据对应的初始密文进行同态合成。同态合成,是指利用第三预设函数对两个待加密数据对应的初始密文进行合成,并生成新的密文的过程,具体地,第二预设函数为:

式中,cx和cy为任意两个待加密数据对应的初始密文;k1、k2和k3分别表示第一同态操作密钥、第二同态操作密钥和第三同态操作密钥。本申请实施例利用第二预设函数对任意两个初始密文再次进行同态合成,并且该加密过程所合成的密文是无噪声的,主要原因是合成密文保持新鲜密文的结构不变性。也就是说,合成的密文的形式与直接加密一个消息所得到的初始密文形式一致,即合成操作中没有引入无法抵消的新变量。

生成最终密文后,需要通过对称密钥解密该密文。对称密钥为加密者和解密者同时持有的用于解密密文的密钥,例如前文所述,可以是密文上传者和下载者所持有的密钥。可选地,本申请利用群环生成对称密钥,生成对称密钥的过程可以为:从群环所组成的群环矩阵集中随机选取一个可逆矩阵,将可逆矩阵及两个不小于1024比特的素数组成对称密钥,具体可以表示为:k=(p,q,h),即表示对称密钥k由可逆矩阵及两个不小于1024比特的素数组成;

解密阶段可以为:定义函数f使得f(e)=0,f(x)=1,则利用对称密钥对最终密文进行解密操作并输出消息,具体可以表示为:

m=f(υ-1(p·(h-1c·h)11))

其中,m表示解密后的密文,令当向量的第1个分量不为0时,当向量的第1个分量等于0时,本申请实施例中,一个群环元素可以被表示成一个向量,向量的维数等于非交换群的基数。h-1c·h是一个2阶群环矩阵,(h-1c·h)11表示矩阵h-1c·h的左上角(即该矩阵第一行第一列)位置的元素,该元素实际为一个群环元素,可以理解,群环元素(h-1c·h)11乘以p,由于p是数字,因此乘积仍然是一个群环元素,即p·(h-1c·h)11仍然是一个群环元素,由此,可以将p·(h-1c·h)11这个整体记为向量

本发明方法实施例的基于非交换单群的私钥无噪声全同态数据处理方法,应用于同态加密电路、以及同态加密多层电路中。

本发明方法实施例,通过第一预设函数和非交换单群生成初始密文及三个同态操作密钥,并通过第二预设函数和三个同态操作密钥对任意两个待加密数据对应的初始密文进行同态合成操作,并生成最终密文,能够使合成后的最终密文的形式与直接加密一个消息所得到的初始密文形式一致,同态变化操作中没有引入无法抵消的新变量,因此无需降噪处理,能够有效消除全同态加密过程中的噪声干扰。

装置实施例

本发明实施例提供的基于非交换单群的私钥无噪声全同态数据处理装置的一种具体实施例,与图1所示流程相对应,参考图2,图2为本发明实施例的基于非交换单群的私钥无噪声全同态数据处理装置的一种结构示意图,包括:

第一生成模块201,用于获取并利用整数环和非交换单群生成对应的群环,整数环由两个不小于1024比特的素数构造而成,非交换单群中包含有多个群元素。

第二生成模块202,用于利用第一预设函数和非交换单群,生成同态操作密钥,其中,同态操作密钥包括:第一同态操作密钥、第二同态操作密钥和第三同态操作密钥,

第一预设函数为:

其中,h表示群环矩阵集中的可逆矩阵;p和q为两个1024比特的素数;t1和t2均与p互素,且t1和t2均与q互素;gi表示非交换单群中的第i个群元素;υ(gi)表示非交换单群到群环的映射,其中,υ(gi)的第i个分量为1,其余分量为0;分别表示群环中任意三个群环元素,且随机取自群环;n表示p和q之积。

同态加密模块203,用于获取任意两个待加密数据,利用第一预设函数和非交换单群对任意两个待加密数据进行同态加密,生成任意两个待加密数据对应的初始密文。

同态合成模块204,用于利用第二预设函数和第一同态操作密钥、第二同态操作密钥和第三同态操作密钥对任意两个待加密数据对应的初始密文进行同态合成,生成最终密文。

其中,第二生成模块202,具体用于:将非交换单群的二阶元代入第一预设函数,生成第一同态操作密钥;

将非交换单群中的任意两个元素分别代入第一预设函数,分别生成第二同态操作密钥和第三同态操作密钥。

第二预设函数为:

式中,cx和cy为任意两个待加密数据对应的初始密文;k1、k2和k3分别表示第一同态操作密钥、第二同态操作密钥和第三同态操作密钥。第二预设函数的功能是对的两个待加密数据对应的初始密文进行同态合成。

本申请基于非交换单群的私钥无噪声全同态数据处理装置还包括:

第三生成模块205,用于利用群环生成对称密钥,对称密钥为加密者和解密者同时持有的用于解密密文的密钥,其中,第三生成模块205具体用于:从群环所组成的群环矩阵集中随机选取可逆矩阵,将可逆矩阵及两个1024比特的素数组成对称密钥。

解密模块206,用于利用对称密钥对最终密文进行解密操作。

本发明装置实施例一提供的基于非交换单群的私钥无噪声全同态数据处理装置用于实现本发明方法实施例一提供的基于非交换单群的私钥无噪声全同态数据处理方法的数据处理,其实现原理和技术效果类似,此处不再赘述。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1