Try   HackMD

BLS签名形式化安全证明(十四行诗版)

作者:Kurt Pan

定理
如果哈希函数

H是随机预言
且如果CDH问题是困难的
则BLS签名方案是选择消息攻击下存在不可伪造(EU-CMA) 安全的
安全损失
L=qH
qH
是对随机预言哈希查询的次数

证明:

假设存在敌手

A
可以
(t,qs,ε)
攻破
BLS签名方案的EU-CMA安全

构造模拟器

B以解决CDH问题
B
的输入是CDH实例
(g,ga,gb)

目标是输出CDH问题的解
gab

同时
B
控制着随机预言
且运行
A
的实例

B的模拟过程如下:

  • 初始化

B 将公钥
pk
设置为
来自于CDH实例的
ga

私钥
sk=a

  • 哈希查询

在收到敌手的哈希查询前

B 随机选择整数
i[1,qH]

接着准备一个开始为空的哈希列表
记录所有的查询和应答

令第

i个哈希查询是
mi

如果
mi
已在哈希列表中
B
依表来返回该查询

否则,

B
Zp
中随机选择
wi

并设置
H(mi)
如下:
H(mi)={gb+wii=igwi

B
H(mi)
应答查询
并添加
(i,mi,wi,H(mi))
到哈希列表中

  • 签名查询

对消息

mi的签名查询
如果
mi
就是那哈希列表中的第
i
次查询的消息,中止。
否则,有
H(mi)=gwi

B
计算
σmi
如下
σmi=(ga)wi

由于

σmi=H(mi)a=(gwi)a=(ga)wi
因此
σmi
mi
的一个有效签名

  • 伪造

敌手对某个没有查询过的消息

m
输出一个伪造的签名
σm

如果

m并非是那哈希列表中的第
i
个查询的消息,中止。
否则,有
H(m)=gb+wi

由于

σm=H(m)a=(gb+wi)a=gab+awi

B 计算
σm(ga)wi=gab+awi(ga)wi=gab

作为CDH问题实例的解

模拟器构造如是说

如果模拟器成功猜出

i
所有的查询签名可模拟
成功模拟和有效攻击的概率为
1qH

解决CDH问题的概率为

εqH
模拟器运行时间为
t+Ts

Ts=O(qH+qs)

证毕