52 Things: Number 50: What is the BLS pairing-based signature scheme?
52 Things, Number 50: What is the BLS pairing-based signature scheme?
52件事,第50號:什么是基于BLS配對的簽名方案?
This week we look at what the BLS pairing-based signature scheme is. See here for full details.
本周我們來看看什么是基于BLS配對的簽名方案。請參閱此處了解詳細信息。
This signature scheme makes use of the Weil pairing on elliptic curves, essentially a bilinear form (with multiplicative notation) on points of order dividing n on a curve, taking values in nth roots of unity.
該簽名方案利用了橢圓曲線上的Weil配對,本質上是曲線上除 n 的階點上的雙線性形式(帶乘法符號),取 nth 單位根中的值。
So assume you have an elliptic curve E/F3l, following the notation in the original paper. The scheme is as follows:
假設你有一條橢圓曲線 E/F3l ,遵循原始論文中的符號。方案如下:
KeyGen: Let E/F3l be an elliptic curve and q be the largest prime factor of the order of the curve. Let P be a point on it of order q and x∈Z?q be selected at random. Finally let R=xP. Then output (l,q,P,R) as the public key and x as the secret key.
KeyGen:設 E/F3l 是一條橢圓曲線, q 是該曲線階數的最大質因子。設#2是其上的一個點,順序為#3,隨機選擇#4。最后讓 R=xP 。然后輸出 (l,q,P,R) 作為公鑰,輸出 x 作為密鑰。
Sign: To sign a message M∈{0,1}? we map M to a point PM in <P>. This is done via an algorithm h described in section 3.3 of the paper, and is a hash function. Then let SM=xPM. The signature σ is the x-coordinate of the point SM, and σ∈F3l.
簽名:要對消息 M∈{0,1}? 進行簽名,我們將 M 映射到 <P> 中的點 PM 。這是通過論文第3.3節中描述的算法#4完成的,并且是一個散列函數。然后讓 SM=xPM 。簽名 σ 是點 SM 和 σ∈F3l 的 x 坐標。
Verifiy: Given a public key (l,q,P,R), a message M and a signature σ, do:
驗證:給定公鑰 (l,q,P,R) 、消息 M 和簽名 σ ,請執行以下操作:
本周我們來看看什么是基于BLS配對的簽名方案。請參閱此處了解詳細信息。
This signature scheme makes use of the Weil pairing on elliptic curves, essentially a bilinear form (with multiplicative notation) on points of order dividing n on a curve, taking values in nth roots of unity.
該簽名方案利用了橢圓曲線上的Weil配對,本質上是曲線上除 n 的階點上的雙線性形式(帶乘法符號),取 nth 單位根中的值。
So assume you have an elliptic curve E/F3l, following the notation in the original paper. The scheme is as follows:
假設你有一條橢圓曲線 E/F3l ,遵循原始論文中的符號。方案如下:
KeyGen: Let E/F3l be an elliptic curve and q be the largest prime factor of the order of the curve. Let P be a point on it of order q and x∈Z?q be selected at random. Finally let R=xP. Then output (l,q,P,R) as the public key and x as the secret key.
KeyGen:設 E/F3l 是一條橢圓曲線, q 是該曲線階數的最大質因子。設#2是其上的一個點,順序為#3,隨機選擇#4。最后讓 R=xP 。然后輸出 (l,q,P,R) 作為公鑰,輸出 x 作為密鑰。
Sign: To sign a message M∈{0,1}? we map M to a point PM in <P>. This is done via an algorithm h described in section 3.3 of the paper, and is a hash function. Then let SM=xPM. The signature σ is the x-coordinate of the point SM, and σ∈F3l.
簽名:要對消息 M∈{0,1}? 進行簽名,我們將 M 映射到 <P> 中的點 PM 。這是通過論文第3.3節中描述的算法#4完成的,并且是一個散列函數。然后讓 SM=xPM 。簽名 σ 是點 SM 和 σ∈F3l 的 x 坐標。
Verifiy: Given a public key (l,q,P,R), a message M and a signature σ, do:
驗證:給定公鑰 (l,q,P,R) 、消息 M 和簽名 σ ,請執行以下操作:
- find a point S on the curve of order q whose x-coordinate is σ and whole y-coordinate belongs to F3l. If no such point exists, reject the signature as invalid.
在順序為 q 的曲線上找到一個點 S ,其#2坐標為 σ ,整個#4坐標屬于 F3l 。如果不存在這樣的點,則以無效為由拒絕簽名。 - set u=e(P,?(S)) and v=e(R,?(h(M))), where e is the Weil pairing on the curve and ? is an automorphism E←E. h is the same h mentioned earlier.
集合 u=e(P,?(S)) 和 v=e(R,?(h(M))) ,其中#2是曲線上的威爾配對,#3是自同構 E←E 5#與前面提到的 h 相同。 - if either u=v or u?1=v accept the signature as valid; reject otherwise.
如果 u=v 或 u?1=v 中的任何一個接受簽名為有效;否則拒絕。
The Working Class Must Lead!

52 Things: Number 50: What is the BLS pairing-based signature scheme?
浙公網安備 33010602011771號