CN109936435B - 具有快速同态运算过程ntru型多密钥全同态加密方法 - Google Patents

具有快速同态运算过程ntru型多密钥全同态加密方法 Download PDF

Info

Publication number
CN109936435B
CN109936435B CN201910066014.6A CN201910066014A CN109936435B CN 109936435 B CN109936435 B CN 109936435B CN 201910066014 A CN201910066014 A CN 201910066014A CN 109936435 B CN109936435 B CN 109936435B
Authority
CN
China
Prior art keywords
ciphertext
key
homomorphic
homomorphic encryption
polynomial
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
Application number
CN201910066014.6A
Other languages
English (en)
Other versions
CN109936435A (zh
Inventor
车小亮
李宁波
周潭平
张敏情
韩益亮
刘龙飞
涂广升
刘文超
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Engineering University of Chinese Peoples Armed Police Force
Original Assignee
Engineering University of Chinese Peoples Armed Police Force
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Engineering University of Chinese Peoples Armed Police Force filed Critical Engineering University of Chinese Peoples Armed Police Force
Priority to CN201910066014.6A priority Critical patent/CN109936435B/zh
Publication of CN109936435A publication Critical patent/CN109936435A/zh
Application granted granted Critical
Publication of CN109936435B publication Critical patent/CN109936435B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Complex Calculations (AREA)
  • Lock And Its Accessories (AREA)

Abstract

本发明属于信息安全和隐私保护领域,具体涉及具有快速同态运算过程NTRU型多密钥全同态加密方法,包括以下步骤:步骤一:对DHS16方案进行优化,构造一个单密钥全同态加密方案;步骤二:利用LATV12方案中多密钥全同态加密方案的构造方法,将步骤一中的高效的单用户全同态加密方案转化为多密钥全同态加密方案;步骤三:在步骤二中多密钥全同态加密方案的基础上,构造独立的分布式解密过程,并在此基础上构造两轮MPC协议;本发明能够被有效应用于云计算环境下多用户间的安全多方计算,具备机密性、密文可用性、抗合谋攻击性、抗量子攻击、允许参与用户独立解密等优良特性。

Description

具有快速同态运算过程NTRU型多密钥全同态加密方法
技术领域
本发明属于信息安全和隐私保护领域,具体涉及具有快速同态运算过程NTRU型多密钥全同态加密方法。
背景技术
在当今大数据的环境下,人们越来越倾向于将大量的数据存储在功能强大的云服务器上,并将繁琐和复杂的数据计算过程委托给云进行;虽然云为大数据的存储和计算提供了便利,但是也很容易受到非法组织和用户的窥探和攻击,因此引发了一个不可忽视的安全问题:如何保护用户的个人隐私和数据安全?
全同态加密具有数据加密和密文计算的双重属性,不仅能够对数据进行加密保护,同时支持在密文状态下对其进行任意次数的计算,是解决云计算环境下隐私保护和安全处理的有效工具之一,具有重要的研究价值和广泛的应用前景。
遵循2009年gentry开创性的为全同态加密的构造所描绘的蓝图,全同态加密已经有了长足的发展;传统的全同态加密只适用于对涉及单个用户的密文进行同态计算,因为它需要参与计算的密文对应于相同的密钥;然而在许多的现实场景中,通常需要对多个用户上传到云端的数据进行安全多方计算,同时确保不暴露各个用户的数据隐私。
多密钥全同态加密(Multi-key fully homomorphic encryption,MKFHE)允许对不同用户的密文进行同态运算,运算之后的结果可以由参与计算的用户的密钥联合解密;同时,不同用户的密文间的运算过程可以委托给云离线进行,避免了执行安全多方计算协议过程中用户之间的交互过程,因此能够被有效应用于云计算环境下多用户间的安全的多方计算(multiparty computation,MPC)。
类似于单密钥全同态加密,当前多密钥全同态加密主要分为NTRU型、GSW型和BGV型。
2012年,L′opez-Alt等人首先提出了MKFHE的概念,并利用NTRU同态加密方案的变种,构造了首个基于NTRU公钥密码系统的多密钥全同态加密方案LATV12,其安全性基于环上的RLWE(Ring-learning with errors)问题、DSPR(Decisional Small PolynomialRatio)假设;DHS16对LATV12进行了优化,通过优化参数、特殊的环结构和模数,对LATV12的效率进行了提升;在PKC2017,Chongchitmate等人提出了能够保护电路隐私的NTRU型多密钥全同态加密方案CO17,该方案提出了构造具有电路隐私特性的MKFHE的基本框架,并在此基础上构造了一个3轮的on-the-fly MPC协议。
Clear和McGoldrick提出了首个基于误差学习问题的GSW型MKFHE,其安全性可以规约到理想格上最坏情况下的困难问题,同时该方案中密钥的数量没有上限;Mukherjee和Wichs对CM15进行了改进,提出了基于LWE的MKFHE,该方案可以用来实现一轮的门限解密协议,并在此基础上实现了一个两轮安全多方计算MPC协议;CM15和MW16方案的缺陷在于需要提前对参与同态计算的用户的数量进行设置,并且在运算过程中无法实现实时加入新用户,这种类型的MKFHE在PS16中被称为单跳型MKFHE;同时PS16提出了多跳MKFHE的概念:原有参与方经过同态运算后的密文,能够与新加入的参与方的密文重新进行运算,即任何参与方都可以实时、动态地加入到密文运算的过程中;BP16提出了全动态的MKFHE的概念,即参与方的数量不需要提前进行设定。
在TCC2017上,陈隆等人提出了首个基于RLWE的BGV型多跳MKFHE;该方案支持基于中国剩余定理的密文打包技术,并且对MKFHE中的密文扩展过程进行了简化,该方案可以用于构造两轮的MPC协议和门限解密协议。
相对于BGV型和GSW型MKFHE,基于NTRU的MKFHE具有以下优点:(1)方案形式简洁,易于理解;(2)效率高;(3)没有密文扩展,密文量、密钥量较少。
发明内容
本发明的目的在于提出具有快速同态运算过程NTRU型多密钥全同态加密方法,该方案允许拥有不同密钥的多用户之间的密文计算,可有效应用于当前云环境下的安全多方计算,减少各用户之间的交互,具有较高的理论价值和应用价值。
为了达到上述目的,本发明采用的技术方案如下:
1、具有快速同态运算过程NTRU型多密钥全同态加密方法,包括以下步骤:
步骤一:对DHS16方案进行优化,构造一个单密钥全同态加密方案;
步骤二:利用LATV12方案中多密钥全同态加密方案的构造方法,将步骤一中的高效的单用户全同态加密方案转化为多密钥全同态加密方案;
步骤三:在步骤二中多密钥全同态加密方案的基础上,构造独立的分布式解密过程,并在此基础上构造两轮MPC协议。
进一步的,所述步骤一中优化方式为:对于安全参数l,整数n=n(l),密文模数q=q(l),定义d-th分圆多项式φd(x)=φ(x)=xn+1,其中多项式的阶n是2的幂次;定义多项式环R=Z(x)/φ(x)、Rq=R/qR,环Rq中的多项式的系数不超过q,以及环R上的B-bound分布c,取值于c的多项式的系数的绝对值不超过B;同态运算的电路层模数分别为q0=pt>q1>...>qt-1,其中qi=pt-i,i∈{0,...,t-1};对于分布X,x←X表示从分布X中采样得到元素x;
(1)密钥生成:
采样多项式f′,g←c,令f=2f′+1,
Figure GDA00036046077600000422
采样向量
Figure GDA0003604607760000041
计算第0层的计算密钥
Figure GDA0003604607760000042
ζ(i-2→i)=ζ(0)mod qi-1
输出私钥
Figure GDA00036046077600000421
公钥pk:={h,ζ(0)};
(2)加密过程:
输入明文m,选择多项式s(0),e(0)←c,输出密文:
Figure GDA0003604607760000043
(3)解密过程:
输入密文
Figure GDA0003604607760000044
计算
Figure GDA0003604607760000045
输出解密结果m′:=μmod2;
(4)同态加法:
输入(i-1)层的密文
Figure GDA0003604607760000046
Figure GDA0003604607760000047
(a)密文相加:
Figure GDA0003604607760000048
(b)模交换:
Figure GDA0003604607760000049
其中
Figure GDA00036046077600000410
表示
Figure GDA00036046077600000411
(5)同态乘法:
输入(i-2)层的密文
Figure GDA00036046077600000412
Figure GDA00036046077600000413
(a)密文相乘:
Figure GDA00036046077600000414
(b)模交换:
Figure GDA00036046077600000415
其中
Figure GDA00036046077600000416
表示
Figure GDA00036046077600000417
Figure GDA00036046077600000418
(c)密文乘法:
Figure GDA00036046077600000419
(d)重线性化:
Figure GDA00036046077600000420
(e)模交换:
Figure GDA0003604607760000051
进一步的,所述步骤二中将单密钥全同态加密方案转化为多密钥全同态加密方案的方式为:对于多项式环R=Z(x)/xn+1和Rq=R/qR,以及环R上B=B(l)有界的错误分布c,同态运算的电路层模数分别为q0=pt>q1>...>qt-1,其中qi=pt-i,i∈{0,...,t-1};
(1)密钥生成:
采样f′,g←c,令f=2f′+1从而使得f≡1 mod 2,
Figure GDA0003604607760000058
其中多项式f必须可逆,否则就对f′重新进行采样;采样
Figure GDA0003604607760000052
计算:
Figure GDA0003604607760000053
输出私钥
Figure GDA0003604607760000057
假设所有的电路层都共享一个f,公钥
Figure GDA0003604607760000054
其中ζ(0)表示第0层的计算密钥,其它层的计算密钥可以由ζ(0)以及各层的模数计算得到:
Figure GDA0003604607760000055
(2)加密过程:
输入明文m,选择s(0),e(0)←c,输出密文:
Figure GDA0003604607760000056
(3)解密过程:
输入密文c∈Rp,假设密文对应的参与方的密钥为f1,...,fN,计算并输出明文:
μ:=(f1…fN)·c(mod p)(mod 2)
(4)同态运算:
输入(i-2)层的密文
Figure GDA0003604607760000061
假设四个密文对应的用户的公钥集分别为K1,K2,K3和K4,令K1∪K2∪K3∪K4={pk1,...,pkr}
(a)密文乘法:
Figure GDA0003604607760000062
(b)模交换:
Figure GDA0003604607760000063
(c)密文乘法:
Figure GDA0003604607760000064
(d)重线性化:对于v=1,...,r,
Figure GDA00036046077600000615
定义
Figure GDA0003604607760000065
的二元表示:
Figure GDA0003604607760000066
(i)如果pkv∈{K1∩K2∩K3∩K4},令:
Figure GDA0003604607760000067
(ii)如果
Figure GDA0003604607760000068
且pkv存在于K1,K2,K3,K4中的其中三个集合,令:
Figure GDA0003604607760000069
(iii)如果
Figure GDA00036046077600000610
且pkv存在于集合K1,K2,K3,K4中的任意两个,令:
Figure GDA00036046077600000611
最终通过迭代得到
Figure GDA00036046077600000612
(e)模交换:
Figure GDA00036046077600000613
并输出密文
Figure GDA00036046077600000614
其对应的私钥为f1·f2…fr
进一步的,所述步骤三中MPC协议构造方式为:假设密文经过同态电路C运算之后的密文为
Figure GDA0003604607760000071
参与运算的用户集S={i1,...,iN},每个用户的私钥
Figure GDA0003604607760000072
对应的明文信息为
Figure GDA0003604607760000073
则:
Figure GDA0003604607760000074
(1)当云将经过电路C运算后的密文
Figure GDA0003604607760000075
返回给每个用户之后,每个用户首先各自用自己的私钥对密文进行半解密,得到半解密结果
Figure GDA0003604607760000076
由于密文c对应的解密密钥为
Figure GDA0003604607760000077
(2)所有用户将各自的半解密结果
Figure GDA0003604607760000078
发送给最终来解密的合法用户,该用户接收到所有用户的半解密结果之后,计算c-(N-1)∈Rq,以及并通过以下方式来对密文进行解密:
Figure GDA0003604607760000079
与现有技术相比,本发明的有益效果:
(1)构造的单密钥全同态加密方案通过分离同态乘法和重线性化技术,大幅缩减了同态计算过程中重线性化的运行次数。方案还具有支持并行,特殊模数提升效率等优点。
(2)构造了独立的分布式解密过程,使得用户在客户端独立解密,减少了解密过程中用户之间的交互过程。
(3)实验分析表明,构造的单用户全同态方案同态计算速度较DHS16提升到2.4倍;在此基础上构造的多密钥全同态加密方案可以高效地实现两轮MPC协议,能够被有效应用于云计算环境下多用户间的安全多方计算。
附图说明
图1是本发明多密钥全同态加密方法的流程图。
具体实施方式
下面结合具体实施例对本发明做进一步详细的描述,但本发明的实施方式不限于此。
如图1所示,具有快速同态运算过程NTRU型多密钥全同态加密方法,包括以下步骤:
步骤一:对DHS16方案进行优化,构造一个单密钥全同态加密方案,大幅缩减了同态计算过程中重线性化的运行次数;
步骤二:利用LATV12方案中多密钥全同态加密方案的构造方法,将步骤一中的高效的单用户全同态加密方案转化为多密钥全同态加密方案;
步骤三:在步骤二中多密钥全同态加密方案的基础上,构造独立的分布式解密过程,减少了解密过程中用户之间的交互过程,并在此基础上构造两轮MPC协议。
初始化:对于安全参数l,整数n=n(l),密文模数q=q(l),定义d-th分圆多项式φd(x)=φ(x)=xn+1,其中多项式的阶n是2的幂次;定义多项式环R=Z(x)/φ(x)、Rq=R/qR(环Rq中的多项式的系数不超过q),以及环R上的B-bound分布c(取值于c的多项式的系数的绝对值不超过B);同态运算的电路层模数分别为q0=pt>q1>...>qt-1,其中qi=pt-i,i∈{0,...,t-1}。
(一)对NTRU型单密钥全同态加密方案DHS16进行优化;
(1)密钥生成:
采样f′,g←c,令f=2f′+1,
Figure GDA0003604607760000081
采样
Figure GDA0003604607760000082
计算
Figure GDA0003604607760000083
ζ(i-2→i)=ζ(0)mod qi-1
输出私钥
Figure GDA0003604607760000084
公钥pk:={h,ζ(0)};
(2)加密过程:
输入明文m,选择s(0),e(0)←c,输出密文:
Figure GDA0003604607760000091
(3)解密过程:
输入密文
Figure GDA0003604607760000092
计算
Figure GDA0003604607760000093
输出解密结果m′:=μmod2;
(4)同态加法:
输入(i-1)层的密文
Figure GDA0003604607760000094
Figure GDA0003604607760000095
(a)密文相加:
Figure GDA0003604607760000096
(b)模交换:
Figure GDA0003604607760000097
其中
Figure GDA0003604607760000098
表示
Figure GDA0003604607760000099
(5)同态乘法:
输入(i-2)层的密文
Figure GDA00036046077600000910
Figure GDA00036046077600000911
(a)密文相乘:
Figure GDA00036046077600000912
(b)模交换:
Figure GDA00036046077600000913
其中
Figure GDA00036046077600000914
表示
Figure GDA00036046077600000915
Figure GDA00036046077600000916
(c)密文乘法:
Figure GDA00036046077600000917
(d)重线性化:
Figure GDA00036046077600000918
(e)模交换:
Figure GDA00036046077600000919
(二)将单密钥全同态加密方案扩展为多密钥全同态加密方案;
(1)密钥生成:
采样f′,g←c,令f=2f′+1从而使得f≡1mod2,
Figure GDA00036046077600000922
其中多项式f必须可逆,否则就对f′重新进行采样;采样
Figure GDA00036046077600000920
计算:
Figure GDA00036046077600000921
输出私钥
Figure GDA0003604607760000101
(假设所有的电路层都共享一个f),公钥
Figure GDA0003604607760000102
其中ζ(0)表示第0层的计算密钥,其它层的计算密钥可以由ζ(0)以及各层的模数计算得到:
Figure GDA0003604607760000103
(2)加密过程:
输入明文m,选择s(0),e(0)←c,输出密文:
Figure GDA0003604607760000104
(3)解密过程:
输入密文c∈Rp,假设密文对应的参与方的密钥为f1,...,fN,计算并输出明文:
μ:=(f1…fN)·c(mod p)(mod 2)
(4)同态运算:
输入(i-2)层的密文
Figure GDA0003604607760000105
假设四个密文对应的用户的公钥集分别为K1,K2,K3和K4,令K1∪K2∪K3∪K4={pk1,…,pkr}
(a)密文乘法:
Figure GDA0003604607760000106
(b)模交换:
Figure GDA0003604607760000107
(c)密文乘法:
Figure GDA0003604607760000108
(d)重线性化:对于v=1,...,r,
Figure GDA0003604607760000109
定义
Figure GDA00036046077600001010
的二元表示:
Figure GDA00036046077600001011
(i)如果pkv∈{K1∩K2∩K3∩K4},令:
Figure GDA00036046077600001012
(ii)如果
Figure GDA00036046077600001013
且pkv存在于K1,K2,K3,K4中的其中三个集合,令:
Figure GDA0003604607760000111
(iii)如果
Figure GDA0003604607760000112
且pkv存在于集合K1,K2,K3,K4中的任意两个,令:
Figure GDA0003604607760000113
最终通过迭代得到
Figure GDA0003604607760000114
(e)模交换:
Figure GDA0003604607760000115
并输出密文
Figure GDA0003604607760000116
其对应的私钥为f1·f2…fr
(三)以多密钥全同态加密方案为基础,构造两轮MPC协议。
假设密文经过同态电路C运算之后的密文为
Figure GDA0003604607760000117
参与运算的用户集S={i1,...,iN},每个用户的私钥
Figure GDA0003604607760000118
对应的明文信息为
Figure GDA0003604607760000119
则:
Figure GDA00036046077600001110
(1)当云将经过电路C运算后的密文
Figure GDA00036046077600001111
返回给每个用户之后,每个用户首先各自用自己的私钥对密文进行半解密,得到半解密结果
Figure GDA00036046077600001112
由于密文c对应的解密密钥为
Figure GDA00036046077600001113
因此
Figure GDA00036046077600001114
并不会泄露任何关于用户明文的信息。
(2)所有用户将各自的半解密结果
Figure GDA00036046077600001115
发送给最终来解密的合法用户,该用户接收到所有用户的半解密结果之后,计算c-(N-1)∈Rq,以及并通过以下方式来对密文进行解密:
Figure GDA00036046077600001116
对本发明提出的多密钥全同态加密方案和DHS中的单密钥全同态加密方案进行了效率对比,两种方案同态运行每层电路的时间数据如下:
Figure GDA0003604607760000121
实验表明,选取2层同态运算后做一次重线性化时,运行36层同态乘法电路的速度是DHS方案的1.9倍;选取3层同态运算后做一次重线性化时,运行36层同态乘法电路的速度是DHS方案的2.4倍;因此本方法可以更加高效的运行同态电路。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

Claims (3)

1.具有快速同态运算过程NTRU型多密钥全同态加密方法,包括以下步骤:
步骤一:构造一个单密钥全同态加密方案;
步骤二:将步骤一中的单用户全同态加密方案转化为多密钥全同态加密方案;
步骤三:在步骤二中多密钥全同态加密方案的基础上,构造独立的分布式解密过程;
这里首给出一些符号及术语的定义:l表示为安全参数,整数n=n(l),密文模数q=q(l),其中,n和q的值依赖于l;
定义φd(x)=φ(x)=xn+1为d次分圆多项式,其中多项式的阶n是2的幂次;定义R=Z(x)/φ(x)为多项式环,其中Z(x)为关于x的整数集;定义Rq=R/qR为多项式系数不超过q的环,
Figure FDA0003604607750000011
表示n维的多项式系数不超过q的环;定义环R上的界值为B分布c,表示c中的多项式系数的绝对值不超过B;定义同态运算的电路层模数分别为q0=pt>q1>...>qt-1,其中qi表示第i层电路的模数,qi=pt-i,i∈{0,...,t-1};对于分布X,定义x←X表示从分布X中采样得到元素x;定义
Figure FDA0003604607750000018
表示离x最近的值,
Figure FDA0003604607750000012
表示取x的上界整数,
Figure FDA0003604607750000013
表示取x的下界整数,[N]表示小于或等于自然数N的整数集;
下面介绍BitDecomp(·)和Powersof2(·)技术,此技术用来对密文中的错误进行一定程度的约减;
定义多项式向量
Figure FDA0003604607750000014
Figure FDA0003604607750000015
两个技术定义如下:
Figure FDA0003604607750000016
输入
Figure FDA0003604607750000017
和模数q,输出(x1,0,...,x1,β-1,...,xn,0,...,xn,β-1)∈{0,1}n·β,其中xi,j是xi进行二元比特分解之后的第j比特,其中,比特由低位到高位排列,即
Figure FDA0003604607750000021
Figure FDA0003604607750000022
输入
Figure FDA0003604607750000023
和模数q,输出
Figure FDA0003604607750000024
容易验证:<BitDecomp(x,q),Powersof2(y,q)>=<x,y>mod q;
其特征在于:所述步骤一中优化方式为:
(1)密钥生成:
从分布c中采样多项式f′,g←c,令f=2f′+1,
Figure FDA0003604607750000025
从分布
Figure FDA0003604607750000026
中采样向量
Figure FDA0003604607750000027
计算第0层的计算密钥:
Figure FDA0003604607750000028
输出私钥
Figure FDA0003604607750000029
公钥pk:={h,ζ(0)};
(2)加密过程:
输入明文m,选择多项式s(0),e(0)←c,输出密文:
Figure FDA00036046077500000210
(3)解密过程:
输入电路第L层的密文
Figure FDA00036046077500000211
计算
Figure FDA00036046077500000212
输出解密结果m′:=μmod2;
(4)同态加法:
输入(i-1)层的密文
Figure FDA00036046077500000213
Figure FDA00036046077500000214
(a)密文相加:
Figure FDA00036046077500000215
(b)模交换:
Figure FDA0003604607750000031
其中
Figure FDA00036046077500000317
表示
Figure FDA0003604607750000032
(5)同态乘法:
输入(i-2)层的密文
Figure FDA0003604607750000033
Figure FDA0003604607750000034
(a)密文相乘:
Figure FDA0003604607750000035
(b)模交换:
Figure FDA0003604607750000036
其中
Figure FDA00036046077500000318
表示
Figure FDA0003604607750000037
Figure FDA0003604607750000038
(c)密文乘法:
Figure FDA0003604607750000039
(d)重线性化:
Figure FDA00036046077500000310
(e)模交换:
Figure FDA00036046077500000311
2.根据权利要求1所述的具有快速同态运算过程NTRU型多密钥全同态加密方法,其特征在于:所述步骤二中将单密钥全同态加密方案转化为多密钥全同态加密方案的方式为:对于多项式环R=Z(x)/xn+1和Rq=R/qR,以及环R上B=B(l)有界的错误分布c,同态运算的电路层模数分别为:
q0=pt>q1>...>qt-1,其中qi=pt-i,i∈{0,...,t-1};
(1)密钥生成:
从分布c中采样f′,g←c,令f=2f′+1从而使得f≡1mod2,
Figure FDA00036046077500000312
其中多项式f必须可逆,否则就对f′重新进行采样;从分布
Figure FDA00036046077500000313
中采样
Figure FDA00036046077500000314
计算:
Figure FDA00036046077500000315
输出私钥
Figure FDA00036046077500000316
假设所有的电路层都共享一个f,公钥
Figure FDA0003604607750000041
其中ζ(0)表示第0层的计算密钥,其它层的计算密钥可以由ζ(0)以及各层的模数计算得到:
Figure FDA0003604607750000042
(2)加密过程:
输入明文m,选择s(0),e(0)←c,输出密文:
Figure FDA0003604607750000043
(3)解密过程:
输入密文c∈Rp,假设密文对应的参与方的密钥为f1,...,fN,其中,fi表示第i个参与方的密钥,计算并输出明文:
μ:=(f1…fN)·c(mod p)(mod2)
(4)同态运算:
输入(i-2)层的密文
Figure FDA0003604607750000044
假设四个密文对应的用户的公钥集分别为K1,K2,K3和K4,令K1∪K2∪K3∪K4={pk1,…,pkr};
(a)密文乘法:
Figure FDA0003604607750000045
(b)模交换:
Figure FDA0003604607750000046
(c)密文乘法:
Figure FDA0003604607750000047
(d)重线性化:对于v=1,...,r,
Figure FDA0003604607750000048
定义
Figure FDA0003604607750000049
的二元表示:
Figure FDA00036046077500000410
其中
Figure FDA00036046077500000411
(i)如果pkv∈{K1∩K2∩K3∩K4},令:
Figure FDA00036046077500000412
(ii)如果
Figure FDA0003604607750000051
且pkv存在于K1,K2,K3,K4中的其中三个集合,令:
Figure FDA0003604607750000052
(iii)如果
Figure FDA0003604607750000053
且pkv存在于集合K1,K2,K3,K4中的任意两个,令:
Figure FDA0003604607750000054
最终通过迭代得到
Figure FDA0003604607750000055
(e)模交换:
Figure FDA0003604607750000056
并输出密文
Figure FDA0003604607750000057
其对应的私钥为f1·f2…fr
3.根据权利要求1所述的具有快速同态运算过程NTRU型多密钥全同态加密方法,其特征在于:所述步骤三中解密协议构造方式为:假设密文经过同态电路C运算之后的密文为
Figure FDA0003604607750000058
参与运算的用户集S={i1,...,iN},每个用户的私钥
Figure FDA0003604607750000059
对应的明文信息为
Figure FDA00036046077500000510
j∈[N],其中,j表示小于或等于自然数N的值,整个运算过程产生的噪声值为Eerror,则:
Figure FDA00036046077500000511
(1)当云服务器将经过电路C运算后的密文
Figure FDA00036046077500000512
返回给每个用户之后,每个用户首先各自用自己的私钥对密文进行半解密,得到半解密结果
Figure FDA00036046077500000513
密文c对应的解密密钥为
Figure FDA00036046077500000514
(2)所有用户将各自的半解密结果
Figure FDA00036046077500000515
发送给最终来解密的合法用户,该合法用户接收到所有用户的半解密结果之后,计算c-(N-1)∈Rq,以及并通过以下方式来对密文进行解密:
Figure FDA0003604607750000061
CN201910066014.6A 2019-01-24 2019-01-24 具有快速同态运算过程ntru型多密钥全同态加密方法 Active CN109936435B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910066014.6A CN109936435B (zh) 2019-01-24 2019-01-24 具有快速同态运算过程ntru型多密钥全同态加密方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910066014.6A CN109936435B (zh) 2019-01-24 2019-01-24 具有快速同态运算过程ntru型多密钥全同态加密方法

Publications (2)

Publication Number Publication Date
CN109936435A CN109936435A (zh) 2019-06-25
CN109936435B true CN109936435B (zh) 2022-08-30

Family

ID=66985127

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910066014.6A Active CN109936435B (zh) 2019-01-24 2019-01-24 具有快速同态运算过程ntru型多密钥全同态加密方法

Country Status (1)

Country Link
CN (1) CN109936435B (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110266721B (zh) * 2019-07-05 2020-04-28 西南交通大学 一种基于同态的云辅助动态通用安全多方计算方法
CN110830250B (zh) * 2019-11-13 2021-10-01 中国科学技术大学 利用通用系数发现算法在非欧几里得环上实现秘密共享的方法
CN111586685B (zh) * 2020-04-26 2022-05-03 重庆邮电大学 一种基于格的匿名漫游认证方法
CN112737764B (zh) * 2020-12-11 2023-02-03 华东师范大学 一种轻量级多用户多数据的全同态数据加密封装方法
CN112528303B (zh) * 2020-12-11 2024-01-26 重庆交通大学 一种基于ntru加密算法的多用户隐私推荐方法
CN112601221B (zh) * 2020-12-23 2023-01-06 国网宁夏电力有限公司电力科学研究院 一种基于时间信息的物联网动态ntru接入认证方法
CN112818366B (zh) * 2021-02-01 2023-09-26 东北大学 一种基于ntru全同态加密的图像特征检测方法
CN112906030B (zh) * 2021-03-09 2023-05-16 浙江万里学院 基于多方全同态加密的数据共享方法和系统
CN113660085B (zh) * 2021-08-13 2023-06-06 北方工业大学 一种基于量子同态加密的量子安全多方计算方法
CN113746620B (zh) * 2021-09-13 2024-04-23 深圳前海微众银行股份有限公司 同态加密方法、设备、介质及计算机程序产品
CN113901506B (zh) * 2021-12-07 2022-03-11 南京区盟链信息科技有限公司 一种支持密态下多方私有数据操作的后量子加密方法
CN115378571A (zh) * 2022-06-28 2022-11-22 中国人民武装警察部队工程大学 具有高效密文扩展过程的gsw型多密钥全同态加密方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107294698A (zh) * 2017-07-25 2017-10-24 西安电子科技大学 单密文同态计算的全同态加密方法
CN107359979A (zh) * 2017-07-25 2017-11-17 西安电子科技大学 基于截断多项式的对称全同态加密方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103475472B (zh) * 2013-07-22 2018-07-20 浙江万里学院 环lwe上ntru型的全同态加密方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107294698A (zh) * 2017-07-25 2017-10-24 西安电子科技大学 单密文同态计算的全同态加密方法
CN107359979A (zh) * 2017-07-25 2017-11-17 西安电子科技大学 基于截断多项式的对称全同态加密方法

Also Published As

Publication number Publication date
CN109936435A (zh) 2019-06-25

Similar Documents

Publication Publication Date Title
CN109936435B (zh) 具有快速同态运算过程ntru型多密钥全同态加密方法
CN109889320B (zh) 一种bgv型多密钥全同态加密方法
CN111510281B (zh) 一种同态加密方法及装置
CN111342950A (zh) 一种具备定向解密功能的bgv型多密钥全同态加密方法
CN107864033B (zh) 一种自举型对称全同态加密方法
Li et al. Towards multi-hop homomorphic identity-based proxy re-encryption via branching program
CN112543091B (zh) 密文长度固定的多密钥全同态加密方法
CN112383388A (zh) 一种基于云计算大数据的双秘钥加密系统及方法
Li et al. Achieving multi-hop PRE via branching program
Kumar et al. Image cryptography with matrix array symmetric key using chaos based approach
Bakhtiyor et al. Algebraic Cryptanalysis of O'zDSt 1105: 2009 Encryption Algorithm
CN111817853B (zh) 一种后量子安全的签密算法
Wu et al. New identity based proxy re-encryption scheme from lattices
CN113259107B (zh) 一种基于格的双模式加密方法
CN113901506B (zh) 一种支持密态下多方私有数据操作的后量子加密方法
CN115378571A (zh) 具有高效密文扩展过程的gsw型多密钥全同态加密方法
Zhong et al. Many‐to‐one homomorphic encryption scheme
Luo et al. Leveled hierarchical identity-based fully homomorphic encryption from learning with rounding
Wang et al. A fully secure unidirectional and multi-use proxy re-encryption scheme
Hegde et al. A Comparative study on state of art Cryptographic key distribution with quantum networks
Majumder et al. Pixel Value Differencing Based Image Steganography using AES and SHA-2 Cryptography Method
Innocent et al. Secure two-party computation with AES-128: Generic approach and exploiting specific properties of functions approach
Innocent et al. Secure two-party computation: Generic approach and exploiting specific properties of functions approach
Ukwuoma et al. Optimised Privacy Model for Cloud Data
Li et al. Toward proxy re-encryption from learning with errors in the exponent

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