原文教材 与 参考资料:
Boneh Dan , Shoup Victor . A Graduate Course in Applied Cryptography[J].
该书项目地址(可以免费获取):http://toc.cryptobook.us/
博客为对该书的学习笔记,并非原创知识,仅帮助理解,整理思路。
13.3 Signatures from tradoor permutations: the full domain hash
给出一个根据陷门置换(trapdoor permutation)构造的数字签名协议通用方案,然后使用一个陷门置换的实例RSA来实例化一个数字签名协议。
此处有一点需要注意,我们是对明文消息M的哈希值进行数字签名,而签名采用的陷门置换函数的映射空间为X->Y. 所以哈希函数的映射空间应该符合M ->X. 故而定义,如果哈希函数的输出长度和陷门置换的输入长度相同则称之为Full Domain Hash (FDH),这是一个非常重要的性质。
下面给出一个宏观上使用FDH + TDP 构造数字签名方案的描述:

这里将哈希函数建模为一个随机谕言机,挑战者随机选择一个函数作为随机谕言机的实例,敌手可以在任意时刻请求随机谕言机的回复。
下面给出该方案的安全性定理描述:

该协议需要的组件:单向陷门置换 :X ; 哈希函数:M -> X ;
存在一个敌手A,对方案SFDH进行攻击,A可以进行至多Qro次随机谕言机询问和Qs次签名询问,那么存在一个敌手B可以调用A攻击单向陷门置换。
证明思路:
本方案的安全性证明依赖于一个引理,该引理在后续进行介绍,此处给出一个证明思路。如果敌手能够伪造一个数字签名,意味着敌手可以计算陷门置换的逆运算。考虑到H作为一个随机谕言机,那么对于一个随机值进行单向陷门置换的逆运算应当是困难的。并且,这里还不能处理这样的一个事实,即敌手在伪造之前可以获得任意消息的签名。
进一步,考虑H被建立为一个随机谕言机模型,这将有效的意味着敌手如果想要攻破该方案需要遵守下述的一个攻击游戏(用攻击游戏来抽象刻画敌手的攻击行为)。敌手可以看到多个消息的哈希值(即,敌手可以进行随机谕言机的访问),敌手可以请求一些消息哈希值的陷门原像(即,敌手可以进行签名请求),然后敌手输出至少一个没有请求过原像的哈希值的原像(即,输出伪造的数字签名)。可以看出敌手攻击该方案的优势不会比攻击一个单向陷门置换更容易,在通常情况下。这个事实将被在后文提到的引理13.5中在RO模型下使用“guessing argument”技巧被证明,进一步我们可以使用该引理证明上述定理13.3.
需要注意的点:
Unique signatures: 这个方案生成的数字签名是唯一的,给定一个公钥任何消息m都存在一个可以被验证的合法签名,意味着可以实现强不可伪造性。
The importance of hashing: 哈希函数

本文介绍了基于陷门置换的数字签名协议,特别是使用RSA陷门置换函数构造的RSA-FDH签名协议。讨论了全域哈希(FDH)在签名中的重要性,以及如何通过哈希函数和单向陷门置换确保签名的安全性。此外,还分析了RSA-FDH的签名效率和安全性,并提出了涉及随机谕言机和单向函数的攻击游戏,证明了协议的安全性。
最低0.47元/天 解锁文章
1099

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



