BLS签名算法

BLS签名方案是一个基于双线性映射的密码学算法,它可以应用于可验证随机函数的设计,具有可验证性、随机性、唯一性、确定性。

记,e: G*G->G'为一个非退化的双线性映射,G和G'为素数r阶乘法群,根据双线性映射性质有e (g1^x, g2^y) = e (g1, g2)^(x * y)。BLS签名包括三个算法。

算法描述:

(1)密钥生成算法KeyGen:随机选取x in [0, r-1]作为私钥,sk=x,计算公钥pk = g^x,g是群G的生成元;

(2)签名算法Sign:消息m的签名为sign = h^x,h = Hash(m)

(3)验证算法Verify:验证者拥有G, g^x (pk), m 和 sign,验证e(sign, g)和e(Hash(m), pk)是否相等,如果相等那么签名验证通过;

 

证明过程:

由双线性映射性质有

        e (g1^x, g2^y) = e (g1, g2)^(x * y)

可得 

        e(sign, g) = e(h^x, g) = e(h, g)^x

        e(Hash(m), pk) = e(h, g^x) = e(h, g)^x

因此

        e(sign, g) = e(Hash(m), pk)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值