ZSS 协议在随机谕言机下的安全证明 内容小结
密码学可证明安全推荐书目(系列博客内容为这两本书学习笔记与内容小结):
《密码学中的可证明安全性》杨波 :清华大学出版社
《Introduction to Security Reduction》Fuchun Guo;Willy Susilo;Yi Mu :Springer
ZSS 方案描述
zss 方案是《introduction to security reduction》中对于随机谕言机模式下H型 C型 I型中的最后一种类型-----I型,从下一篇开始将进入数字签名的标准模型下的证明部分。
系统初始化阶段
初始化阶段包含系统群G,双线性群GT,生成元g,阶数p,双线性对e,密码学哈希函数H。
秘钥生成阶段
公钥pk包含一个私钥生成的公钥元素,一个随机的群元素。
签名阶段
签名以随机元素作为底数,将消息的哈希值与秘密钥作为指数元素。
验证阶段
安全性证明
ZSS协议将会被规约到q-SDH 假设下,我们这里来回顾一下什么是q-SDH假设,这是一个计算困难的问题:
如上图所述,既然需要把协议规约到这个q-SDH问题上,那么我们就需要来凑这个参数。
第一个参数:私钥a , a可以直接替换。
第二个参数:公钥第一部分, 公钥第二部分如下:
哈希请求,这里的哈希请求比较简单,敌手首先假定第i次敌手会发起能够解决潜在困难问题的伪造签名,并且编程随机谕言机,在第i次输出W*,其他时候随机选择wi 输出。
签名请求,这里就可以看出来了模拟者对签名的修改,为了生成可模拟的签名,模拟者实质在这里对签名的修改是比较大的,但是这一切的修改都是为了最终能够凑出q-SDH 问题。
伪造签名
伪造签名阶段,敌手根据已有的参数 h, H(m*), a(如果敌手知道a的话) 按照签名算法进行签名。
最终,模拟者可以凭借获得的签名 , d , h 解决q-SDH 问题实例,敌手的优势为1\qH * adv.
不过上述证明方法存在一个问题,敌手不能进行超过q次询问,如果敌手进行超过q次询问,则会导致敌手区分出随机谕言机是模拟的。
另外上述证明过程中用到的计算技巧在《introduction to security reduction 》第38页。