BLS with Random Oracle; BLS 短签名在随机谕言机模型下的安全证明 内容小结
BLS with Random Oracle;BLS 短签名在随机谕言机模型下的安全证明 内容小结
密码学安全规约推荐书目(博客为这两本书学习笔记与内容小结):
《密码学中的可证明安全性》杨波 清华大学出版社
《Introduction to Security Reduction》Fuchun Guo;Willy Susilo;Yi Mu Springer
数字签名的安全证明
数字签名的安全证明我们需要明确以下三个关键问题:
(1)模拟者构造的模拟协议是不是可模拟的?是不是和真实协议不可区分的?
(2)敌手伪造的数字签名是不是可规约的?是不是能解决困难问题实例的?
(3)规约是不是成功的?是否不可区分?是否考虑到了无用的攻击?是否有效解决问题?
需要关注的几个概率描述:
Ps : 成功模拟的概率
Pu: 敌手发起有用攻击的概率
er : 敌手解决困难问题的优势
T:解决潜在困难问题所花费的时间
紧规约与宽松规约
宽松规约:敌手成功发起能够解决困难问题的概率是与请求签名次数成线性关系的,称之为宽松规约。
紧规约:如果一个消息的签名能够被模拟生成也能被规约的生成,那么每次直接生成可规约的签名,敌手发起能够解决困难问题的概率为小的常量级,称之为紧规约。
注意:随机化签名算法往往可以通过随机salt的方式做到紧规约,但是确定性签名往往无法实现,2017 美密会Fuchun Guo 提出了一个确定性签名的紧规约。
数字签名在随机预言机模型下的总结
1. 潜在的困难问题是计算性困难问题(设计规约的根本依据)
2. 模拟者不掌握签名私钥(如果掌握,则模拟者可以自行解决困难问题)
3. 所有的签名请求都是可模拟的(模拟者可以不依靠私钥给与敌手可以验证的签名)
4. 模拟协议与现实现已不可区分
5. 区分可模拟签名和可规约签名使用绝对困难问题或者分别构造两种模拟的方法
6. 敌手仿造的签名是可规约的
7. 敌手解决困难问题是不可忽略的(因为敌手具有无限的计算能力)
8. 模拟协议运行时间消耗是多项式时间的
BLS协议描述
安全证明:
BLS的安全证明是被放置在随机预言机模型下的,其中哈希函数H被设置为随机预言机。
安全定义如下:
setup 阶段:
模拟者编程随机预言机,模拟者运行秘钥生成算法,生成公钥。
注意:模拟者并不掌握私钥,要求模拟者能够在不掌握私钥的情况下构造可模拟的签名,并且为敌手设计可规约的签名。
哈希请求阶段:
注意:
哈希请求这里是全局存在的,即使是敌手在最后计算伪造签名的时候,也必须访问随机谕言机获得哈希结果,即在规约算法或者说模拟者模拟算法的过程中,所有的哈希结果必须由随机谕言机来计算得到。
哈希请求开始之前,模拟者猜测第i次询问的消息mi作为敌手输出仿造签名时的那一次请求,所以在哈希请求设计时,将第i次请求设计成为可规约的,将其他时候的请求设计为了可模拟的。这是能够强制敌手发起能够攻破困难问题的核心设计。
签名请求阶段:
模拟者按照上述过程对敌手的签名请求进行回复,如果询问到了mi消息是之前询问过的,则终止询问,因为不允许敌手对一个消息进行两次寻询。
伪造阶段:
注意:我们是在CMA安全模型下证明。在最后伪造时,选择一个没有请求过的消息进行伪造,如果是之前伪造过的消息,则终止伪造过程。对新的消息进行哈希询问,然后计算签名,输出伪造的签名。
规约正确性分析
(1)模拟者是否能够使用敌手伪造的签名解决CDH问题?
由上式,可以解决CDH困难问题。
(2)模拟是否和现实不可区分?
上述所有在规约过程中出现过的元素均是独立与随机的。
(3)模拟成功的概率?
如果模拟者猜测正确,则明显的概率是1/qH。