Hashingtoellipticcurve算法改進-創(chuàng)新互聯(lián)

1. 引言

前序博客有:

創(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ù)獲得客戶的支持與信任!
  • ECDSA VS Schnorr signature VS BLS signature 第3節(jié)“BLS簽名”

私鑰 p k pk pk,對應的公鑰為 P = p k × G P=pk\times G P=pk×G。待簽名消息 m m m。
BLS signature的簽名流程為:

  • 1)通過 H ( m ) H(m) H(m)將消息 m m m映射為point on the curve, G m = H ( m ) G_m=H(m) Gm?=H(m)。
  • 2)將私鑰與 H ( m ) H(m) H(m)相乘, S = p k × H ( m ) S=pk\times H(m) S=pk×H(m), S S S即為相應的簽名。

BLS signature is just one single point on the curve that takes only 33bytes in compressed serialization format。
具體如下圖示意:
在這里插入圖片描述
BLS的驗簽流程為:

  • 1)通過 H ( m ) H(m) H(m)將消息 m m m映射為point on the curve, G m = H ( m ) G_m=H(m) Gm?=H(m)。
  • 2)驗證 e ( P , H ( m ) ) = e ( G , S ) e(P,H(m))=e(G,S) e(P,H(m))=e(G,S)成立即可。

具有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需為:

  • indifferentiable from a random oracle
  • 且為constant-time的

令 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?)算法需要:

  • 基于 F q \mathbb{F}_q Fq?的2次exponentiation運算【以BLS12-377為例,其基于highly 2-adic有限域,相應的indifferentiable Wahby-Boneh hash函數(shù)需要應用2次 slow Tonelli-Shanks algorithm算法來提取基域的2個平方根。】

在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?)算法:

  • 僅需要1次exponentiation運算?!救砸訠LS12-377為例,僅需要提取1次立方根,可 以有限域內(nèi)的1次exponentiation運算來表示。】

開源實現(xiàn)見:

  • https://github.com/dishport/Indifferentiable-hashing-to-ordinary-elliptic-curves-of-j-0-with-the-cost-of-one-exponentiation(Sage腳本)
  • https://github.com/zhenfeizhang/indifferentiable-hashing(Rust,但非constant-time實現(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)

成都網(wǎng)站建設公司