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)
本文深入探讨了BLS签名方案,一种基于双线性映射的密码学算法,广泛应用于可验证随机函数的设计中。文章详细介绍了BLS签名的三个核心算法:密钥生成、签名及验证,并通过双线性映射的性质证明了其有效性。
1339

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



