BLS 门限签名

  • cig01
  • 发布于 2023-07-23 15:37
  • 阅读 10

本文介绍了BLS门限签名,它比ECDSA门限签名更简单。BLS签名利用Pairing技术,通过Lagrange插值实现门限签名,参与者生成局部签名,并通过插值计算出群体签名。文章还列举了BLS门限签名的一些开源实现。

Created: <2023-07-22 Sat>

Last updated: <2023-07-30 Sun>

BLS Threshold Signature

1. 简介

本文将介绍 BLS 门限签名,它比 ECDSA 门限签名要简单很多。

1.1. 标准的 BLS 签名

BLS 签名利用了 Pairing,记私钥为整数 k ,则公钥为 P=k⋅G (这里 G 是曲线 G1 的 Generator);对消息 m ,将其映射到曲线 G2 上的一个点,记为 H(m) , 消息 m 的签名数据为 S=k⋅H(m) 。 显然,公钥 P 是曲线 G1 上的点,而签名数据 S 则是另一曲线 G2 上的点。

要验证签名时,验证 e(P,H)=e(G,S) 是否成立即可(这里的 e 就是 Pairing 运算)。证明如下: e(P,H)=e(kG,H)=e(G,H)k=e(G,kH)=e(G,S)

1.2. Lagrange 插值

在介绍 BLS 门限签名前,先介绍一下 Lagrange 插值,这是后面介绍的 BLS 门限签名的基础。

已知 t−1 次曲线 f(x) 上的 t 个点 (x1,y1),(x2,y2),⋯,(xt,yt) ,则这个 t−1 次曲线可由下式确定 f(x)=(x−x2)(x−x3)⋯(x−xt)(x1−x2)(x1−x3)⋯(x1−xt)y1+(x−x1)(x−x3)⋯(x−xt)(x2−x1)(x2−x3)⋯(x2−xt)y2+⋯+(x−x1)(x−x2)⋯(x−xt−1)(xt−x1)(xt−x2)⋯(xt−xt−1)yt

对于 x=0 的特殊情况,从上式可得零点函数值为 f(0)=∑i=1t(∏j=1,j≠itxjxj−xi)yi

2. BLS 门限签名

设共有 n 个参与者,下面将介绍一个门限为 t 的 BLS 签名方案,即生成群体签名时至少需要 t 个参与者配合(小于 t 个参与者不能生成群体签名)。

这里关注的重点是签名方案,不关心它的 DKG 方案。假设采用 Shamir's Secret Sharing 方案,Trusted Dealer 把群体私钥 k 做为某个 t−1 次多项式 x=0 时的值 f(0) ,这个多项式中取 n 个点 (x1,k1),⋯,(xn,kn) ,分别发送给 n 个参与者。

任何 t 个参与者,利用 (x1,k1),⋯,(xt,kt) 可以恢复出完整私钥 k=∑i=1t(∏j=1,j≠itxjxj−xi)ki

BLS 门限签名的思路: 每个参与者把 ki 作为 BLS 私钥生成签名 Si=ki⋅H(m) ,发送给其它的参与者;每个参与者收集到其它人发来的签名后,进行签名校验,一旦收集到 t 个通过校验的合法签名后,把这 t 个签名 Si 通过 Lagrange 插值计算出对应的零点函数值,把它记为 S , S 就是群体签名。

下面验证一下 S 确实是群体私钥 k 对应的签名 S≜∑i=1t(∏j=1,j≠itxjxj−xi)⋅Si=∑i=1t(∏j=1,j≠itxjxj−xi)⋅(ki⋅H(m))=(∑i=1t(∏j=1,j≠itxjxj−xi)ki)⋅H(m)=k⋅H(m)

2.1. 开源实现

下面是 BLS 门限签名的一些开源实现:

  1. https://github.com/herumi/bls

  2. https://github.com/celo-org/celo-threshold-bls-rs

  3. https://github.com/skalenetwork/libBLS

  4. https://github.com/ZenGo-X/multi-party-bls

  5. https://github.com/drand/drand

3. 参考

  1. Threshold BLS Signatures, by Jake Craige

  2. Threshold Signatures, Multisignatures and Blind Signatures Based on the Gap-Diffie-Hellman-Group Signature Scheme

  3. Fast and Scalable BLS Threshold Signatures 介绍利用更快的多项式插值来加快门限签名的计算

点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
cig01
cig01
https://aandds.com/