前序博客有:
創(chuàng)新互聯(lián)服務項目包括齊河網(wǎng)站建設、齊河網(wǎng)站制作、齊河網(wǎng)頁制作以及齊河網(wǎng)絡營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,齊河網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟效益。目前,我們服務的客戶以成都為中心已經(jīng)輻射到齊河省份的部分城市,未來相信會繼續(xù)擴大服務區(qū)域并繼續(xù)獲得客戶的支持與信任!私鑰
p
k
pk
pk,對應的公鑰為
P
=
p
k
×
G
P=pk\times G
P=pk×G。待簽名消息
m
m
m。
BLS signature的簽名流程為:
BLS signature is just one single point on the curve that takes only 33bytes in compressed serialization format。
具體如下圖示意:
BLS的驗簽流程為:
具有pairing屬性,以上驗簽等式恒成立:
e
(
P
,
H
(
m
)
)
=
e
(
p
k
×
G
,
H
(
m
)
)
=
e
(
G
,
p
k
×
H
(
m
)
)
=
e
(
G
,
S
)
e(P,H(m))=e(pk\times G,H(m))=e(G,pk\times H(m))=e(G,S)
e(P,H(m))=e(pk×G,H(m))=e(G,pk×H(m))=e(G,S)
具體如下圖示意:
整個BLS signature非常簡潔優(yōu)美。
整個BLS簽名算法中,有兩個關(guān)鍵點是:
1)Hashing to the curve:
ECDSA和Schnorr 簽名過程中,需要使用hash函數(shù)將消息
m
m
m映射為a number。
而BLS signature中需要調(diào)整hash算法,將消息
m
m
m hashes directly to the elliptic curve。
最簡單的方式是,仍然將消息
m
m
m通過hash函數(shù)映射為a number,然后將該number作為elliptic curve 上point的x坐標。
Elliptic curves通常有
2
256
2^{256}
2256個points,采用SHA-256
算法可以生成256-bit result。
但是對于
y
2
=
x
3
+
a
x
+
b
y^2=x^3+ax+b
y2=x3+ax+b形式的eclliptic curve,相同的x坐標,存在
(
x
,
y
)
和
(
x
,
?
y
)
(x,y)和(x,-y)
(x,y)和(x,?y)兩個point均在curve上的情況。這就意味著借助SHA-256
有約50%的概率能找到two points for some
x
x
x,有50%的概率找到point on the curve。
為了保證對任意的消息
m
m
m均能hashing to the curve,可以在消息
m
m
m后面追加數(shù)字,依次嘗試直到能找到相應的curve point。如若
h
a
s
h
(
m
∣
∣
0
)
hash(m||0)
hash(m∣∣0)不能find a point,則依次試
h
a
s
h
(
m
∣
∣
1
)
,
h
a
s
h
(
m
∣
∣
2
)
hash(m||1),hash(m||2)
hash(m∣∣1),hash(m∣∣2),直到找到point on the curve?!緦τ?
(
x
,
y
)
和
(
x
,
?
y
)
(x,y)和(x,-y)
(x,y)和(x,?y)兩個point,實際選擇y坐標值更小的那個point。】(如上圖所示)
2)curve pairing
BLS signautre要求能夠?qū)ⅲㄏ嗤蛘卟煌ヽurve上的P和Q兩個點映射a number:
e
(
P
,
Q
)
?
n
e(P,Q)\mapsto n
e(P,Q)?n
同時,應滿足如下屬性:(使得secret number
x
x
x unreveal。)
e
(
x
×
P
,
Q
)
=
e
(
P
,
x
×
Q
)
e(x\times P,Q)=e(P,x\times Q)
e(x×P,Q)=e(P,x×Q)
更通用的表達為應具有如下屬性:
e
(
a
×
P
,
b
×
Q
)
=
e
(
P
,
a
b
×
Q
)
=
e
(
a
b
×
P
,
Q
)
=
e
(
P
,
Q
)
(
a
b
)
e(a\times P,b\times Q)=e(P,ab\times Q)=e(ab\times P,Q)=e(P,Q)^{(ab)}
e(a×P,b×Q)=e(P,ab×Q)=e(ab×P,Q)=e(P,Q)(ab)
Hashing to curve函數(shù) H H H需為:
令
F
q
\mathbb{F}_q
Fq?為某有限域,
E
b
:
y
2
=
x
3
+
b
E_b: y^2=x^3+b
Eb?:y2=x3+b為某ordinary橢圓曲線(即,non-supersingular橢圓曲線),其
j
j
j-invariant為0,同時滿足
b
∈
F
q
\sqrt\in\mathbb{F}_q
b
?∈Fq?以及
q
≡?
1
(
m
o
d
??
27
)
q\not\equiv 1(\mod 27)
q?≡1(mod27)。
當前最快的constant-time indifferentiable hashing to
E
b
(
F
q
)
E_b(\mathbb{F}_q)
Eb?(Fq?)算法需要:
在Dmitrii Koshelev 2021年論文 Indifferentiable hashing to ordinary elliptic F q \mathbb{F}_q Fq?-curves of j = 0 j = 0 j=0 with the cost of one exponentiation in F q \mathbb{F}_q Fq? 論文中,所實現(xiàn)的constant-time indifferentiable hashing to E b ( F q ) E_b(\mathbb{F}_q) Eb?(Fq?)算法:
開源實現(xiàn)見:
你是否還在尋找穩(wěn)定的海外服務器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調(diào)度確保服務器高可用性,企業(yè)級服務器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧
本文標題:Hashingtoellipticcurve算法改進-創(chuàng)新互聯(lián)
當前URL:http://muchs.cn/article4/ceehoe.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站導航、網(wǎng)站排名、靜態(tài)網(wǎng)站、網(wǎng)站制作、搜索引擎優(yōu)化、網(wǎng)站建設
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)