BLS数字签名方案的安全性证明(安全规约)

Digital Signatures with Random Oracles-BLS Scheme

《 Introduction to Security Reduction》

BLS是一种基于双线性映射的数字签名方案,方案的安全性可以规约到CDH问题(计算性Diffie-Hellman问题)。这篇重点在于安全性证明(Security Reduction)的过程,方案仅有简单的介绍。


BLS

参数设置:

双线性群 P G = ( G , G T , g , p , e ) \mathbb {PG}=(\mathbb{G},\mathbb {G}_T,g,p,e) PG=(G,GT,g,p,e),哈希函数 H : { 0 , 1 } ∗ → G H:\{0,1\}^*\rightarrow\mathbb G H:{0,1}G,私钥 α \alpha α, 公钥 h = g α h=g^\alpha h=gα ,消息 m m m

签名:

σ m = H ( m ) α \sigma_m=H(m)^\alpha σm=H(m)α

验证:

e ( σ m , g ) = e ( H ( m ) , h ) e(\sigma _m, g) = e(H(m), h) e(σm,g)=eH(m)h


CDH问题

给定 g , g a , g b ∈ G g,g^a,g^b \in \mathbb G g,ga,gbG ,计算 g a b g^{ab} gab


安全性证明

结论

假设哈希函数 H H H是随机预言机。如果CDH问题是困难的,那么 B L S BLS BLS方案在 E U − C M A EU-CMA EUCMA模型中是可证明安全的,规约损失 L L L q H qH qH(随机预言机的查询次数)。

证明

假设在 E U − C M A EU-CMA EUCMA模型中存在一个能够以 ( t , q s , ϵ ) (t,q_s,\epsilon) (t,qs,ϵ)的优势破坏签名方案的敌手 A A A,那么可以构造一个模拟器 B B B调用敌手 A A A来解决CDH问题。给定CDH问题实例 ( g , g a , g b ) (g,g^a,g^b) g,ga,gb B B B控制随机预言机,调用 A A A并如下运行。

Setup

模拟器 B B B设置公钥为 h = g α h=g^\alpha h=gα,私钥为 α \alpha α,此处 α \alpha α就是 a a a。(公钥是从问题实际例中得到的,模拟器并不知道私钥)

H-Query

敌手在此阶段进行哈希查询。模拟器在收到敌手的询问后选择一个随机数 i ∗ ∈ [ 1 , q H ] i^*\in[1,qH] i[1,qH]。B准备一个空表(开始时为空),用来存储所有的哈希查询和结果。

i i i次查询设为 m i m_i mi,若 m i m_i mi已经在模拟器维护的表中,则直接回复。否则如下回复
H ( m i ) = g b + w i i f i = i ∗ H ( m i ) = g w i o t h e r w i s e H(m_i)=g^{b+w_i}\quad if\quad i=i^*\\ H(m_i)= g^{w_i}\quad otherwise H(mi)=gb+wiifi=iH(mi)=gwiotherwise
并将 ( i , m i , w i , H ( m i ) ) (i,m_i,w_i,H(m_i)) (i,mi,wi,H(mi))添加到哈希列表中。

Query

敌手在此阶段进行签名查询,对于 m i m_i mi上的签名查询,如果 m i m_i mi是哈希列表中的第 i ∗ i^* i条查询消息,则中止。

其他情况下 B B B计算签名 σ m i = ( g a ) w i \sigma_{m_i}= ({g^a})^{w_i} σmi=(ga)wi

按照签名规定的形式( σ m = H ( m ) α \sigma_m=H(m)^\alpha σm=H(m)α),模拟器产生的签名是合法的。

Forgery

敌手返回一个未被查询过消息 m ∗ m^* m的伪造签名。如果消息 m ∗ m^* m不是哈希表中第 i ∗ i^* i个消息,则中止。其他情况下都有 H ( m ∗ ) = g b + w i ∗ H(m^*)=g^{b+w_{i^*}} H(m)=gb+wi

根据签名定义,
σ m ∗ = H ( m ∗ ) α = ( g b + w i ∗ ) α = g a b + a w i ∗ \sigma_{m^*}=H(m^*)^\alpha=({g^{b+w_{i^*}}})^\alpha=g^{ab+aw_{i^*}} σm=H(m)α=(gb+wi)α=gab+awi
模拟器B计算
σ m ∗ ( g a ) w i ∗ = g a b + a w i ∗ ( g a ) w i ∗ = g a b \frac{\sigma_{m^*}}{{(g^a)}^{w_{i^*}}}=\frac{g^{ab+aw_{i^*}}}{{(g^a)}^{w_{i^*}}}=g^{ab} (ga)wiσm=(ga)wigab+awi=gab
g a b g^{ab} gab就是CDH问题实例的解。


总结

​ 安全规约实际上就是一个从密码学方案到困难问题的连接。通过安全规约的这种形式,将密码方案的安全性与困难问题的困难性进行绑定。假设在多项式时间内敌手能够以不可忽略的优势攻破方案,那么因为存在一个多项式时间的规约,所以在多项式时间内敌手同样可以解决一个困难问题。又因为没有多项式时间的算法可以解决这样的困难问题,所以与事实推导出矛盾,假设不成立即本文方案安全。

​ 整个过程用到了一个反证法的思想:给出假设可以破环方案,根据假设推出可以解决困难问题,与事实不符假设不成立。

  • 8
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值