一种支持整数运算的同态加密方法、系统及存储介质与流程

未命名 09-07 阅读:98 评论:0


1.本发明涉及信息安全技术领域,更具体的说是涉及一种支持整数运算的同态加密方法、系统及存储介质。


背景技术:

2.在当今数字化时代,数据融合和数据共享成为了推动创新和发展的关键要素。数据融合和数据共享旨在将来自不同来源和部门的数据集合起来,以获得更全面、准确的信息,从而支持决策制定、研究和创新等领域。然而,传统的数据共享方法往往涉及数据解密和集中存储,这会导致潜在的数据泄露和隐私侵犯的风险。随着数据隐私和安全性的日益重要,保护敏感数据的隐私成为了一个迫切的需求。
3.现有的基于椭圆曲线的加密方案不支持大整数的同态操作,适用性差,无法满足云计算环境实际应用的需求。


技术实现要素:

4.有鉴于此,本发明提供至少解决上述部分技术问题的一种支持整数运算的同态加密方法、系统及存储介质,该方法易于实现,安全性高,支持大整数加法同态操作,适用于各类安全环境,便于在数据融合情形中对隐私数据进行保护和计算,有助于避免潜在的数据泄露和隐私侵犯的风险。
5.为实现上述目的,本发明采取的技术方案为:
6.第一方面,本发明提供一种支持整数运算的同态加密方法,该方法包括:
7.加密参数生成:选取一个阶数为q,生成元为g的循环群g,选取所需进制b,建立整数和循环群g之间的映射关系,并存储为一个速查表;
8.s2、密钥生成:随机选取x∈zq={0,1,

,q-1},并计算h=g
x
∈g,其中x作为私钥,(g,q,g,h)作为公钥;zq代表明文域,h代表实际使用的公钥,即使用s1中的映射关系将x作为输入得到的群元素;
9.s3、信息加密:将信息按b进制进行分解,每一位得到一个相应的数字,将对应位置的数字按照速查表映射到群元素,对每一个群元素进行加密,所有进位上的数字加密得到的密文组合为对应信息的密文;
10.s4、同态计算:对于两个密文,进行同态加法计算得到密文结果。
11.进一步地,该方法还包括:
12.s5、密文解密:将每一位的密文各自进行解密计算,根据速查表将各个位置的解密结果按照各自的位置乘以相应进制的幂次并相加,得到的和即为最终的解密结果。
13.进一步地,所述步骤s1中、选取所需的进制b,满足根据映射f:zq→
g,其中,f(0)=e,f(1)=g,e是循环群g中的单位元,计算所需速查表,速查表中包含了映射f像和原像组成的配对。
14.进一步地,所述步骤s3中,加密过程为:
15.随机选取r∈zq,并计算c=gr;计算d=p
·hr
,(c,d)即为p的密文;
16.其中,r代表加入噪声的明文信息,c代表加入噪声的密文信息,d代表包含需要保密信息的密文部分,p代表整数编码成的群元素,h代表实际使用的公钥。
17.进一步地,所述步骤s4中,同态计算具体为:
18.对于两个密文c0,c1,它们分别由n0,n1个单次加密得到的密文组成,令n0≤n1,依次计算1≤i≤n0;n0《i≤n1;得到计算后的密文结果为
19.其中,i是密文对应的整数按位分解之后位置标识,n代表整数信息进行进制分解后的长度。
20.进一步地,所述步骤s5中,密文解密具体为:
21.对于密文计算计算1≤i≤nj;
22.通过速查表计算对应的信息1≤i≤nj;
23.计算得到
24.其中,j为用来区别不同密文的密文标识,i是密文对应的整数按位分解之后位置标识,mj代表整数信息,进制分解为代表编码得到的群元素。
25.第二方面,本发明还提供一种支持整数运算的同态加密系统,应用于上述的一种支持整数运算的同态加密方法,实现数据融合情形中对隐私数据进行保护和计算;该系统包括:加密参数生成模块、密钥生成模块、信息加密模块和同态计算模块,其中:
26.加密参数生成模块,用于选取一个阶数为q,生成元为g的循环群g,选取所需进制b,建立整数和循环群g之间的映射关系,并存储为一个速查表;
27.密钥生成模块,用于随机选取x∈zq={0,1,

,q-1},并计算h=g
x
∈g,其中x作为私钥,(g,q,g,h)作为公钥;zq代表明文域,h代表实际使用的公钥;
28.信息加密模块,用于将信息按b进制进行分解,每一位得到一个相应的数字,将对应位置的数字按照速查表映射到群元素,对每一个群元素进行加密,所有进位上的数字加密得到的密文组合为对应信息的密文;
29.同态计算模块,用于进行同态加法计算得到密文结果。
30.进一步地,该系统还包括:密文解密模块,用于将每一位的密文各自进行解密计算,根据速查表将各个位置的解密结果按照各自的位置乘以相应进制的幂次并相加,得到的和即为最终的解密结果。
31.第三方面,本发明还提供一种存储介质,其上存储有计算设备可读的一个或多个程序,所述一个或多个程序包括指令,所述指令当由计算设备执行时,使得所述计算设备执行如上述的一种支持整数运算的同态加密方法。
32.与现有技术相比,本发明至少具有如下有益技术效果:
33.本发明公开了的一种支持整数运算的同态加密方法、系统及存储介质,该方法易于实现,安全性高,支持大整数的同态操作,够广泛使用在隐私计算领域,便于在数据融合情形中对隐私数据进行保护和计算,有助于避免潜在的数据泄露和隐私侵犯的风险,提升了数据的安全性。
34.本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变
得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书以及附图中所特别指出的结构来实现和获得。
35.下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
36.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
37.附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。
38.图1为本发明实施例提供的一种支持整数运算的同态加密方法流程示意图。
39.图2为本发明实施例提供的一种支持整数运算的同态加密系统框架示意图。
具体实施方式
40.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
41.下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
42.实施例1:
43.本发明实施例提供了一种支持整数运算的同态加密方法,其大体流程如图1所示,该方法具体包括:
44.s1、加密参数生成:选取一个阶数为q,生成元为g的循环群g,选取所需进制b,建立整数和循环群g之间的映射关系,并存储为一个速查表;
45.s2、密钥生成:随机选取x∈zq={0,1,

,q-1},并计算h=g
x
∈g,其中x作为私钥,(g,q,g,h)作为公钥;zq代表明文域,h代表实际使用的公钥
46.s3、信息加密:将信息按b进制进行分解,每一位得到一个相应的数字,将对应位置的数字按照速查表映射到群元素,对每一个群元素进行加密,所有进位上的数字加密得到的密文组合为对应信息的密文;
47.s4、同态计算:对于两个密文,进行同态加法计算得到密文结果;
48.s5、密文解密:将每一位的密文各自进行解密计算,根据速查表将各个位置的解密结果按照各自的位置乘以相应进制的幂次并相加,得到的和即为最终的解密结果。
49.下面对本发明方法的具体实施方式进行介绍:
50.本发明针对数据融合情形中需要对隐私数据进行保护和计算的安全问题,提出了一种针对数据融合情形的支持整数运算的同态加密方法,其思路是:由于基于循环群中元
素的计算方法与整数计算不一致,所以在对信息进行加密之前,首先将信息编码为群中的元素。因为离散对数问题的困难性,所以在解密得到信息对应的群元素时,难以直接通过群元素计算原始信息,所以需要将信息和群元素的对应关系事先存储起来,这样信息编码和解码时可以直接通过查表得到而无需计算。
51.为了在时间开销和空间开销之间取得一个平衡,同时满足大整数计算的需求,本发明提出了将整数按位分解并将数位分别进行编码加密,在密文上按数位进行计算,解密后则将各个数位的结果进行组合,得到所需计算结果。
52.本发明的原理在于:
53.(1)为了实现大整数的同态加法:选取合适的进位,对信息进行进制分解,将各个进位的数字限制在所需范围内。
54.(2)为了实现数据的编码:将信息和群元素映射构造为一个速查表,可以将信息经过查表得到一个群元素。同时需要保证计算结果处于此速查表内。
55.(3)为了实现安全性:对每个需要加密的信息生成的群元素,通过随机数和密钥生成密文,提供了基于离散对数问题的安全性保障。
56.(4)为了实现同态性:将0映射到循环群的单位元,1映射到循环群的生成元,信息之间的加法对应群元素的运算(此处定义为乘法)为同态运算。
57.(5)为了实现快速解密:因为在编码时将信息映射到群元素上,计算这个映射的逆是困难的,所以通过(2)中事先构造的速查表可以立刻还原信息。
58.本实施例的具体实施方式如下:
59.一、加密参数选取生成过程为:
60.1.选取一个阶数为q,生成元为g的循环群g,循环群g选取时,需要保证群的阶数足够大,确保达到安全等级。群上的运算用
·
表示。对于a∈g,用ak表示对群的元素a进行k-1次累计
·
运算。
61.2.选取进制b,满足为了快速还原群元素为整数,在生成群信息后,建立一个整数信息和群元素的映射,并据此映射构造一个速查表,表的大小决定了加法运算的次数;该映射将0映射到g的单位元,1映射到g的生成元。即根据映射f:zq→
g,其中f(0)=e,f(1)=g,e是循环群g中的单位元,计算所需速查表,速查表中包含了映射f像和原像组成的配对。
62.二、密钥对生成为:
63.随机选取x∈zq={0,1,

,q-1},并计算h=g
x
∈g。其中x作为私钥,(g,q,g,h)作为公钥,h代表实际使用的公钥(对于同一加密算法,重新运行密钥生成算法后,仅有h变化,另外三个参数是固定的),即使用s1中的映射关系将x作为输入得到的群元素。
64.三、信息加密为:
65.1.将信息mj(j用于区分不同的信息)按b进制进行分解,得到:
66.m
ji
∈zq,其中
67.对依次进行加密得到
68.2.对依次进行加密,加密过程为:随机选取并计算将信息通过速查表映射为一个群元素计算
69.即为加密生成的密文。
70.3.将各位密文进行组合,可以得到信息mj加密的密文
71.在本实施例中,加密密文前,事先已生成信息和群元素之间的速查表,此速查表保证解密时可以快速还原信息。速查表的大小除了受到循环群阶数的限制外,也受到选取的进制和需要进行的加法次数影响。其他条件不变的情形下,进制的数字越大,速查表越大;需要进行的加法次数越多,速查表越大。
72.将信息进行加密时,将信息进行进制分解,使得在一个明文域较小的情况下,也可以进行大整数之间的加法计算。
73.四、同态计算为:
74.对于两个密文c0,c1,为了方便,可令n0≤n1;
75.依次计算1≤i≤n0;n0《i≤n1。得到的即为计算后的密文结果(这里加粗的cj表示它是一个向量,该密文向量的每一个分量也是由两部分组成的,所以也用加粗表示)。对于一个密文j用来区别不同密文,是密文的标识;i∈{0,1,

,nj}是密文对应的整数按位分解之后位置标识(如对于十进制而言,i=0代表个位,i=1代表十位),n代表整数信息进行进制分解后的长度。
76.在本实施例中,进行同态加法时,可以对长度不一致的两个密文(即其对应信息按进制分解得到的数字位数不同)进行计算,仅需计算低位对应的密文分量。
77.五、密文解密为:
78.为了解密整个密文,需要将每一位的密文(c,d)各自进行解密。将各个位置的解密结果按照各自的位置乘以相应进制的幂次并相加,得到的和即为解密结果。具体为:
79.1.对于密文计算计算1≤i≤nj。
80.2.通过速查表计算对应的信息1≤i≤nj。
81.3.计算得到mj即为最终的解密结果。
82.由上述实施例的描述本领域技术人员可知,本发明针对数据融合情形需要对隐私数据进行保护和计算,提出了一种支持整数运算的同态加密方法,其思路是通过将整数按进制分解,这样可以将大整数的密文计算问题转化为小整数的计算问题。本发明的一种支持整数运算的同态加密方法,与传统技术相比,其优势在于:
83.(1)本发明支持大整数的同态操作,适用范围广泛。
84.(2)本发明的同态方法中使用群元素的运算对信息进行加噪而非直接按位异或,保持了运算的同态特性。
85.(3)本发明提出的基于离散对数的支持整数运算的同态加密方法,能够广泛使用在隐私计算领域。
86.实施例2:
87.参照图2所示,本发明实施例还提供了一种支持整数运算的同态加密系统,应用于上述实施例1所描述的一种支持整数运算的同态加密方法,实现数据融合情形中对隐私数据进行保护和计算,该系统包括:
88.加密参数生成模块,用于选取一个阶数为q,生成元为g的循环群g,选取所需进制b,建立整数和循环群g之间的映射关系,并存储为一个速查表;
89.密钥生成模块,用于随机选取x∈zq={0,1,

,q-1},并计算h=g
x
∈g,其中x作为私钥,(g,q,g,h)作为公钥;zq代表明文域,h代表实际使用的公钥;
90.信息加密模块,用于将信息按b进制进行分解,每一位得到一个相应的数字,将对应位置的数字按照速查表映射到群元素,对每一个群元素进行加密,所有进位上的数字加密得到的密文组合为对应信息的密文;
91.同态计算模块,用于进行同态加法计算得到密文结果;
92.密文解密模块,用于将每一位的密文各自进行解密计算,根据速查表将各个位置的解密结果按照各自的位置乘以相应进制的幂次并相加,得到的和即为最终的解密结果。
93.本发明实施例所提供的一种支持整数运算的同态加密系统,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,该实施例部分未提及之处,可参考前述方法实施例中相应内容,在此不再赘述。
94.实施例3:
95.本发明实施例还提供一种存储介质,其上存储有计算设备可读的一个或多个程序,一个或多个程序包括指令,指令当由计算设备执行时,使得计算设备执行实施例1中的一种支持整数运算的同态加密方法。
96.这里的计算机可读存储介质的示例包括:只读存储器(rom)、随机存取可编程只读存储器(prom)、电可擦除可编程只读存储器(eeprom)、随机存取存储器(ram)、动态随机存取存储器(dram)、静态随机存取存储器(sram)、闪存、非易失性存储器、cd-rom、dvd-rom、蓝光或光盘存储器、硬盘驱动器(hdd)、固态硬盘(ssd)、卡式存储器(诸如,多媒体卡、安全数字(sd)卡或极速数字(xd)卡)、磁带、软盘、磁光数据存储装置、光学数据存储装置、硬盘、固态盘以及任何其他装置,上述任何其他装置被配置为以非暂时性方式存储计算机程序以及任何相关联的数据、数据文件和数据结构并将所述计算机程序以及任何相关联的数据、数据文件和数据结构提供给处理器或计算机使得处理器或计算机能执行所述计算机程序。上述计算机可读存储介质中的计算机程序可在诸如客户端、主机、代理装置、服务器等计算机设备中部署的环境中运行,此外,在一个示例中,计算机程序以及任何相关联的数据、数据文件和数据结构分布在联网的计算机系统上,使得计算机程序以及任何相关联的数据、数据文件和数据结构通过一个或多个处理器或计算机以分布式方式存储、访问和执行。
97.以上对本发明实施例进行了详细介绍,对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。
98.对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

技术特征:
1.一种支持整数运算的同态加密方法,其特征在于,该方法包括:s1、加密参数生成:选取一个阶数为,生成元为的循环群,选取所需进制,建立整数和循环群之间的映射关系,并存储为一个速查表;s2、密钥生成:随机选取,并计算,其中作为私钥,作为公钥;代表明文域,代表实际使用的公钥,即使用s1中的映射关系将作为输入得到的群元素;s3、信息加密:将信息按进制进行分解,每一位得到一个相应的数字,将对应位置的数字按照速查表映射到群元素,对每一个群元素进行加密,所有进位上的数字加密得到的密文组合为对应信息的密文;s4、同态计算:对于两个密文,进行同态加法计算得到密文结果。2.根据权利要求1所述的一种支持整数运算的同态加密方法,其特征在于,该方法还包括:s5、密文解密:将每一位的密文各自进行解密计算,根据速查表将各个位置的解密结果按照各自的位置乘以相应进制的幂次并相加,得到的和即为最终的解密结果。3.根据权利要求2所述的一种支持整数运算的同态加密方法,其特征在于,所述步骤s1中、选取所需的进制,满足;根据映射,其中,,,是循环群中的单位元,计算所需速查表,速查表中包含了映射像和原像组成的配对。4.根据权利要求3所述的一种支持整数运算的同态加密方法,其特征在于,所述步骤s3中,加密过程为:随机选取,并计算;计算,即为的密文;其中,r代表加入噪声的明文信息,c代表加入噪声的密文信息,d代表包含需要保密信息的密文部分,p代表整数编码成的群元素,h代表实际使用的公钥。5.根据权利要求4所述的一种支持整数运算的同态加密方法,其特征在于,所述步骤s4中,同态计算具体为:对于两个密文,,它们分别由,个单次加密得到的密文组成,令,依次计算,;,;得到计算后的密文结果为;其中,i是密文对应的整数按位分解之后位置标识,n代表整数信息进行进制分解后的长度。6.根据权利要求5所述的一种支持整数运算的同态加密方法,其特征在于,所述步骤s5中,密文解密具体为:对于密文,计算计算,;通过速查表计算对应的信息,;计算得到;其中,j为用来区别不同密文的密文标识,i是密文对应的整数按位分解之后位置标识,代表整数信息,进制分解为,代表编码得到的群元素。
7.一种支持整数运算的同态加密系统,其特征在于,应用时执行如权利要求1-6中任一项所述的一种支持整数运算的同态加密方法,实现数据融合情形中对隐私数据进行保护和计算,该系统包括:加密参数生成模块,用于选取一个阶数为,生成元为的循环群,选取所需进制,建立整数和循环群之间的映射关系,并存储为一个速查表;密钥生成模块,用于随机选取,并计算,其中作为私钥,作为公钥;代表明文域,代表实际使用的公钥;信息加密模块,用于将信息按进制进行分解,每一位得到一个相应的数字,将对应位置的数字按照速查表映射到群元素,对每一个群元素进行加密,所有进位上的数字加密得到的密文组合为对应信息的密文;同态计算模块,用于进行同态加法计算得到密文结果。8.根据权利要求7所述的一种支持整数运算的同态加密系统,其特征在于,该系统还包括:密文解密模块,用于将每一位的密文各自进行解密计算,根据速查表将各个位置的解密结果按照各自的位置乘以相应进制的幂次并相加,得到的和即为最终的解密结果。9.一种存储介质,其上存储有计算设备可读的一个或多个程序,其特征在于:所述一个或多个程序包括指令,所述指令当由计算设备执行时,使得所述计算设备执行如权利要求1至6中任一项所述的一种支持整数运算的同态加密方法。

技术总结
本发明公开了一种支持整数运算的同态加密方法、系统及存储介质,属于信息安全技术领域,本发明的加密方法包含了加密参数生成、密钥生成、信息加密、同态计算和密文解密五个步骤。通过将整数按进制分解,可以将大整数的密文计算问题转化为小整数的计算问题;本发明的方法简洁易于实现,安全性高,支持整数加法同态操作,适用性好,适用于各类安全环境,便于在数据融合情形中对隐私数据进行保护和计算,有助于避免潜在的数据泄露和隐私侵犯的风险,提升了数据的安全性。升了数据的安全性。升了数据的安全性。


技术研发人员:刘义川 李晓东 高贺贺 赵炽野 金鑫
受保护的技术使用者:北京隐算科技有限公司
技术研发日:2023.07.06
技术公布日:2023/9/6
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐