论文部分内容阅读
从古至今,密码设计者与密码分析者之间的竞争从未停止过。特别是自二战以来电子计算机的产生从根本上增强了双方的实力,使竞争进一步升级。考虑到计算能力的限制,人们更加关心破解一个密码方案需要多长时间,或者说,一个密码方案究竟有多安全。在现代密码学中,一种被称为安全性证明的方法通过使用严格的数学工具来度量密码方案的安全性,提高人们对该方案安全性的信心。虽然安全性证明为密码设计者在与分析者之间的竞争中赢得了优势,但是,效率与安全性证明之间此消彼长的关系又成为密码设计的一个不利因素。为了提供严格的安全证明,通常将冗余信息添加到密码方案的设计中,致使密码方案的运行效率降低。因此,密码设计的一个基本问题是如何在不降低安全性的前提下,简化方案设计,提高运行效率。为了解决该问题,密码学家在过去的几十年里相继提出各种设计简化技术。在本论文中,我们主要探讨公钥加密,数字签名与零知识这三个领域的简化设计技术。公钥加密公钥密码学最早由Diffie和Hellman提出。随后,Rivest,Shamir和Adleman与Merkle和Hellman分别给出了具体的公钥加密方案。但是广泛使用的加密安全概念-选择密文安全则是Naor和Yung提出的。此后,Rackoff和Simon提出了更强的安全概念-自适应选择密文攻击下的不可区分性(IND-CCA2)。现在,自适应选择密文安全已经成为证明公钥加密方案安全性的标准概念。早期的自适应选择密文安全的加密方案,例如,文献,因为基于非交互零知识证明,所以相应的构造方案并不实用。为了构造有效且自适应选择密文安全的加密方案,随机谕示模型下的加密技术大量涌现。然而,随机谕示模型却是密码学界备受争议的问题之一。其中以Canetti,Goldreich与Halevi的反对观点最为著名。他们指出存在这样的方案:在随机谕示模型下,这些方案可以被证明是安全的,而在随机谕示实例化后却是不安全的。近来,Leurent与Nguyen证明了现有满域Hash函数(随机谕示)实例化后潜在的不安全性。为了解决因随机谕示的引入而带来的问题,一个直接的方法是设计安全性证明上不依赖于随机谕示的自适应选择密文安全的公钥加密方案。在该方向的研究中,Cramer和Shoup提出了第一个标准模型下自适应选择密文安全且实用的加密方案。此后,该方案被频繁引用,更多有关技术相继提出。其中,Cramer和Shoup提出的混杂加密(KEM/DEM)引起了密码学界的广泛关注。其中,Kurosawa和Desmedt通过使用非自适应选择密文安全的KEM构造出更为有效的混杂加密方案。近年来,Kiltz,Pietrzak,Stam和Yung改进了Kurosawa-Desmedt技术,提出了一种新的非随机谕示模型下自适应选择密文安全的混杂加密方案。其主要技术是通过使用4-wise independent hash函数有效的将1-universal hash证明系统转化为2-universal hash证明系统。另一项重要的研究进展是Hofheinz和Kiltz做出的。在标准模型下,Hofheinz和Kiltz设计的基于因子分解的公钥加密方案对于加密仅需要约两次幂运算,而解密需要约一次幂运算。但关于非随机谕示模型下基于离散对数问题的加密方案,DHIES当属最为有效的方案之一,尽管其安全性证明依赖的是非标准假设。然而,标准模型或标准假设下的加密方案都有一个共同的弱点:其计算量往往是随机谕示模型下同类方案的几倍,从而严重影响方案在实际中的应用。相反,随机谕示模型下方案的优点正在于其简单的设计与低廉的计算消耗。为了保持这种简单性的同时使安全性证明不依赖于随机谕示,密码研究人员已经开始探讨新的计算困难假设。最近,Pandey,Pass和Vaikuntanathan通过抽象随机谕示的具体性质,提出了多种复杂性理论新假设。基于这些假设,他们成功的解决了一系列公开问题,其中包括构造非交互式并发不可延展的串委托协议。这些研究成果为设计无随机谕示模型下有效而可证安全的密码方案指出了一个有趣的方向。我们注意到,尽管这些新假设强于传统密码学困难性假设,但是仍然不失合理性。类似于DDH假设的发展,此类假设将会得到密码学界更加广泛的认同与深入的探讨。通过抽象随机谕示的具体性质,我们进一步研究了Pandey等人的假设并提出了其变形假设-自适应DDH假设。在该假设基础上,我们证明了修改后的Zheng-Seberry加密方案在无随机谕示模型下是自适应选择密文安全的。Zheng和Seberry提出三种使公钥加密抵抗选择密文攻击的方案。三种方案的本质是相同的:对密文附加一个与明文相关的标签。基于Gap Diffie-Hellman假设(GDH),Baek和Zheng在随机谕示模型下证明了第一个方案Zheng-Seberry1wh的安全性。而另外两个方案的安全性证明一直作为公开问题存留至今。我们工作的重点是适当修改Zheng-Seberry的第二个方案Zheng-Seberryuh,从而可以利用自适应DDH假设证明其自适应选择密文安全。Zheng-Seberryuh方案至今仍然具有研究价值,这是因为:第一,Zheng-Seberryuh通过使用universal hash函数使其能够抵抗自适应选择密文攻击,同时避免了使用非标准输出的单向hash函数,从而成功的克服了所指出的潜在危险。第二,明文长度是任意的,而密文冗余是常数。所以,当明文长度增加时,密文明文长度的比值将趋于1。与Kiltz等人的方案(其安全性依赖于DDH和AE-OT安全对称加密)相比,修改后的Zheng-Seberryuh方案在设计上更为简单且只依赖于自适应DDH。更重要的是,修改后的Zheng-Seberryuh计算量低于Kiltz等人的方案。与DHIES(其安全性依赖于Oracle Diffie-Hellman(ODH),对称密码和消息认证码)相比,修改后的Zheng-Seberryuh安全性依赖于自适应DDH且同样保留了Zheng-Seberryuh计算上的有效性。但是,公平的说,DHIES与修改后的Zheng-Seberryuh在安全假设方面各有千秋。DHIES安全性依赖于三个假设-对称密码,MAC和ODH,实现符合这三种假设的候选函数相对容易。而我们的方案所依赖的自适应DDH假设则稍强于ODH假设。环签名公钥签名的概念最早由Diffie和Hellman提出,而早期具体的实现方案则是Rivest,Shamir和Adleman提出的。关于数字签名安全性的相关概念,文献做出了全面深入的讨论。众所周知,签名的目的是提供对消息来源的认证,同时保证消息在传送过程中未被修改。然而在某些应用中,我们需要隐藏签名者的身份。正是由于这种实际需求,数字签名中出现了群签名与环签名的概念。环签名最早由Rivest,Shamir和Tauman提出,目的是为签名者提供匿名性。但是与群签名不同,环签名中没有群管理员,不需预设群成员,不需进行群成员的设置、删除等操作。关于环签名的许多工作随后相继被提出,例如[4]、[58]、[20]、[43]等。大部分环签名方案是在随机谕示模型下证明安全的。部分方案给出了标准模型下的证明,但是,这些方案也存在一些不尽如人意的地方:Xu,Zhang和Feng给出一种标准模型下的环签名方案,然而其证明存在缺陷;Chow,Liu,Wei和Yuen的方案基于新的假设;Bender,Katz和Morselli的方案基于陷门置换,但是他们的方案因为使用了针对NP的一般性ZAPs,故其方案并不实用。不过,对环签名的安全模型做出了细致且全面的讨论。近年来,Shacham和Waters与Boyen分别提出了无随机谕示的有效环签名方案。特别是文献中,Shacham-Waters方案是第一个基于标准假设的无随机谕示下的有效环签名。具体来说,在公共随机串模型下,基于计算Diffie-Hellman假设和子群判定假设,Shacham和Waters构造出线性大小的环签名。对于具有l个成员的环,签名大小为2l+2个群元素,而验证则需要2l+3次配对运算。并且,方案的安全性是在Bender,Katz和Morselli所提出的最强环签名安全模型下证明的。当考虑具体的应用环境时,我们指出,基于的基本思想,Shacham-Waters环签名方案可以更为有效的使用。在文献中,Dodis,Kiayias,Nicolosi和Shoup通过使用单向域累加器引入环签名的群公钥的概念(环中任何成员都可以计算该群公钥)。这种构造方法使一个群公钥对应多个环成员的密钥。正是由于该群公钥,他们指出在某些特殊情况下,例如,环成员在较长时间内保持不变,环签名的大小可以为常数。我们注意到Shacham-Waters方案同样可以生成“群公钥”,且该群公钥能够成为提供可链接性的标签,所以我们进一步将Dodis等人的构造方法应用于Shacham-Waters方案。可以考虑以下应用环境,签名者A需要长时间作为某个环的成员,并且,A需要经常发送她的环签名给接受者B,同时让B确信他每次所收到的签名全部由环中某个固定的成员签署。对于以上应用环境,我们改造后的Shacham-Waters方案比传统的无随机谕示环签名方案更为有效。因为在该方案中签名者可以决定是否提供可链接性,所以我们将这种特殊的Shacham-Water方案称为自主可链接的环签名。并发统计零知识论据Goldwasser,Micali和Rackoff提出的零知识证明是一种交互式证明方法。在该证明中,一方可以向另一方证明一个命题为真,同时不泄露任何其他信息。提供证明的一方被称为证明者,而验证证明的一方被称为验证者。不像传统数学证明中证明者提供固定的一系列共同认可的证据,零知识证明更加强调证明者与验证者之间的交互。并发零知识的概念最早由Dwork,Naor和Sahai提出。并发零知识要求即使协议的多个证明复本在异步环境(例如,因特网)下运行,协议仍然保持零知识性。Canetti,Kilian,Petrank和Rosen证明了在标准模型(不使用公钥基础设施PKI)下,BPP之外的语言不存在常数轮的黑箱并发零知识证明协议,同时对此类协议他们给出了一个轮数下界o(log n/log log n)。Richardson与Kilian第一次对于所有NP语言给出了并发零知识证明协议,并且指出多项式轮数对于并发零知识协议是足够的。随后,Prabhakaran,Rosen和Sahai改进了之前的分析并证明ω(log n)轮已经足够。正如Micciancio和Petrank所指出的,尽管标准模型下的并发零知识协议不如PKI模型下的协议有效,但是标准模型可以应用在无PKI的环境,或设置公钥基础设施与公共随机串。例如,标准模型的协议可以用来向证书授权方注册公钥和引导系统。在DDH假设下,Micciancio和Petrank提供了一种可以将任何公开抛币的诚实验证者零知识证明系统(HVZK)有效的转化为并发零知识证明系统的方法。但是,他们的转化并不保持统计零知识性。最近,Goyal,Moriarty,Ostrovsky和Sahai第一次利用任意单向函数构造出针对所有NP语言的并发统计零知识论据。具体来说,他们给出了从任意诚实验证者统计零知识论据到并发统计零知识论据的一般转化方法,再将该转化应用于Nguyen,Ong和Vadhan的统计零知识论据协议,从而得到由任意单向函数构造的针对所有NP语言的并发统计零知识论据。Goyal等人使用了修改后的PRS前导,且该前导需要O(l2)个委托(其中l表示前导的轮数)。协议中,验证者采用了计算零知识证明和抛币协议产生的随机数。关于安全证明,Goyal等人所克服的最困难的问题在于合理性证明。因为验证者所使用的委托是统计绑定的(计算隐藏),证明者可能会趁机欺骗验证者,因此,合理性证明并非显然。但是,通过使用计算零知识证明和混杂论据的讨论方法,Goyal等人成功克服了这一难题。通过进一步分析Goyal等人的并发统计零知识论据协议,我们指出,利用证据不可区分协议,协议可以进一步简化为更加实际的方案。具体来说,Goyal等人协议中的部分计算零知识证明可以用∑OR协议(证据不可区分知识证明WIPOK)替代,而WIPOK协议足以用来证明并发统计零知识论据协议的合理性。并且,我们利用Richardson和Kilian的前导替代PRS前导,从而将委托个数降为O(l)。这些以“并行”方式运行的WIPOK不但起到前导的作用而且移除了Goyal等人协议中的部分计算零知识证明。此外,因为WIPOK协议并非零知识的,所以简化后协议的合理性证明要比原协议的合理性证明更加微妙。