本发明涉及信息安全技术领域,特别是涉及一种基于非交换代数结构的乘法同态映射构造方法及装置。
背景技术:
目前,信息化技术的迅速发展和数据量的爆炸式增长,使得同态映射技术得到了越来越广泛的应用。
在现有的同态映射中,对于集合a到
但是,现有的同态映射的过程仅仅是直接计算一个集合到另一个集合的同态映射,不仅同态性不高,而且缺少使得映射过程容易受到选择明文攻击,最终导致同态映射的单向过程不安全。
技术实现要素:
本发明实施例的目的在于提供构造一种基于非交换代数结构的乘法同态映射构造方法及装置,提高同态映射的单向安全性和同态性。具体技术方案如下:
本发明实施例公开了一种基于非交换代数结构的乘法同态映射构造方法,所述方法包括:
构造所述非交换代数结构中的非交换群到群环的映射;
获取所述群环的环上为素数的幂零元素,和与所述幂零元素互素的元素;
根据所述幂零元素、所述映射及与所述幂零元素互素的元素,对所述非交换群对应的元素进行编码,得到编码结果;
根据所述编码结果和所述非交换群中的元素构造所述群环三角矩阵;
根据所述群环元素构造可逆群环矩阵,并根据所述可逆群环矩阵和所述群环三角矩阵构造所述非交换群到所述群环矩阵的乘法同态映射,其中,所述同态映射为
其中
或者
其中,
可选的,所述构造所述非交换代数结构中的非交换群到群环的映射,包括:
根据公式
v(gi)=(0,…,0,1,0,…,0)∈zn[g]
构造所述非交换群到所述群环的映射,其中,gi表示所述非交换群的元素,v(gi)表示第i个分量为1,其余分量为0的所述非交换群到所述群环的映射,zn[g]表示群为g的群环,n表示所述群环的环的个数,g表示所述非交换群。
可选的,所述根据所述幂零元素、所述映射及与所述幂零元素互素的元素,对所述非交换群对应的元素进行编码,得到编码结果,包括:
根据公式
对所述非交换群的元素进行编码,其中,a表示所述非交换群的元素的编码结果,p和q表示所述幂零元素,且p和q表示两个不相等的素数,t1和t2表示与所述幂零元素互素的元素,gi表示所述非交换群的元素,v(gi)表示第i个分量为1,其余分量为0的所述非交换群到所述群环的映射,
可选的,所述根据所述编码结果和所述非交换群中的元素构造群环三角矩阵,包括:
将所述编码结果作为全零矩阵对角的第一位置的元素;
获取所述非交换群中的元素,将所述非交换群中的元素作为所述全零矩阵的上三角或者下三角除所述第一位置的其他位置的元素,得到所述群环三角矩阵。
可选的,所述根据所述群环元素构造可逆群环矩阵,包括:
根据所述群环元素构造第一三角矩阵和第二三角矩阵;
分别计算所述第一三角矩阵和所述第二三角矩阵的可逆矩阵;
根据所述第一三角矩阵的可逆矩阵和所述第二三角矩阵的可逆矩,得到所述可逆群环矩阵。
本发明实施例公开了一种基于非交换代数结构的乘法同态映射构造装置,所述装置包括:
第一构造模块,用于构造所述非交换代数结构中的非交换群到群环的映射;
获取模块,用于获取所述群环的环上为素数的幂零元素,和与所述幂零元素互素的元素;
编码模块,用于根据所述幂零元素、所述映射及与所述幂零元素互素的元素,对所述非交换群对应的元素进行编码,得到编码结果;
第二构造模块,用于根据所述编码结果和所述非交换群中的元素构造所述群环三角矩阵;
第三构造模块,用于根据所述群环元素构造可逆群环矩阵,并根据所述可逆群环矩阵和所述群环三角矩阵构造所述非交换群到所述群环矩阵的乘法同态映射,其中,所述乘法同态映射为
其中
或者
其中,
可选的,所述第一构造模块,包括:
第一构造子模块,用于根据公式
v(gi)=(0,…,0,1,0,…,0)∈zn[g]
构造所述非交换群到所述群环的映射,其中,gi表示所述非交换群的元素,v(gi)表示第i个分量为1,其余分量为0的所述非交换群到所述群环的映射,zn[g]表示群为g的群环,n表示所述群环的环的个数,g表示所述非交换群。
可选的,所述编码模块,包括:
编码子模块,用于根据公式
对所述非交换群的元素进行编码,其中,a表示所述非交换群的元素的编码结果,p和q表示所述幂零元素,且p和q表示两个不相等的素数,t1和t2表示与所述幂零元素互素的元素,gi表示所述非交换群的元素,v(gi)表示第i个分量为1,其余分量为0的所述非交换群到所述群环的映射,
可选的,所述第二构造模块,包括:
第一处理子模块,用于将所述编码结果作为全零矩阵对角的第一位置的元素;
第二处理子模块,用于获取所述非交换群中的元素,将所述非交换群中的元素作为所述全零矩阵的上三角或者下三角除所述第一位置的其他位置的元素,得到所述群环三角矩阵。
可选的,所述第三构造模块,包括:
第二构造子模块,用于根据所述群环元素构造第一三角矩阵和第二三角矩阵;
计算子模块,用于分别计算所述第一三角矩阵和所述第二三角矩阵的可逆矩阵;
第三处理子模块,用于根据所述第一三角矩阵的可逆矩阵和所述第二三角矩阵的可逆矩,得到所述可逆群环矩阵。
本发明实施例提供的一种基于非交换代数结构的乘法同态映射构造方法及装置,先通过构造所述非交换代数结构中的非交换群到群环的映射;获取所述群环的环上为素数的幂零元素,和与所述幂零元素互素的元素;然后根据所述幂零元素、所述映射及与所述幂零元素互素的元素,对所述非交换群对应的元素进行编码,得到编码结果;再根据所述编码结果和所述非交换群中的元素构造群环三角矩阵;最后根据所述群环元素构造可逆群环矩阵,并根据所述可逆群环矩阵和所述群环三角矩阵构造所述非交换群到所述群环矩阵的乘法同态映射。在最终的乘法同态映射中,当n越大,计算越复杂,群环三角矩阵不容易被分解,且所构造的同态映射中的可逆群环矩阵h和h-1,对所构造群环三角矩阵起到保护作用,使得群环三角矩阵不易被发现,进而极大地提高了攻击者分解难度,从而提高了同态映射的单向安全性,同时通过非交换群到群环的映射、编码结果构造群环三角矩阵的多次同态,提高了同态映射的同态性。当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种基于非交换代数结构的乘法同态映射构造方法的流程示意图;
图2为本发明实施例提供的一种基于非交换代数结构的乘法同态映射构造装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明方法实施例的一种基于非交换代数结构的乘法同态映射构造方法,应用于同态加密电路、以及同态加密多层电路中。
参见图1,图1为本发明实施例提供的一种基于非交换代数结构的乘法同态映射构造方法的流程示意图,包括如下步骤:
s101,构造非交换代数结构中的非交换群到群环的映射;
具体的,非交换代数结构不仅仅可以用来构造密码,而且可以构造无噪声同态加密方法,非交换代数结构中包括非交换群,本发明先通过引入一种群环嵌入技术,将一个非交换代数结构中的非交换群嵌入到群环结构中,得到非交换群到群环的映射,这是本发明所构造的同态映射中的第一个子同态映射。
s102,获取群环的环上为素数的幂零元素,和与幂零元素互素的元素;
具体的,获取群环的环上为素数的幂零元素,该幂零元素的大小都是1024比特,且幂零元素的模运算的余数为零,由于在密码学中,如果每次的映射结果都固定,攻击者就能通过反解方程组的办法,攻破一个体制,因此环上为素数的幂零元素是随机获取的,使得攻击者不易解密。另外,在环上随机选取与幂零元素互素的元素,该元素是先随机选取的,然后判断该元素与所选取的幂零元素是否互素,如果不互素,则重新选,一般情况下,一次就能选好,互素能保证同态映射的像,在相乘时,所得结果的中间矩阵的左上角元素不等于零,即任意两个同态映射的像相乘后乘积的格式保持不变。
s103,根据幂零元素、映射及与幂零元素互素的元素,对非交换群对应的元素进行编码,得到编码结果;
具体的,根据幂零元素、第一映射及与幂零元素互素的元素,对非交换群对应的元素进行编码,编码的目的是为了对非交换群到群环进行二次同态映射,这也是本发明所构造的同态映射中的第二个子同态映射,编码结果用于构造同态映射中的群环三角矩阵,使得最终构造的同态映射更不易被分解。
s104,根据编码结果和非交换群中的元素构造群环三角矩阵;
具体的,在本方案中为了保证任意两个同态映射的像相乘后的乘积的格式保持不变,选择群环三角矩阵来构造同态映射,在该群环三角矩阵中除了通过幂零元素、映射及与幂零元素互素的元素,对非交换群对应的元素进行编码所得到的编码结果之外,还包括非交换群中的元素,这里非交换群中的元素也是随机选取的,保证了同态映射的随机性。
s105,根据群环元素构造可逆群环矩阵,并根据可逆群环矩阵和群环三角矩阵构造非交换群到群环矩阵的乘法同态映射,其中,乘法同态映射为
其中
或者
其中,
具体的,可逆群环矩阵和群环三角矩阵用以构造无噪声的同态映射方法。通过随机选取群环元素来构造可逆群环矩阵,这里,之所以构造可逆群环矩阵,是因为可逆群环矩阵可以对群环三角矩阵进行共轭运算,得到最终的同态映射。
当群环三角矩阵为二阶矩阵时,即
通过可逆群环矩阵,对群环三角矩阵进行共轭运算,并将共轭运算的结果作为非交换群到群环矩阵的乘法同态映射,即
或者
则
当三角矩阵为三阶矩阵时,即
通过可逆群环矩阵,对群环三角矩阵进行共轭运算,并将共轭运算的结果作为非交换群到群环矩阵的乘法同态映射,即
或者
则
另外,模运算的除数n为blum大整数时,在同态映射中对其进行取余运算,使得非交换代数结构不容易被分解。即在所构造的同态映射中,将n作为mod运算的除数,当n越大,计算越复杂,群环三角矩阵越不容易被分解,又由于n是两个不同素数的乘积,使得计算更复杂,也就更不容易被分解。因此,通过n和可逆群环矩阵共同来提高同态映射的单向安全性。可逆群环矩阵是对本发明所构造的非交换群到群环矩阵的乘法同态映射起到保护作用,使得同态映射不容易被分解。因此,通过构造的同态映射中的n和可逆群环矩阵,极大的提高了同态映射的单向安全性。
本发明实施例所构造的同态映射满足乘法同态运算,任意两个同态映射的像相乘后乘积的格式保持不变。
需要说明的是,本发明实施例所构造的同态映射并不是唯一确定的,是根据三角矩阵的阶数来确定的。对于满足所有构造同态映射条件的,均属于本发明实施例的保护范围,在此不一一举例。
由此可见,本发明实施例提供的一种基于非交换代数结构的乘法同态映射构造方法,先通过构造非交换代数结构中的非交换群到群环的映射;获取群环的环上为素数的幂零元素,和与幂零元素互素的元素;然后根据幂零元素、映射及与幂零元素互素的元素,对非交换群对应的元素进行编码,得到编码结果;再根据编码结果和非交换群中的元素构造群环三角矩阵;最后根据群环元素构造可逆群环矩阵,并根据可逆群环矩阵和群环三角矩阵构造非交换群到群环矩阵的乘法同态映射。在最终的乘法同态映射中,当n越大,计算越复杂,群环三角矩阵不容易被分解,且所构造的同态映射中的可逆群环矩阵h和h-1,对所构造群环三角矩阵起到保护作用,使得群环三角矩阵不易被发现,进而极大地提高了攻击者分解难度,从而提高了同态映射的单向安全性,同时通过非交换群到群环的映射、编码结果构造群环三角矩阵的多次同态,提高了同态映射的同态性。
在本发明一个可选的实施例中,构造非交换代数结构中的非交换群到群环的映射,包括:
根据公式
v(gi)=(0,…,0,1,0,…,0)∈zn[g]
构造非交换群到群环的映射,其中,gi表示非交换群的元素,v(gi)表示第i个分量为1,其余分量为0的非交换群到群环的映射,zn[g]表示群为g的群环,n表示群环的环的个数,g表示非交换群。这里,g{gi:i=1,…,|g|},|g|表示群g的基数,n=p·q,
在本发明一个可选的实施例中,根据幂零元素、映射及与幂零元素互素的元素,对非交换群对应的元素进行编码,得到编码结果,包括:
根据公式
对非交换群的元素进行编码,其中,a表示非交换群的元素的编码结果,p和q表示幂零元素,且p和q表示两个不相等的素数,t1和t2表示与幂零元素互素的元素,gi表示非交换群的元素,v(gi)表示第i个分量为1,其余分量为0的非交换群到群环的映射,
具体的,根据幂零元素、第一映射及与幂零元素互素的元素,对非交换群对应的元素进行编码,编码的目的是为了对非交换群到群环进行二次同态映射,这也是本发明所构造的同态映射中的第二个子同态映射,编码结果用于构造同态映射中的三角矩阵,使得最终构造的同态映射更不易被分解。
在本发明一个可选的实施例中,根据编码结果和非交换群中的元素构造群环三角矩阵,包括:
将编码结果作为全零矩阵对角的第一位置的元素;
获取非交换群中的元素,将非交换群中的元素作为全零矩阵的上三角或者下三角除第一位置的其他位置的元素,得到群环三角矩阵。
具体的,根据编码结果和非交换群中的元素构造群环三角矩阵,对于不同阶数的矩阵其构造的方法相同。其中所构造群环三角矩阵为:
或者
例如,对于二阶矩阵,先构造一个非交换群g到群环zn[g]的嵌入映射v,随机选取群环中的元素
又例如,对于三阶矩阵,先构造一个非交换群g到群环zn[g]的嵌入映射v,随机选取群环中的元素
需要说明的是,本发明实施例所构造群环矩阵的阶数并不是唯一确定的,例如还可以为四阶矩阵或者四阶以上的矩阵。对于满足所有构造条件的,均属于本发明实施例的保护范围,在此不一一举例。在本发明一个可选的实施例中,根据群环元素构造可逆群环矩阵,包括:
根据群环元素构造第一三角矩阵和第二三角矩阵;
分别计算第一三角矩阵和第二三角矩阵的可逆矩阵;
根据第一三角矩阵的可逆矩阵和第二三角矩阵的可逆矩,得到可逆群环矩阵。
具体的,可逆群环矩阵的阶数与群环三角矩阵的阶数相同。
例如,当所构造的群环三角矩阵是二阶时,先从群环中随机选取6个元素:a1、a2、a3、a4、b1、b2,其中要求a1、a2、a3、a4可逆,然后构造第一三角矩阵a和第二三角矩阵b,如公式:
再计算第一三角矩阵的可逆矩阵a-1和第二三角矩阵的可逆矩阵b-1,得到如下公式:
最后,再分别根据第一三角矩阵和第二三角矩阵的乘积、第一三角矩阵的可逆矩阵和第二三角矩阵的可逆矩阵的乘积计算可逆群环矩阵,即
h=ab
h-1=b-1a-1
又例如,当所构造的三角矩阵是三阶时,先从群环中随机选取6个元素:a1、a2、a3、a4、a5、a6、b1、b2、b3、b4、b5、b6、,其中要求a1、a2、a3、a4、a5、a6可逆,然后构造第一三角矩阵a和第二三角矩阵b,如公式:
再计算第一三角矩阵的可逆矩阵a-1和第二三角矩阵的可逆矩阵b-1,得到如下公式:
最后,再分别根据第一三角矩阵和第二三角矩阵的乘积、第一三角矩阵的可逆矩阵和第二三角矩阵的可逆矩阵的乘积计算可逆群环矩阵,即
h=ab
h-1=b-1a-1
这里,通过群环三角矩阵中对角位置的群环元素的可逆性,保证计算的结果的格式不变,另外,从群环中随机选取元素,使得所构造的可逆群环矩阵更具有随机性,更不易被攻击。需要说明的是,本发明实施例所构造的可逆群环矩阵的阶数并不是唯一确定的,例如还可以为四阶矩阵或者四阶以上的矩阵。对于满足所有构造条件的,均属于本发明实施例的保护范围,在此不一一举例。
本发明构造的单向安全同态映射实际上可以看成一种有数据扩张的同态哈希函数,保证了隐私数据在云计算中的安全可靠性,其中,同态哈希函数仅用于混淆一个消息,使得正向计算比较容易,而反向计算不需要考虑。
参见图2,图2为本发明实施例提供的一种基于非交换代数结构的乘法同态映射构造装置的结构示意图,包括如下模块:
第一构造模块201,用于构造非交换代数结构中的非交换群到群环的映射;
获取模块202,用于获取群环的环上为素数的幂零元素,和与幂零元素互素的元素;
编码模块203,用于根据幂零元素、映射及与幂零元素互素的元素,对非交换群对应的元素进行编码,得到编码结果;
第二构造模块204,用于根据编码结果和非交换群中的元素构造群环三角矩阵;
第三构造模块205,用于根据群环元素构造可逆群环矩阵,并根据可逆群环矩阵和群环三角矩阵构造非交换群到群环矩阵的乘法同态映射,其中,同态映射为
其中
或者
其中,
进一步的,第一构造模块201,包括:
第一构造子模块,用于根据公式
v(gi)=(0,…,0,1,0,…,0)∈zn[g]
构造非交换群到群环的映射,其中,gi表示非交换群的元素,v(gi)表示第i个分量为1,其余分量为0的非交换群到群环的映射,zn[g]表示群为g的群环,n表示群环的环的个数,g表示非交换群。
进一步的,编码模块203,包括:
编码子模块,用于根据公式
对非交换群的元素进行编码,其中,a表示非交换群的元素的编码结果,p和q表示幂零元素,且p和q表示两个不相等的素数,t1和t2表示与幂零元素互素的元素,gi表示非交换群的元素,v(gi)表示第i个分量为1,其余分量为0的非交换群到群环的映射,
进一步的,第二构造模块204,包括:
第一处理子模块,用于将编码结果作为全零矩阵对角的第一位置的元素;
第二处理子模块,用于获取非交换群中的元素,将非交换群中的元素作为全零矩阵的上三角或者下三角除第一位置的其他位置的元素,得到群环三角矩阵。
进一步的,第三构造模块205,包括:
第二构造子模块,用于根据群环元素构造第一三角矩阵和第二三角矩阵;
计算子模块,用于分别计算第一三角矩阵和第二三角矩阵的可逆矩阵;
第三处理子模块,用于根据第一三角矩阵的可逆矩阵和第二三角矩阵的可逆矩,得到可逆群环矩阵。
由此可见,本发明实施例提供的一种基于非交换代数结构的乘法同态映射构造装置,先通过第一构造模块构造非交换代数结构中的非交换群到群环的映射;然后通过获取模块获取群环的环上为素数的幂零元素,和与幂零元素互素的元素;在编码模块中根据幂零元素、映射及与幂零元素互素的元素,对非交换群对应的元素进行编码,得到编码结果;在第二构造模块中根据编码结果和非交换群中的元素构造群环三角矩阵;最后在第三构造模块中根据群环元素构造可逆群环矩阵,并根据可逆群环矩阵和群环三角矩阵构造非交换群到群环矩阵的乘法同态映射。在最终的乘法同态映射中,当n越大,计算越复杂,群环三角矩阵不容易被分解,且所构造的同态映射中的可逆群环矩阵h和h-1,对所构造群环三角矩阵起到保护作用,使得群环三角矩阵不易被发现,进而极大地提高了攻击者分解难度,从而提高了同态映射的单向安全性,同时通过非交换群到群环的映射、编码结果构造群环三角矩阵的多次同态,提高了同态映射的同态性。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。