CN111526000B - 一种基于混淆模投影的并行部分同态加密方法和系统 - Google Patents
一种基于混淆模投影的并行部分同态加密方法和系统 Download PDFInfo
- Publication number
- CN111526000B CN111526000B CN202010309733.9A CN202010309733A CN111526000B CN 111526000 B CN111526000 B CN 111526000B CN 202010309733 A CN202010309733 A CN 202010309733A CN 111526000 B CN111526000 B CN 111526000B
- Authority
- CN
- China
- Prior art keywords
- module
- blind
- projection
- original data
- modular
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 40
- 230000015572 biosynthetic process Effects 0.000 claims abstract description 16
- 238000003786 synthesis reaction Methods 0.000 claims abstract description 16
- 238000000354 decomposition reaction Methods 0.000 claims abstract description 14
- 239000000284 extract Substances 0.000 claims description 7
- 230000002194 synthesizing effect Effects 0.000 claims description 5
- 230000014509 gene expression Effects 0.000 claims description 3
- 230000001419 dependent effect Effects 0.000 claims 1
- 238000012545 processing Methods 0.000 description 10
- 230000003287 optical effect Effects 0.000 description 5
- 238000001514 detection method Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000000605 extraction Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 229910002056 binary alloy Inorganic materials 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000011056 performance test Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/008—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Storage Device Security (AREA)
Abstract
本发明涉及一种基于混淆模投影的并行部分同态加密方法和系统,可对经过混淆模投影加密方法加密后的数据进行有限次的加、乘同态运算。所述系统包括并行数据合成模块:将原始数据合并成“大数”;参数生成模块:根据用户密钥自动生成公共参数和秘密参数;加密模块:客户端根据公共参数对“大数”进行加密;盲计算模块:服务端根据公共参数对所有模投影进行有限次的加减乘等操作,等同于对原始数据进行此操作;解密模块:客户端根据秘密参数取出正确的模投影计算结果并对其进行解密;并行数据分解模块:客户端将“大数”原始数据的计算结果进行分解得到原始数据的计算结果。本发明提出的方案不仅能大大提升计算效率,还在一定程度上提高了安全性。
Description
技术领域
本发明是基于混淆模投影的并行部分同态加密方法和系统,属于同态加密领域。
背景技术
当前越来越多的存储和计算在云端完成,海量视觉媒体数据的存储和处理也被外包到了云平台。然而在云平台下,用户数据的隐私可能会泄露给公众或未经授权的第三方,为了解决云计算的安全性问题,相关专家和学者也在不断地进行探索。
同态加密技术是解决云计算安全问题的一项重要技术,同态加密提供了一种对加密数据进行处理的功能。有三类同态加密方案:半同态、部分同态以及全同态加密方案。半同态加密只能实现一种同态运算,加或乘同态。部分同态加密可实现有限次的加、乘同态运算。全同态加密能够实现任意次加、乘同态运算。理想的同态加密是全同态加密,它可以在不拥有解密密钥的前提下,对加密后的数据实施任意操作。现存的基于全同态加密技术的通用加密库有微软的SEAL库、IBM的HElib库等。然而,虽然全同态加密体制在2009年实现了构造上的理论突破,但全同态加密的计算开销极大,基于全同态加密的通用库的性能距离实用仍相差较远。
发明内容
本发明要解决的技术问题是:克服现有技术的不足,避免全同态加密存在的计算效率低的问题,本发明采用了一种基于混淆模投影的部分同态加密方案,实现了一个基于混淆模投影的部分同态加密系统,用户不需要实现加密方案细节,即可对数据进行加密、盲计算、解密等操作。本发明相较于其他基于全同态加密体制的通用库,大大缩短了计算时间,极大提高了实用性。本发明采用的方案,可在单一服务器上对经过加密的数据进行有限次处理得到一个输出,将这一输出进行解密,其结果与用同一方法处理未加密的原始数据得到的输出结果是一样的,可保证在不接触原始数据的情况下对其进行计算处理。现存的通用同态加密库绝大多数基于全同态加密体制,而本发明基于部分同态加密体制,能帮助用户大大缩短计算时间,提升计算效率,更具有实用性。
本发明的技术解决方案:一种基于混淆模投影的并行部分同态加密系统,包括:并行数据合成模块、参数生成模块、加密模块、盲计算模块、解密模块和并行数据分解模块,其中,所述并行数据合成模块、参数生成模块、加密模块和解密模块位于客户端,盲计算模块位于服务端,具体如下:
(1)并行数据合成模块:用于在客户端根据中国剩余定理,利用模基组A将每n个原始数据合成为一个“大数”,即“大数”原始数据;
(2)参数生成模块:用于在客户端根据用户唯一的用户密钥U(UserKey)自动生成公共参数和秘密参数,其中公共参数包括服务号SID、放大倍数a和模基组B,秘密参数除以上三个参数外,还包含真假模投影位置的模板S,只有用户才能利用真假模投影位置模板S从众多冗余混淆模投影中提取出正确的模投影合成明文;
(3)加密模块:用于在客户端根据秘密参数对明文进行加密,使用一组包括N个元素的模基对“大数”原始数据和M个冗余混淆数据分别进行模操作,将得到的正确模投影后,按照秘密参数中的真假模投影位置模板S,将正确模投影插入到M组冗余混淆模投影中,组成的共M+1个模投影即为密文;
(4)盲计算模块:用于在服务端对包含冗余混淆信息和真实信息的M+1组模投影即密文进行f运算,所述f运算包括:盲取反、盲加、盲减、盲乘、盲幂、半盲加、半盲减、半盲乘、半盲幂、盲连加、盲连乘以及并行版上述盲计算,得到密文的盲计算结果;
(5)解密模块:用于在客户端根据秘密参数从M+1组模投影中提取出真实的模投影,之后根据中国剩余定理得出最终“大数”原始数据的f计算结果;
(6)并行数据分解模块:用于在客户端将“大数”原始数据的f计算结果根据模基组A进行取模运算,得到最终n个原始数据的f计算结果。
本发明还提出一种基于混淆模投影的并行部分同态加密方法,包括如下步骤:
步骤(1)并行数据合成:在客户端,根据中国剩余定理,将每n个原始数据合成为一个“大数”;
步骤(2)参数生成:客户端根据用户唯一的用户密钥U(UserKey)自动生成公共参数和秘密参数,其中公共参数包括服务号SID、放大倍数a和模基组B,秘密参数除以上三个参数外,还包含真假模投影位置的模板S,因此只有用户才能利用真假模投影位置模板S从众多冗余混淆模投影中提取出正确的模投影合成明文;
步骤(3)加密:客户端根据秘密参数对明文进行加密,使用一组模基对“大数”原始数据和M个冗余混淆数据分别进行模操作,将得到的正确模投影后,按照秘密参数中的真假模投影位置模板S,将正确模投影插入到M组冗余混淆模投影中,组成的共M+1个模投影即为密文;
步骤(4)盲计算:服务端对包含冗余混淆信息和真实信息的M+1组模投影进行盲取反、盲加、盲减、盲乘、盲幂、半盲加、半盲减、半盲乘、半盲幂、盲连加、盲连乘以及并行版上述盲计算等f运算,得到密文的盲计算结果;
步骤(5)解密:客户端根据秘密参数从M+1组模投影中提取出真实的模投影,之后根据中国剩余定理得出最终“大数”原始数据的f计算结果;
步骤(6)并行数据分解:在客户端将“大数”原始数据的f计算结果根据模基组A进行取模运算,得到最终n个原始数据的f计算结果。
进一步的,所述步骤(1)并行数据合成包括:
(1.1)将每n个原始数据作为一组;
(1.2)取n个素数作为模基,得到模基组A,使n个原始数据和n个模基一一对应;
(1.3)将每个原始数据看作一个“大数”除以模基的余数,根据中国剩余定理,计算出每组原始数据对应的“大数”。
进一步的,所述步骤(2)参数生成包括:
(2.1)用户选择加密强度,即用于加密的模基数N和冗余数M;
(2.2)根据时间戳T和用户密钥U自动生成放大倍数a和服务号SID;
(2.3)根据用户密钥U及模基数N和冗余数M,自动生成模基组B及真假投影位置模板S。
进一步的,所述步骤(3)加密包括:
(3.1)随机生成M个混淆冗余数据;
(3.2)将“大数”原始数据除以模基组B中的N个模基,取余数,得到真实模投影集p;
(3.3)将M个混淆冗余数据分别除以模基组B中的N个模基,取余数,得到冗余混淆模投影集r;
(3.4)根据真假投影位置模板S将真实模投影集p插入冗余混淆模投影集r中,得到大小为(M+1)×N的密文。
进一步的,所述步骤(4)盲计算包括:
(4.1)对操作数通过乘放大倍数a的操作进行次数补齐,使表达式变成齐次;
(4.2)依据在模运算的基础上加法同态和乘法同态的性质及其扩展性质,服务端对密文进行f运算,所述f运算包括盲取反、盲加、盲减、盲乘、盲幂、半盲加、半盲减、半盲乘、半盲幂、盲连加、盲连乘操作,得到密文计算结果。
进一步的,所述步骤(5)解密包括:
(5.1)客户端依据位置模板S将真实模投影集p对应的计算结果d取出;
(5.2)利用中国剩余定理解出“大数”原始数据的f运算结果。
进一步的,所述步骤(6)并行数据分解步骤包括:
(6.1)客户端将“大数”原始数据的f运算结果根据模基组A={A1,…,An}做模运算,得到真正的n个原始数据的计算结果。
有益效果
本发明的技术方案与现有技术相比的优点在于:
(1)现存的同态加密库绝大多数都是基于全同态加密体制,而本发明所实现的系统本质上是基于部分同态加密体制的加密库,填补了部分同态加密体制没有通用库的空缺;
(2)由于本发明采用的是部分同态加密方案,与其他的基于全同态加密体制的加密库相比,大大缩短了计算时间,提升了计算效率,更加具有实用性;
(3)本发明所实现的系统还提供了其他同态加密库均不具备的并行计算版本,可在保证安全性的前提下,成倍提升计算速度,进一步缩短计算时间。
附图说明
图1为本发明总流程图;
图2为并行数据合成模块流程图;
图3为参数生成模块流程图;
图4为加密模块流程图;
图5为盲计算模块流程图;
图6为解密模块流程图;
图7为并行数据分解模块流程图;
图8为模投影示意图;
图9(a)为一段监控视频的背景图;
图9(b)为其中的某一帧;
图9(c)为图9(b)的下一帧;
图9(d)分别为服务端在不知道原始数据的情况下计算出的图9(b)与图9(a)对比的前景图;
图9(e)为服务端在不知道原始数据的情况下计算出的图9(b)所在一小段时间内运动的点集;
图9(f)为图9(b)中人物的光流变化图;
图10(a)为本发明应用于盲人脸检测的部分实验原图;
图10(b)为服务端在不接触原始数据情况下计算出的人脸框结果图;
图10(c)为便于查看将(a)与(b)叠加的结果图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅为本发明的一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域的普通技术人员在不付出创造性劳动的前提下所获得的所有其他实施例,都属于本发明的保护范围。
为了更好地理解本发明,先对本发明中涉及的一些基本概念进行说明。
1、模投影:
在几何学中,n维空间中的任一点在每一维坐标轴上均有一个投影,三个轴上的投影也可以确定空间中唯一的点。模操作可类比于此,n个两两互素的模基,可认为是n个坐标轴,一个数可认为是空间中的一个点,该数对某个模基进行模运算的结果可认为是在该模基坐标轴上的模投影。如图8,三维坐标轴(7,11,13)上的一个点,其在“7轴”上的投影为3,在“11轴”上的投影为9,在“13轴”上的投影为5。
2、同态加密:
对经过同态加密的数据进行处理得到一个输出,将这一输出进行解密,其结果与用同一方法处理未加密的原始数据得到的输出结果是一样的。有三类同态加密方案:半同态、部分同态以及全同态加密方案。半同态加密只能实现一种同态运算,加或乘同态。部分同态加密可实现有限次的加、乘同态运算。全同态加密能够实现任意次加、乘同态运算。
如图1所示,本发明提出一种基于混淆模投影的部分同态加密系统,包括客户端和服务端:整个实现过程如下,所述系统包括:
(1)并行数据合成模块:对于需要n-并行计算的数据,先将每n个原始数据根据中国剩余定理合成一个“大数”作为原始数据;
(2)参数生成模块:客户端持有用户密钥(UserKey),客户端调用参数生成模块,自动生成公共参数和秘密参数,其中公共参数包括服务号SID、放大倍数a和模基组B,秘密参数除以上三个参数外,还包含真假模投影位置的模板S(每次服务不一样),因此只有用户才能利用正确的模投影合成明文。
(3)加密模块:客户端调用加密模块,根据秘密参数对明文进行加密,使用一组模基(N个)对原始数据和M个冗余混淆数据分别进行模操作,将得到的正确模投影后,按照秘密参数中的真假模投影位置模板S,将正确模投影插入到M组冗余混淆模投影中,组成的共M+1个模投影即为密文。
(4)盲计算模块:服务端调用盲计算模块,对包含冗余混淆信息和真实信息的M+1组模投影进行盲取反、盲加、盲减、盲乘、盲幂、半盲加、半盲减、半盲乘、半盲幂、盲连加、盲连乘以及并行版上述盲计算等f运算,得到密文的盲计算结果。在此过程中,服务端无法得到原始数据,但实现了对原始数据的f操作,得到了密文状态的计算结果。且由于服务端的数据包含冗余混淆数据,因此即使服务端泄露了全部信息,也不会对原始数据及其计算结果造成威胁,实现了对原始数据的盲计算处理。
(5)解密模块:客户端调用解密模块,根据秘密参数从M+1组模投影中提取出真实的模投影,之后根据中国剩余定理得出最终原始数据的f计算结果。
(6)并行数据分解模块:对于n-并行计算的数据,客户端将“大数”的计算结果进行相应的模运算,得到n个原始数据各自的计算结果。
具体的,上述各模块的具体实现过程如下:
1、并行数据合成模块的并行数据合成流程,如图2所示,该流程的实现过程如下:
将n个原始数据(x1,…,xn)并行处理的具体操作方法为:
(1)取n个素数组成模基组A={A1,…,An},该模基组只有客户端拥有,服务端不知道;
(2)将这n个原始数据,利用模基组A,根据中国剩余定理合成一个“大数”X:
2、参数生成模块进行参数生成流程如图3所示,该流程的实现过程如下:客户端申请此次服务时的时间戳为T。
(1)用户密钥为U,同一个用户的用户密钥唯一。
(2)选定n个符合标准的模基组成模基池Bn={b1,b2,…,bn},其中的每个bi为素数,且各不相等。
(3)定义模基组B中模基个数N(n>N),冗余混淆模投影个数M,即真实模投影和冗余模投影相加共M+1个模投影。N和M越大,相当于加密强度越大,越安全,但运算时间越慢。
(4)用户密钥U作为密钥,对时间戳T进行AES(ECB模式)加密,得到密文1,将密文1转为二进制后,每6位对应一个位置索引si,最终得到N个位置索引组成的位置模板S。
S={s1,s2,…,sN},0≤si≤M,i=1,2,...,N;
(5)用户密钥U作为密钥,对密文1进行AES(ECB模式)加密,得到密文2,将密文2转为二进制后,每6位对应一个模基索引bi,最终得到N个模基索引对应的备选模基组成的模基组B,其元素b1,b2,…,bN两两互素。此模基组B与并行数据合成模块汇总的模基组A选择的模基不相同,模基数也不同。
B={b1,b2,…,bN},i=1,2,...,N
3、加密模块进行加密的流程如图4所示,该流程的实现过程如下:
以对一个原始数据P加密成为密文e为例:
(1)产生随机数据R={R1,R2,...,RM},M为随机数据的数量;
(2)将原始数据放大a倍,并加上一个随机数η,得到放大随机化后的原始数据P′。
P′=aP+η
(3)将随机数据R放大a倍,并加上一个随机数η,得到放大随机化后的随机数据R′。
Ri′=aRi+η,R′={R1′,R2′,...,RM-1′},i=1,2,...,M
(4)计算真实模投影集p。
p={p1,p2,…,pN},pi=P′mod bi,i=1,2,...,N
(5)计算冗余混淆模投影集r。
r={r1,r2,…,rM}
(6)依据真假投影位置模板S将真实模投影集p插入冗余混淆模投影集r中,得到大小为(M+1)×N的密文e。
4、盲计算模块进行盲计算的流程如图5所示,该流程的实现过程如下:
(4.1)对操作数通过乘放大倍数a的操作进行次数补齐,使表达式变成齐次。例如,对于一次密文x、y、z、w,若进行齐次运算,如xy+zw,则无须次数补齐;若进行非齐次运算,如xy+z,则必须首先对右边的操作数进行次数补齐,做xy+za运算,才能保证在解密中除以a2后还原原始数据的f运算结果。
(4.2)依据在模运算的基础上加法同态和乘法同态的性质及其扩展性质,即:
(x+y)mod b=((x mod b)+(y mod b))mod b
(x-y)mod b=((x mod b)-(y mod b)+b)mod b
(x*y)mod b=((x mod b)*(y mod b))mod b
xy mod b=(x modb)y mod b
服务端可对密文进行上述f运算(加、减、乘、幂)操作。假设明文为X、Y、Z,加密得到的密文为x=encrypt(X)、y=encrypt(Y)、z=encrypt(Z),则对其进行f运算的到运算结果为f(x,y,z),此结果大小为M×N,将此结果进行解密,即可得到对原始数据的f运算结果:
f(X,Y,Z)=decrypt(f(x,y,z))。
5、解密模块进行解密的流程如图6所示,该流程的实现过程如下:
(5.1)客户端依据位置模板S将真实模投影集p对应的计算结果d取出。
(5.2)利用中国剩余定理可解出原始数据的f运算结果f(X,Y,Z)。
是Bi在/>中的乘法逆元;
(5.4)经过中国剩余定理处理后的结果为:
则“大数”原始数据的f运算结果为:
其中,亡为处理后的齐次多项式次数。
6、并行数据分解模块进行并行数据分解流程如图7所示,该流程的实现过程如下:
(1)客户端将“大数”原始数据的f运算结果根据模基组A={A1,…,An}做模运算,得到真正的n个原始数据的计算结果{x1,x2,...,xn}:
应用举例:
本发明经实验证明可应用于对计算精度要求稍低的图像视频处理等领域,包括前景提取、光流跟踪、人脸检测等,在保证数据安全性的基础上,大大提升了运算效率及实用性。
例如,图9为本发明应用于盲前景提取和盲光流跟踪的部分实验结果,图9(a)为一段监控视频的背景图,图9(b)为其中的某一帧,图9(c)为图9(b)的下一帧,图9(d)、图9(e)、图9(f)分别为服务端在不知道原始数据的情况下计算出的图9(b)与图9(a)对比的前景、图9(b)所在一小段时间内运动的点集以及图9(b)中人物的光流变化图。可以看出,本发明在对盲文计算得到的前景及光流,并未因为误差而受到较大影响,得到的结果在应用层面上对于人眼是准确的。
图10为本发明应用于盲人脸检测的部分实验结果,图10(a)为原图,图10(b)为服务端在不接触原始数据情况下计算出的人脸框结果图,图10(c)为便于查看将(a)与(b)叠加的结果图。可以看出,本发明对盲文计算检测出的人脸位置准确,且服务端并不能接触到原始数据,若服务端数据泄露,即图10(b)泄露,并不会泄露原始数据,即图10(a),保证了数据的隐私。
性能测试结果:
以下是本发明与另外两个现存的最著名的两个全同态加密通用库的比较测试结果。
表1:功能对比
功能 | SEAL | HElib | 本发明 |
盲加法 | √ | √ | √ |
盲减法 | √ | √ | √ |
盲乘法 | √ | √ | √ |
盲幂运算 | √ | √ | |
半盲加法 | √ | √ | √ |
半盲减法 | √ | √ | |
半盲乘法(数乘) | √ | √ | √ |
盲取反 | √ | √ | √ |
连乘 | √ | √ | |
连加 | √ | √ | |
并行盲计算 | √ |
接下来,本发明分别对24个数进行了同样的一系列包括加减乘取反等一系列操作,以下是时间对比以及内存占用对比:(20个模基、63个混淆冗余)
表2:时间对比
本发明(ms) | SEAL(ms) | HElib(ms) | |
加密 | 140 | 4909 | 25439 |
一系列盲计算 | 52 | 9575 | 2980 |
解密 | 243 | 1813 | 1480 |
表3:内存占用对比
ours(kb) | SEAL(kb) | HElib(kb) | |
加密 | 553 | 13566 | 210032 |
一系列盲计算 | 1581 | 40071 | 219772 |
解密 | 2155 | 40702 | 219772 |
表4:并行时间对比(以一帧前景提取实验结果为例)
并行程度 | 所用时间(s) |
非并行 | 113.797 |
4-并行 | 30.249 |
8-并行 | 19.369 |
12-并行 | 13.54 |
16-并行 | 12.439 |
从实验结果可以看出,本发明与现存的其他库相比,功能完善,并提供了其他库不具备的并行版本,计算速度快、占用内存少,更适合应用于图像视频处理领域等对计算精度要求不高但数据量极大的应用场景。
本发明未详细描述的部分属于本领域公知技术。
尽管上面对本发明说明性的具体实施方式进行了描述,以便于本技术领域的技术人员理解本发明,且应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
Claims (6)
1.一种基于混淆模投影的并行部分同态加密系统,其特征在于,包括:
并行数据合成模块、参数生成模块、加密模块、盲计算模块、解密模块和并行数据分解模块,其中,所述并行数据合成模块、参数生成模块、加密模块、解密模块位和并行数据分解模块于客户端,盲计算模块位于服务端,具体如下:
(1)并行数据合成模块:用于在客户端根据中国剩余定理,利用模基组A将每n个原始数据合成为一个“大数”,即“大数”原始数据;
(2)参数生成模块:用于在客户端根据用户唯一的用户密钥U自动生成公共参数和秘密参数,其中公共参数包括服务号SID、放大倍数a和模基组B,秘密参数除了以上三个参数外,还包括真假模投影位置的模板S,只有用户才能利用真假模投影位置模板S从众多冗余混淆模投影中提取出正确的模投影合成明文;
(3)加密模块:用于在客户端根据秘密参数对明文进行加密,使用一组包括N个元素的模基对“大数”原始数据和M组冗余混淆数据分别进行模操作,将得到的正确模投影后,按照秘密参数中的真假模投影位置模板S,将正确模投影插入到M组冗余混淆模投影中,组成的共M+1组模投影即为密文;
(4)盲计算模块:用于在服务端对包含冗余混淆信息和真实信息的M+1组模投影即密文进行f运算,所述f运算包括:盲取反、盲加、盲减、盲乘、盲幂、半盲加、半盲减、半盲乘、半盲幂、盲连加、盲连乘以及并行版上述盲计算,得到密文的盲计算结果;
(5)解密模块:用于在客户端根据秘密参数从M+1组模投影中提取出真实的模投影,之后根据中国剩余定理得出最终“大数”原始数据的f运算结果;
(6)并行数据分解模块:用于在客户端将“大数”原始数据的f运算结果根据模基组A进行取模运算,得到最终n个原始数据的f运算结果。
2.一种基于混淆模投影的并行部分同态加密方法,其特征在于,包括如下步骤:
步骤(1)并行数据合成:在客户端,根据中国剩余定理,将每n个原始数据合成为一个“大数”;
步骤(2)参数生成:客户端根据用户唯一的用户密钥U自动生成公共参数和秘密参数,其中公共参数包括服务号SID、放大倍数a和模基组B,秘密参数除以上三个参数外,还包含真假模投影位置的模板S,只有用户才能利用真假模投影位置模板S从众多冗余混淆模投影中提取出正确的模投影合成明文;
步骤(3)加密:客户端根据秘密参数对明文进行加密,使用一组模基对“大数”原始数据和M组冗余混淆数据分别进行模操作,将得到的正确模投影后,按照秘密参数中的真假模投影位置模板S,将正确模投影插入到M组冗余混淆模投影中,组成的共M+1组模投影即为密文;
步骤(4)盲计算:服务端对包含冗余混淆信息和真实信息的M+1组模投影进行f运算,所述f运算包括:盲取反、盲加、盲减、盲乘、盲幂、半盲加、半盲减、半盲乘、半盲幂、盲连加、盲连乘以及并行版上述盲计算,得到密文的盲计算结果;
步骤(5)解密:客户端根据秘密参数从M+1组模投影中提取出真实的模投影,之后根据中国剩余定理得出最终“大数”原始数据的f运算结果;
步骤(6)并行数据分解:在客户端将“大数”原始数据的f运算结果根据模基组A进行取模运算,得到最终n个原始数据的f运算结果。
3.根据权利要求2所述的一种基于混淆模投影的并行部分同态加密方法,其特征在于:
所述步骤(1)并行数据合成包括:
(1.1)将每n个原始数据作为一组;
(1.2)取n个素数作为模基,得到模基组A,使n个原始数据和n个模基一一对应;
(1.3)将每个原始数据看作一个“大数”除以模基的余数,根据中国剩余定理,计算出每组原始数据对应的“大数”。
4.根据权利要求2所述的一种基于混淆模投影的并行部分同态加密方法,其特征在:
所述步骤(4)盲计算包括:
(4.1)对操作数通过乘放大倍数的操作进行次数补齐,使表达式变成齐次;
(4.2)依据在模运算的基础上加法同态和乘法同态的性质及其扩展性质,服务端对密文进行f运算,得到密文计算结果。
5.根据权利要求2所述的一种基于混淆模投影的并行部分同态加密方法,其特征在于:
所述步骤(5)解密包括:
(5.1)客户端依据位置模板将真实模投影集/>对应的计算结果/>取出;
(5.2)利用中国剩余定理解出“大数”原始数据的f运算结果。
6.根据权利要求2所述的一种基于混淆模投影的并行部分同态加密方法,其特征在于:
所述步骤(6)并行数据分解步骤包括:
(6.1)客户端将“大数”原始数据的、f运算结果根据模基组做模运算,得到真正的n个原始数据的计算结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010309733.9A CN111526000B (zh) | 2020-04-20 | 2020-04-20 | 一种基于混淆模投影的并行部分同态加密方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010309733.9A CN111526000B (zh) | 2020-04-20 | 2020-04-20 | 一种基于混淆模投影的并行部分同态加密方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111526000A CN111526000A (zh) | 2020-08-11 |
CN111526000B true CN111526000B (zh) | 2023-08-18 |
Family
ID=71903336
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010309733.9A Active CN111526000B (zh) | 2020-04-20 | 2020-04-20 | 一种基于混淆模投影的并行部分同态加密方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111526000B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115801224B (zh) * | 2023-01-16 | 2023-04-28 | 北京隐算科技有限公司 | 一种云计算环境中支持浮点数运算的全同态加密方法 |
CN117640065B (zh) * | 2024-01-24 | 2024-04-05 | 北京隐算科技有限公司 | 一种多用户同态加解密方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109190414A (zh) * | 2018-08-09 | 2019-01-11 | 宁波大学 | 一种用于乘法器的全同态混淆方法 |
CN109361510A (zh) * | 2018-11-07 | 2019-02-19 | 西安电子科技大学 | 一种支持溢出检测和大整数运算的信息处理方法及应用 |
CN110321722A (zh) * | 2019-07-08 | 2019-10-11 | 济南大学 | Dna序列相似率安全计算方法及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9749128B2 (en) * | 2014-05-15 | 2017-08-29 | Xerox Corporation | Compact fuzzy private matching using a fully-homomorphic encryption scheme |
-
2020
- 2020-04-20 CN CN202010309733.9A patent/CN111526000B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109190414A (zh) * | 2018-08-09 | 2019-01-11 | 宁波大学 | 一种用于乘法器的全同态混淆方法 |
CN109361510A (zh) * | 2018-11-07 | 2019-02-19 | 西安电子科技大学 | 一种支持溢出检测和大整数运算的信息处理方法及应用 |
CN110321722A (zh) * | 2019-07-08 | 2019-10-11 | 济南大学 | Dna序列相似率安全计算方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111526000A (zh) | 2020-08-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Zhu et al. | Plaintext-related image encryption algorithm based on block structure and five-dimensional chaotic map | |
Liu et al. | Privacy-preserving outsourced calculation toolkit in the cloud | |
CN107196926B (zh) | 一种云外包隐私集合比较方法与装置 | |
JP2014126866A (ja) | 暗号処理装置および方法 | |
Bian et al. | ENSEI: Efficient secure inference via frequency-domain homomorphic convolution for privacy-preserving visual recognition | |
Koppu et al. | A fast enhanced secure image chaotic cryptosystem based on hybrid chaotic magic transform | |
CN107872322A (zh) | 基于同态加密的数字签名协同生成方法及系统 | |
Abdeldaym et al. | Modified RSA algorithm using two public key and Chinese remainder theorem | |
CN111526000B (zh) | 一种基于混淆模投影的并行部分同态加密方法和系统 | |
CN110263570B (zh) | 一种实现高效相似性查询和访问控制的基因数据脱敏方法 | |
CN115801224B (zh) | 一种云计算环境中支持浮点数运算的全同态加密方法 | |
EP2742644B1 (en) | Encryption and decryption method | |
CN103916248A (zh) | 一种全同态加密公钥空间压缩方法 | |
CN117118617B (zh) | 一种基于模分量同态的分布式门限加解密方法 | |
Kahla et al. | Asymmetric image encryption based on twin message fusion | |
Joshi et al. | Security of digital images based on 3D Arnold cat map and elliptic curve | |
CN103812658A (zh) | 一种基于流密码的安全通信协议 | |
CN108965639A (zh) | 基于混沌分割的多扩散图像加密解密方法 | |
CN107465508A (zh) | 一种软硬件结合构造真随机数的方法、系统和设备 | |
Salman et al. | A homomorphic cloud framework for big data analytics based on elliptic curve cryptography | |
CN115834058A (zh) | 通信加密方法、装置、计算机设备 | |
Babenko et al. | Euclidean division method for the homomorphic scheme ckks | |
CN103401681A (zh) | 取模方法、取模装置及芯片 | |
Huang et al. | Secure word-level sorting based on fully homomorphic encryption | |
JP2886517B2 (ja) | 共通鍵通信システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20240416 Address after: Room A-8961, Building 3, No. 20 Yong'an Road, Shilong Economic Development Zone, Mentougou District, Beijing, 102300 (cluster registration) Patentee after: Beijing Hidden Computing Technology Co.,Ltd. Country or region after: China Address before: 100080 No.7, Fufeng Road, Fengtai District, Beijing Patentee before: BEIJING ELECTRONIC SCIENCE AND TECHNOLOGY INSTITUTE Country or region before: China |