收藏 分享(赏)

现代密码学 学习心得.doc

上传人:dzzj200808 文档编号:2532861 上传时间:2018-09-21 格式:DOC 页数:8 大小:66KB
下载 相关 举报
现代密码学  学习心得.doc_第1页
第1页 / 共8页
现代密码学  学习心得.doc_第2页
第2页 / 共8页
现代密码学  学习心得.doc_第3页
第3页 / 共8页
现代密码学  学习心得.doc_第4页
第4页 / 共8页
现代密码学  学习心得.doc_第5页
第5页 / 共8页
点击查看更多>>
资源描述

1、第 1 页 共 8 页混合离散对数及安全认证摘要:近二十年来,电子认证成为一个重要的研究领域。其第一个应用就是对数字文档进行数字签名,其后 Chaum 希望利用银行认证和用户的匿名性这一性质产生电子货币,于是他提出盲签名的概念。对于所有的这些问题以及其他的在线认证,零知识证明理论成为一个非常强有力的工具。虽然其具有很高的安全性,却导致高负荷运算。最近发现信息不可分辨性是一个可以兼顾安全和效率的性质。本文研究混合系数的离散对数问题,也即信息不可识别性。我们提供一种新的认证,这种认证比因式分解有更好的安全性,而且从证明者角度看来有更高的效率。我们也降低了对 Schnorr 方案变形的实际安全参数的

2、 Girault 的证明的花销。最后,基于信息不可识别性,我们得到一个安全性与因式分解相同的盲签名。1概述在密码学中,可证明为安全的方案是一直以来都在追求的一个重要目标。然而,效率一直就是一个难以实现的属性。即使在现在对于认证已经进行了广泛的研究,还是很少有方案能兼顾效率和安全性。其原因就是零知识协议的广泛应用。身份识别: 关于识别方案的第一篇理论性的论文就是关于零知识的,零知识理论使得不用泄漏关于消息的任何信息,就可以证明自己知道这个消息。然而这样一种能够抵抗主动攻击的属性,通常需要许多次迭代来得到较高的安全性,从而使得协议或者在计算方面,或者在通信量方面或者在两个方面效率都十分低下。最近,

3、poupard 和 stern 提出了一个比较高效的方案,其安全性等价于离散对数问题。然而,其约减的代价太高,使得其不适用于现实中的问题。几年以前,fiege 和 shamir 就定义了比零知识更弱的属性,即“信息隐藏”和“信息不可分辨”属性,它们对于安全的识别协议来说已经够用了。说它们比零知识更弱是指它们可能会泄漏秘密消息的某些信息,但是还不足以找到消息。具体一点来说,对于“信息隐藏”属性,如果一个攻击者能够通过一个一次主动攻击发现秘密消息,她不是通过与证明者的交互来发现它的。而对于“信息不可分辨”属性,则意味着在攻击者方面看来,证据所用的私钥是不受约束的。也就是说有许多的私钥对应于一个公钥

4、,证据仅仅传递了有这样一个私钥被使用了这样一个信息,但是用的是哪个私钥,并没有在证据传递的信息中出现。下面,我们集中考虑后一种属性,它能够提供一种三次传递识别方案并且对抗主动攻击。Okamoto 描述了一些 schnorr 和 guillou-quisquater 识别方案的变种,是基于 RSA 假设和离散对数子群中的素数阶的。随机 oracle 模型 :最近几年,随机 oracle 模型极大的推动了研究的发展,它能够用来证明高效方案的安全性,为设计者提供了一个有价值的工具。这个模型中理想化了一些具体的密码学模型,例如哈希函数被假设为真正的随机函数,有助于给某些加密方案和数字签名等提供安全性的

5、证据。尽管在最近的报告中对于随机 oracle 模型采取了谨慎的态度,但是它仍然被普遍认为非常的有效被广泛的应用着。例如,在这个模型中被证明安全的第 2 页 共 8 页OAPE 加密方案就被集成进 VISA 和 Master 信用卡系统的模块中。有许多其他的方案在这个模型中的安全性也是有效的。11 相关的工作:前几年,Schnorr 提出了一个高效的基于素数阶子群离散对数问题的识别方案和签名方案的变种,这个著名的方案我们就不再介绍了。这个以零知识闻名的方案为了抵抗主动攻击获得较高的安全性,使用了许多次固定长度的挑战应答交互。这样,高的安全性就需要很大的通信量和很大的存储空间存储预计算量。虽然没

6、有提出安全的预处理方案,还是有许多应用中假定如果使用较大规模的挑战应答它的安全性与基本的三次通过协议相当。其安全性依赖于未经证明的假设,即假设这个方案是“信息隐藏”的。在定义了信息隐藏和信息不可分辨属性以后,brickell 和 mccuely 提出了使用信息隐藏属性的 schnorr 方案的一个变种。接着, okamoto 提出了一个基于信息不可分辨属性的三次通过协议,可以证明其安全性可以抵挡主动攻击。这些协议中有些是基于素数阶子群的离散对数问题,有的是基于 RSA 假设。但是所以这些方案都并不比原来的 schnorr 方案更加有效。在 1991 年,Grault 利用合数作为模代替素数,提

7、出了 schnorr 的一个变种,从证明者的角度来说提高了效率。Poupard 和 stern 给出了这个方案的统计意义上的零知识属性的证明,证实了这个方案的安全性等价于合数的离散对数问题。然而,这个方案,对于高的安全性要求也需要许多次交互,而大的简化只能适用于大的不实用的数据。最近他们改进了他们的简化,使其安全性仅仅等价于因数分解。这是仍在进行的一项工作。至于签名方案,由于在 pointcheval-stern 和 ohta-ocamoto 的论文中已经能够有效的将任何三次通过协议转化成签名方案,这样,对于识别协议的有效解决,对于签名协议也同样有效。盲签名:在 1982 年,chau 就想要

8、产生一种电子货币的属性,也就是具有匿名性。他指出一种方法就是将电子货币的概念和盲签名结合起来。盲签名需要涉及到银行和用户两个参与者。用户想要得到一个经过银行签名的货币,但是在签名以后,银行无法追踪这个货币和签名。后来就提出了基于 RSA 和离散对数问题的签名方案。但是这些方案都无法证明是安全的,而可以证明为安全的方案只有理论上的应用,没有什么实践价值。一直到 1996 年盲签名才可以证明为安全的。它们是基于 okamoto 的信息不可分辨协议,可以证明碰撞是很难被计算出来的。代表系问题离散对数: 。一个碰撞泄漏了 h 在基 g 中的phgsrfsrhgpmod),(,离散对数,即: fsrf

9、srhgphgp),(),( )/(, RSA 问题 /因式分解: NasrereaNod,选取适当参数,一个碰撞泄漏了 a 模 N 的 e 阶根,即:sfsrf reaeaN m)/(),(),( , 对足够大的质数 e,则根据 Bezout 等式可以解得 a 模 N 的 e 阶根,否则,如果 e 是一个合数而 N 是一个 Blum 整数,则我们可以得到 N 的因式分解。后来,另一个有名的信息不可识别性问题被用到模二次方根: 对于任Nxfmod)(2意的 满足2/0x第 3 页 共 8 页),gcd()(的 因 子NyxyfxfN在这些论文中,盲签名方案被认为是可证明安全性的,可以抵御比较攻

10、击。这就意味着银行保证 10 美元给用户后,用户得到的不能多于 10 美元。然而这些方案的主要缺点是计算量大。至今,盲签名所面对的一个重要挑战是:从签名者角度看来,他们需要高效并且可证明是安全的签名,因为他们可能同时会签成千上万的签名。12 论文要点本文中,我们首次研究通过混合系数的离散对数所提供的信息不可识别性。我们首先回顾 Girault 的方案,不幸的是相对 Schnorr 的方案,这个方案仅仅使用固定长度的挑战证明零知识,需要很多次的迭代才产生高安全性。这里,我们使用信息不可识别性证明这个方案的安全性,即使它仅仅通过一次迭代。对于先前的结果,在实用性方面有了很大提高。更进一步,即使我们

11、使用很小的密钥,我们也可以对一个有效的方案证明其安全性。其后我们认为基于该问题的盲签名的安全证明和因式分解相同。除了可证明安全性,新方案的主要特性是有效性,从银行角度看来,它仅仅需要一次乘法(不是模乘) 。2离散对数问题feige 和 shamir 已经证明,信息不可分辨属性对于识别协议来说已经足够提供用于抵抗主动攻击的安全性了。Pointcheval 和 stern 进一步证明了盲签名的这一属性还提供了抵抗并行攻击下的多次伪装攻击的安全性。这是利用了函数 fN,g(x)=gx mod N,其中 N,g 是选择好的。下面我们定义一些有用的概念。定义一(强素数) 如果一个素数 p=2r+1,其中

12、 r 是一个大整数,其素数因子都大于 ,则称 p 是 强素数。定义二(强 RSA 模数) 如果 Npq,并且 p 和 q 都是 强素数,N 就被称为 强 RSA 模数。定义三(不对称基) Npq 是一个 RSA 模数,在 ZN*中的基 g 如果在 Zp*和在 Zq*中的 Ord( g)的奇偶性不一样,就说它是不对称基。也就是说,不对称基就是仅仅在 Zp*和Zq*的两个子群其中之一的一个二次剩余。定理四 如果 Npq 是一个任意的 强 RSA 模数,对于某些 2,g 是一个阶大于 的在 ZN*中的任意不对称基,那么定义为 xg x mod N 的一个 fN,g()的碰撞,可以将 N分解。证明:

13、我们用 2l 标记在 ZN*中 g 的阶。可以认为这一阶就是偶数,因为它至少,并且恰在子群中的一个,例如 Zp*中是偶数。而且,l 是奇数,并且大于 ,因为 l 大于/21,(p-1)/2 和(q-1)/2 的任何素数因子都是奇数,并且大于 。因此,g2l=1mod p, g2l=1modq,但是 gl=-1mod p,gl=1mod q让我们假设我们有一个 x-e0,.2 k-1y=r+es -x=gyvemod N 我们有两个安全参数 k 和 k,其中 k 代表了挑战的长度,k 代表了泄漏的信息。还有私钥的一个范围。接着,我们定义 R2k kS。我们使用 RSA 模 N=pq 以及属于 Z

14、N*的一个高阶元素。证明者随机的选择一个属于0,:,S-1 的私钥 s,公布 vg s mod N。证明者选择一个随机数 r 属于0, 。 。 。 。 。 。 ,R 1 ,发送数值 xg r mod N;验证者随机的选择一个挑战 e 属于0,.2 k-1,送给证明者;最后,证明者计算并且发送 y=r+es;验证者检验是否 x=gyvemod N.不能说这是知道基 g 模 N 中关于 v 的离散对数的证据,但是在特殊情况下,N 是一个2k强 RSA 模数时(包括实际应用中典型的强 RSA 模数)可以应用下面的定理:定理 5 假设 N 是一个 2k强 RSA 模数,如果存在一个攻击者 A,其运行时

15、间界定为T,对于 不可忽略的小量 v,能够以大于 22k 的概率 被接受,那么基 g 模 N 的离散对数可以在界定为 4T/S/Ord (g)的时间内被计算出来。证明 用古典的开方技术,我们能够得到两个对于同一个声明 x 的有效证明,一对(,)使得 v =b mod N,其中 0=2Ord(g),这一协议抵抗主动攻击的安全性是等价于分解 N 的。证明 为了证明这个识别方案的安全性能够抵抗主动攻击,我们选择一个随机的私钥s-e0,.2 k-1y=r+es -h=H(g yvemod N)? 备注 9 需要注意的是我们仅仅证明了在伪装的主动攻击下比因式分解更为困难,这个交互协议的安全性实际上已经用

16、零知识属性证明了是等价于合数离散对数问题的。尽管如此,当我们有了 N 的因式分解,剩下的安全性就完全等价于 schnorr 识别方案,可以预见,素数阶子群的离散对数问题仍然难以解决。而且,即使为了高的安全性级别而提高挑战程度,安全性仍然保持。而基于零知识属性的协议就不具备这种特点。让我们比较一下从伪装者那获得两个应答的简化的花费。利用 Poupard 和 stern 的证明,这将导致计算 v 的离散对数的更多的计算量,用我们的证明,这立刻就导致了 N 的分解。第 6 页 共 8 页Poupard 和 stern 的约减。我们假设使用 k 位的挑战,存在一个以概率 2*2 -k 成功的伪装者,显

17、然,在经过一个不超过 4/ 次交互以后,我们以超过一半的概率得到两个有效应答。这样,在时间 T 之内,概率超过 2*2-k 消极伪装,能够被用来在时间 4T/ 之内找到同一个声明 x 的两个不同的应答。另外,在时间 T 之内,概率超过 2*2-k 的 积极伪装,在经过 l 次主动攻击之后,能够在时间 4T/l*2 k 内找到同一个声明的两个不同的应答。这一模仿需要很多次重启,几乎是等同于 l*2k*T。我们的约减 利用信息不可分辨属性,被动伪装需要同样的复杂性。另一方面,主动攻击的伪装既然没有模仿,只要时间 4T/ 就可以找到同一声明的两个不同应答。总结 以大于 22k 的 概率 进行伪装攻击

18、,l 次以后能够在 2klT 的时间内算出离散对数(由于零知识属性)或者在时间 4T/ 内因式分解 N(由于信息不可分辨属性) 。后者比前者的时间要少很多。这样抵抗主动攻击的高安全等级等价于因式分解:例如k30,l2 40,因式分解的约减花费少于 230,而离散对数的花费要 270,没有什么实际意义。通信负荷 由以上证明,S 可以被选择为非常少的字位数,只要 S=2Ord(g)而且,通信量也可以通过使用 gitault 和 stern 的技巧进行优化。事实上,一个返回值为 80 位消息摘要的哈希函数需要 264 次计算才可能碰到 5 次碰撞。所有的这些特性都有利于产生非常高效和低花费的协议。3

19、.2 签名我们当然可以将前面的识别协议转换为签名协议,只要使用一个哈希函数产生一个随机的挑战就可以了。这一方案介绍如下:初始化。Npq 是一个 2k强 RSA 模块,g 是属于 ZN*的一个不对称基元素,阶高于 2k。H 是一个哈希函数。产生密钥。私钥:s 属于0,.,s-1公钥:vg s mod N。对消息 m 签名。产生随机数: r 属于0,。 。 。 。 。 。 ,R1,计算 xg r mod N,得到eH(m,x) ,在计算 yr es ,签名就是:(e,y) ;验证(m,e,y): eH(m,g yvemod N)?这一方案抵抗伪装者使用零消息攻击的安全性在随机 oracle 模型中

20、表现的十分清楚。由于信息不可分辨属性,我们不需要进行伪装以抵抗动态选择消息攻击。事实上,我们可以利用一个有私钥 s1 的签名者,使用分支引理或者 ID 化简引理,分离出第二个私钥。正如前述,只要 S=2Ord(g) ,我们就能以很高的概率得到模数 N。定理 10 如果 S=2Ord(g) ,使用动态选择消息攻击的潜在伪装者攻击这个方案的难度要高于因式分解。3.3 盲签名现在,我们考虑一个基于前面所述问题的盲签名方案。如下所示:Npq 是一个 2k强 RSA 模块,g 是属于 ZN*的一个不对称基元素,阶高于 2k。第 7 页 共 8 页私钥:s 属于0,.,s-1公钥:vg s mod N。随

21、机数:r 属于0,。 。 。 。 。 。 ,R 1银行 用户xg r mod N0,M-1,h=g mod N,-2 k.2k-1,=xhv mod N=f(m,)e=-直到 e0,.2 k-1y=r+es -x=gyve mod N?u=y+=g uv mod N?盲签名方案并不是那么简单,因为这一方案的初始化需要仔细的选择安全参数。然而,所产生的方案从银行的角度来说很有用。事实上,它的计算量是很少的。描述 由于上面所述的信息不可分辨属性,我们希望得到一个至少比因式分解的安全性更高的盲签名方案。其中,k 是安全参数,k是泄漏信息参数:我们定义 R2 kk S 和M2 k 2kS,其中 S=2

22、Ord(g),定义了私钥的范围。安全性 首先我们要证明这个方案是盲的。例如,即使是一个不诚实的银行,也无法在以后将一个用户和一个消息签名对联系起来。这是匿名协议非常重要的一个属性。我们想要银行无法认出用户,即使拥有了消息和签名对。定理 11 这一方案是统计上的盲签名方案。证明 这一协议的输出的签名在前面已经经过了讨论,已证明了是安全的。现在我们只要证明它是盲的就可以了。令(m,)是在执行完一次盲签名方案,经过两次交互(x1,e1,y1),(x2,e2,y2).所得到的签名。要看是否有可能知道它是来自那一次的结果。这样,我们就要研究下面的一些可能性。对于 i=1,2:pi(,)Pr=xig v,

23、 =ei+,=yi+ |0=|Ord(g)|) 168 位|R| (=|S|+k+k) 256 位 360 位|M| (=|S|+k+2k)424 位在线花费(证明者)Mult(24,168)+Add(256,192)Mult(128,168)+Add(360,296)通信 360 位(45 字节)签名大小 488 位(61 字节)552 位(69 字节)可以看到,既然声明可以预先计算,在一次证明中证明者只要进行一次加法和一次乘法。对于一个使用推荐的参数的盲签名来说,银行只要将 128 位的整数与 168 位的相乘,然后加上一个 360 位的整数。与 shnorr 方案相比,最重要的受益是对于

24、模数化简的压缩。然后花少量的存储空间,银行就可以每秒盲签成千上万的消息。而且由它的安全性,也可以安全的执行并行的撤销操作。5 结论在这篇论文中,介绍了一些基于合数离散对数问题的方案。从识别协议到盲签名方案都非常高效,而且可以证明其安全性至少等价于因式分解。主要的贡献在于小的私钥使用的可能性以及使用大的挑战的三次通过识别协议的安全性证明。这都是来自于协议的信息不可分辨属性。当使用了哈希函数后,能够有比因式分解更高的安全性和更短的签名。我们还提供了一个新的盲签名方案,从银行的角度来说非常高效。事实上,这一方案允许并行的撤销,以及以非常小的计算量来提供非常高的速度。因此这一方案非常适用于拥有成千上万用户的大规模应用程序。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报