技术领域
本发明涉及密码学技术领域,尤其涉及一种受限Paillier加密系统及其在密钥分发和身份认证中的应用方法。
背景技术
Paillier加密系统,是由Paillier1999年在发明的概率公钥加密系统。其算法是是同态加密算法。同态加密除了能实现数据的基本加密,还能保证在密文上直接进行操作,其结果解密后与在明文上进行操作的结果一样。人们不仅将Paillier算法用于公钥加密,还应用于各种云计算应用,从安全角度来说,用户一般会担心云服务中数据的保密存储和保密计算问题,所以不敢将敏感信息直接放在第三方云上进行处理,但是如果用的是同态加密技术,那么用户可以放心地使用,将同态加密应用到云服务中。
Paillier算法只适合一对一通信,通信双方共用一个模数N,一方用公钥加密数据,另一方用私钥解密数据。
由于Paillier算法不能用于一组成员通信。Cramer和Shoup提出了Paillier算法的一个变种,被称为改进的Paillier算法,其中一组成员可以共用一个模数N,进行通信和多方安全计算。每一个组内成员拥有一对公私钥对,可用公钥加密数据,用对应的私钥解密数据。然而,创建改进的Pailliar加密系统的参与者,往往是一个组的管理员,拥有一个强私钥,这个强私钥是原Paillier算法自带的私钥。强私钥可解密组内成员的任何密文。若组管理员是不诚信的,截获组内成员的通信加密数据,并用强私钥进行解密,便可知道通信的内容,那么加密数据的保密性不复存在。
因此,改进的Paillier算法带了一个安全问题,组管理者可解密组内成员的任何加密数据。为了提升改进Paillier加密体制的安全性,其强私钥的解密功能需要被抑制。但目前还没有限制改进Paillier加密体制的强私钥解密的方案。
发明内容
本发明的目的是提供一种受限Paillier加密系统及其在密钥分发和身份认证中的应用方法,强私钥不能解密组内成员的密文数据,同时受限Paillier加密系统为基础实现了组成员身份证书的分发和密钥管理。
本发明的目的是通过以下技术方案实现的:
一种受限Paillier加密系统,包括:
密钥生成单元,用于根据随机选取的素数生成系统的强私钥与模数,并且根据系统中的用户请求结合模数反馈各用户的弱私钥、公钥、以及用户之间的联合公钥;
加密单元,用于采用加法加密算法或者乘法加密算法对明文进行加密,得到加法密文或者乘法密文;
解密单元,用于通过单个用户的弱私钥或者系统的强私钥解密加法密文,或者拆分强私钥算法将强私钥拆分后,通过多个用户的配合使用部分强私钥加性解密算法解密加法密文,或者通过单个用户的弱私钥解密乘法密文;
密文转换单元,通过用户之间的联合公钥,将乘法密文转换为混合密文,和/或将混合密文转化为加法密文;其中,混合密文用于实现用户之间共有秘密的访问控制。
一种密钥分发和身份认证方法,基于前述的系统实现,包括:
每一个组成员U
组内成员在进行通信之前,进行身份认证:当前组成员接收其他组成员发送的公钥、身份号及身份证书,当前组成员利用来自其他组成员的信息、以及组管理者提供的验证密钥,使用部分强私钥加性解密算法计算所述其他成员加入系统时所选取的随机数r
由上述本发明提供的技术方案可以看出,受限Paillier加密系统中,强私钥不能解密组内成员的密文数据,确保了数据的安全性;此外,限制的Paillier加密系统不仅支持加解密,也支持密钥管理、身份证书的分发与验证,在功能上有完备性。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。
图1为本发明实施例提供的一种受限Paillier加密系统的示意图;
图2为本发明实施例提供的混合密文用于实现用户之间共有秘密的访问控制的流程图。
具体实施方式
下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。
本发明实施例提供一种受限Paillier加密系统,如图1所示,其主要包括:
密钥生成单元,用于根据随机选取的素数生成系统的强私钥与模数,并且根据系统中的用户请求结合模数反馈各用户的弱私钥、公钥、以及用户之间的联合公钥。
加密单元,用于采用加法加密算法或者乘法加密算法对明文进行加密,得到加法密文或者乘法密文。
解密单元,用于通过单个用户的弱私钥或者系统的强私钥解密加法密文,或者拆分强私钥算法将强私钥拆分后,通过多个用户的配合使用部分强私钥加性解密算法解密加法密文,或者通过单个用户的弱私钥解密乘法密文。乘法密文只能用单个用户的弱私钥解密,而强私钥无法解密乘法密文;弱私钥和强私钥都可解密加法密文,这是加法密文和乘法密文的特性所决定的,因此,系统中用户之间可以通过乘法加密算法加密明文数据,使得管理员无法通过强私钥解密乘法密文。
密文转换单元,通过用户之间的联合公钥,将乘法密文转换为混合密文,和/或将混合密文转化为加法密文;其中,混合密文用于实现用户之间共有秘密的访问控制。原Modified Paillier加密算法中的生成元是从[1,N
为了便于理解,下面针对系统各个部分的优选实施方式做详细的说明。
一、密钥生成单元。
密钥生成(KeyGen)单元中,随机选取两个素数记为p′和q′,计算两个中间参数p=2p′+1,q=2q′+1,从而得到系统的模数N=pq,以及系统的强私钥λ=lcm(p-1,q-1)=2p′q′,lcm(x,y)表示x与y的最大公约数;选取随机数a(
用户选择的弱私钥范围为θ∈[1,N
将用户U
二、加密单元与解密单元。
1、加法加密与解密。
1)加法加密(AddEnc)。
本发明实施例中,采用加法加密算法对明文m∈Z
2)加法解密。
A、通过单个用户的弱私钥解密加法密文(AddDecWkey):使用单个用户的弱私钥θ解密加法密文
B、通过强密钥解密加法密文(AddDecSkey):强密钥λ解密加法密文
C、拆分强私钥算法将强私钥拆分后,通过多个用户的配合使用部分强私钥加性解密算法解密加法密文。
C1、拆分强私钥(SkeyS)。
通过拆分强私钥算法将强私钥λ拆分为两个部分,分别记为λ
将λ
C2、部分强私钥加性解密的第一步(AddDecPSkey1):
用户U
C3、部分强私钥加性解密的第二步(AddDecPSkey2):
用户U
2、乘法加密与解密
1、乘法加密(MulEnc)。
采用乘法加密算法对明文m∈Z
2、乘法解密(MulDec)。
通过单个用户的弱私钥θ解密乘法密文
三、密文转换单元。
1、乘法密文转换为混合密文(MulToMix),主要包括:
1)用户U
2)用户U
2、混合密文转化为加法密文(MixToAdd),主要包括:
1)用户U
3)用户U
3、混合密文用于实现用户之间共有秘密的访问控制(ACCS)。
用户U
1)用户U
2)用户U
3)用户U
基于上述受限Paillier加密系统,本发明另一实施例还提供一种密钥分发和身份认证方法,应用场景如图2所示,主要说明如下:
一、密钥分发与下发身份证书。
在用户U
1)每一个组成员U
2)KGC接收到新加入的组成员U
具体来说:Cert
二、恢复弱私钥。
如果用户U
1)组内成员U
2)KGC利用强私钥λ解密出组内成员U
3)组内成员U
三、身份认证。
组内成员U
1)组成员U
2)当前组成员U
为了说明本发明上述方案的性能,下面从安全性与运行代价两个层面进行分析,并提供运行代价的实验结果。
一、安全性分析。
1、被限制的Paillier加密体制中加法密文的安全性
复合判定假设(DCR):给一个整数z判定其是否是一个模N
证明:公钥为h=g
2、实现共有秘密的访问控制协议(ACCS)的安全性。
所有的密文都是是抗选择明文攻击的。用户U
3、弱私钥的安全性
在用户注册阶段,弱私钥是被隐藏后,发给KGC,KGC不能知道弱密钥的信息。在弱私钥取回阶段,KGC只知道r
4、身份认证的安全性
①身份证书的正确性:根据SkeyS,AddDecPSkey1和HAddDecPSkey2三个算法的特性,可知正确的身份证书可以通过验证。
②身份证书的可靠性:从错误的身份证书提取出的r′=AddDecPSkey2(Cert,verk)。哈希函数具有抗强碰撞性使得H(r′)≠H(r),所以错误的身份证书不能通过身份验证。
③身份证的不可伪造性:signk是身份证书的签名密钥,verk是身份证书的验证密钥。由Shair秘密分享方案的特性知,verk不能恢复出signk,无法伪造含signk的身份证书。
④自适应选择消息攻击下的存在性不可伪造:用两个已知的身份证书Cert
二、运行代价的理论分析。
一个具有指数长度为|N|的指数运算需要1.5个N的乘法运算,也就是说若r的长度是N,计算g
表格1给出了被限制Paillier加密体制中的各个算法的计算代价。
表1各算法的计算代价
表格2给出了共有秘密的访问控制协议(ACCS)各个用户的计算代价。
表2各用户的计算代价
表3给出身份证书分发和密钥管理协议(ldDis&KeyMan)、私钥取回协议(PriKeyRec)、身份认证协议(ldAuth)的计算代价。
表3各协议的计算代价
上述三类协议各自对应前文介绍的密钥分发与下发身份证书阶段、私钥恢复阶段、身份认证阶段。在私钥取回协议(PriKeyRec)中KGC的计算成本是在模N平方下的1.5|N|乘法计算量,而用户U
三、运行代价的实验结果。
下面以|N|=1024(实现80位安全)为具体的示例进行介绍。
本示例中,我们用个人电脑做实验采用Intel(R)Core(TM)i5-4490@3.30GHzprocessor,8GB内存和Windows7 professional操作系统。实验结果用Java构建的自定义模拟器运行1000次,然后取平均值。
表4给出了被限制Paillier加密体制中的各个算法在|N|=1024的计算代价。
表4实验中各算法的计算代价
表格5给出了共有秘密的访问控制协议(ACCS)各个用户在|N|=1024的计算代价。
表5实验中各用户的计算代价
表格6给出身份证书分发和密钥管理协议(IdDis&KeyMan)、私钥取回协议(PriKeyRec)、身份认证协议(IdAuth)的在|N|=1024计算代价。
表6实验中各协议的计算代价
表格4、表格5和表格6中的计算代价在达到80比特安全下(|N|=1024),进行测量,以毫秒(ms)为单位,耗时少,可用于实际应用中。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例可以通过软件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,上述实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将系统的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明披露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。
机译: 加密系统中的密钥分发设备
机译: 加密系统中密钥分发的设备
机译: 用于它们的加密系统,加密密钥中继设备和量子加密密钥分发方法