原文教材 与 参考资料:
Boneh Dan , Shoup Victor . A Graduate Course in Applied Cryptography[J].
该书项目地址(可以免费获取):http://toc.cryptobook.us/
博客为对该书的学习笔记,并非原创知识,仅帮助理解,整理思路。
19.1 Schnorr's identification protocol
首先给出一个Schnorr 身份认证协议,如果DL问题是困难的,那么该协议是可以被证明安全抵抗窃听敌手攻击。

该协议的正确性是显然的,下面讨论C的取值,C被称作挑战空间challenge space,为了证明安全,我们要求|C|是超多项式的,即为不论V如何试探,都不能从P中学到任何一点关于密码alpha的知识。虽然我们最后会证明Schnorr协议是安全的抵抗窃听敌手,我们依然重一个简单的理论开始,证明该协议可以抵抗direct attacks. 为了证明如此,我们将讨论任何有效的敌手能够成功的直接冒用身份发起攻击以一个不可忽略的概率能够转换一个算法有效的会付出秘密alpha从验证公钥vk中。由于这个原因Schnorr协议以被称为离散对数的“知识证明”。
下面给出安全定理:

在DL问题假设下,假设挑战空间|C|是超多项式的,Schnorr ID协议是安全的抵抗直接攻击,(注意这里如果使用像18章给出的简单的用Hash做单向函数,极容易被字典攻击,而DL是一个循环群,字典攻击就比较困难,所有的信息是循环的。)特别的,假设敌手A是一个有效的伪造攻击Schnorr协议通过一个第18章的直接攻击游戏,定义优势为=ID1adv[A,Isch]. 那么存在一个有效敌手DL敌手B(运行时间为A的两倍)则得到优势19.1,19.2。
证明思路:
假设敌手A在攻击Schnorr协议的优势为,就像在攻击游戏18.1中。在这个游戏中,挑战者生成一个验证密钥u。 在敌手在进行仿冒攻击时,生成第一个ut, 由敌手自己自由的生成。现在,为了成功攻击,敌手A必须能够回复任何的挑战C,满足验证等式。(这里敌手如果能够生成满足验证等式的参数,那么就相当于可以向V证明自己的有效性。)这里我们只需要使用敌手成功运行两次那么就可以有效的解决离散对数问题。
如果我们能够使得敌手A对挑战c生成一个合法的回复,那么此时重绕敌手设置其内部状态使得其对c`再生成一个合法

本文深入探讨了Schnorr身份认证协议的安全性,证明了在离散对数问题的假设下,该协议可以抵抗直接攻击和窃听攻击。通过重绕引理,展示了即使存在恶意证明者,也无法从协议中提取秘密信息。此外,还阐述了Schnorr协议的诚实验证者零知识特性,即在验证者诚实的情况下,协议交互无法揭示任何关于秘密信息的知识。
最低0.47元/天 解锁文章
712

被折叠的 条评论
为什么被折叠?



