日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 物聯(lián)網(wǎng) > 區(qū)塊鏈
[導(dǎo)讀] 對于RSA這套公私鑰加密的思路,我以為我挺明白的,運(yùn)用的嫻熟自如。 當(dāng)然現(xiàn)在RSA用的不多,而是基于ECC曲線來做簽名驗(yàn)簽,最大名鼎鼎的莫過于比特幣。 可是前兩天和別人講代碼,被

對于RSA這套公私鑰加密的思路,我以為我挺明白的,運(yùn)用的嫻熟自如。

當(dāng)然現(xiàn)在RSA用的不多,而是基于ECC曲線來做簽名驗(yàn)簽,最大名鼎鼎的莫過于比特幣。

可是前兩天和別人講代碼,被問了ECC為什么可以用來做驗(yàn)簽,發(fā)現(xiàn)自己講不清楚。

所以做了點(diǎn)功課,來把這個問題講清楚。

首先我們跳過ECC曲線是個啥這個話題。

這部分我覺得對理解這個邏輯,幫助并不大,黑盒掉就好了。

因?yàn)槲覀兪浅绦騿T,有類型這樣的表述神器,非常清晰,你一點(diǎn)都不用害怕。

只說原理,非偽代碼,比如關(guān)于曲線階數(shù)不說不影響理解原理,我就不說了。

ECC曲線加密核心原理

下面我們講的,都在同一條曲線上,這條曲線上的點(diǎn)支持一種乘法運(yùn)算

設(shè) Q 為曲線上一點(diǎn)

若點(diǎn)R = Q * Q,也可以記為 R=2.Q

若點(diǎn)R =Q*Q*Q,可以記為 R =3.Q

若點(diǎn)R =Q*Q*……*Q ,一共n個Q,則可以記為R=n.Q

然后原理來了

給定n 和 Q 求 R 很容易,給定R 和 Q,則非常難求出n

就這一條原理,然后其他的都是證明出來的。

公鑰和私鑰

先復(fù)習(xí)一下原理

設(shè)Q為曲線上一點(diǎn),k為一個整數(shù)

令點(diǎn)K = k.Q,若給定 k 和 Q,很容易求出 K

若給定 K 和 Q ,很難求出k

我換個說法給你看

設(shè)G為曲線上一點(diǎn),k為私鑰

令公鑰K=k.G, 若給定私鑰和G,很容易求出公鑰

若給定公鑰和G,很難求出私鑰

是不是有點(diǎn)意思了,從這里我們也可以看出,ECC的私鑰就是一個整數(shù),一個很大很大的整數(shù),Int64 別提了,常用的ECC算法,私鑰是一個256bit的整數(shù)

而ECC的公鑰是一個點(diǎn),雖然平??吹剿麄儾皇亲址褪莃ytearray,但是私鑰是整數(shù),公鑰是一個點(diǎn)(二維坐標(biāo))

ECC曲線有很多應(yīng)用,最常用的是加密解密和簽名驗(yàn)證

加密原理

加密步驟

先設(shè) K=k.G,(公鑰=約定點(diǎn)G階乘私鑰)。

1. 欲傳遞的數(shù)據(jù)m,先把他編碼為一個坐標(biāo)點(diǎn)M(怎么編碼是你的事,比如一個字符串,你把他先bytes,然后變成大整數(shù),當(dāng)坐標(biāo)的x坐標(biāo),純屬舉例)

2. 整個隨機(jī)整數(shù)r

3. 計(jì)算點(diǎn) C1 = M+r.K看到這里肯定有點(diǎn)暈,這里出現(xiàn)了點(diǎn)的加法,還有r.K,r.K 就是 r 個 K相乘,K是公鑰。就是 點(diǎn)C1 等于 r個公鑰相乘加上坐標(biāo)點(diǎn)M

4. 計(jì)算點(diǎn)C2 = r.G G是曲線上面約定好的一點(diǎn),就是k=k.G(公鑰=約定點(diǎn)G階乘私鑰)那個G,r是前面的隨機(jī)整數(shù)

加密完成,可以看出加密需要公鑰,加密將坐標(biāo)點(diǎn)M 加密為 C1 C2 兩個坐標(biāo)點(diǎn)

加密者只需發(fā)送C1 C2 給對方

解密步驟

1. 由C1=M+r.K 可知 M =C1-r.K

2. 由K=k.G(公鑰=私鑰)將K代入上式可得 M=C1-r.k.G

3. 由C2=r.G 帶入上式,可得 M=C1-k.(r.G)=C1-k.C2

4. 據(jù)上面推導(dǎo)的結(jié)論 M=C1-k.C2,則解密者根據(jù)收到的C1,C2,用自己的私鑰,可以計(jì)算出加密坐標(biāo)點(diǎn)M

簽名驗(yàn)證原理

簽名步驟

先設(shè) K=k.G,(公鑰=約定點(diǎn)G階乘私鑰),設(shè)欲簽名數(shù)據(jù)為m,簽名用私鑰

1. 對欲簽名數(shù)據(jù)進(jìn)行處理 e=hash(m),e是一個巨大整數(shù),Hash 算法不用解釋了吧,m是必選,ECSDA實(shí)現(xiàn)中還把一個坐標(biāo)放進(jìn)去一起算hash,為了便于理解原理,我就不代入那些了,只說e

2. 整個隨機(jī)整數(shù)r

3. 計(jì)算s=r-e*k,這個式子純粹是整數(shù)運(yùn)算,結(jié)果s當(dāng)然也是整數(shù) ,s=隨機(jī)數(shù)減去 hash*私鑰,就這個意思。

簽名完成

通常說簽名(signdata)就是指s和r兩個整數(shù)。

簽名者發(fā)送 s、r、公鑰K,欲簽名數(shù)據(jù)m,則任何人可以驗(yàn)簽。

驗(yàn)簽步驟,驗(yàn)簽用公鑰

1. 對欲簽名數(shù)據(jù)進(jìn)行處理 e=hash(m)

2. 計(jì)算點(diǎn)V1=r.G(就是算公鑰那個點(diǎn)G 階乘隨機(jī)數(shù) r)

3. 計(jì)算點(diǎn)V2=s.G+e.K ( 點(diǎn)G階乘簽名數(shù)據(jù)s 加上 公鑰階乘 )

4. 若V1=V2 則驗(yàn)簽成功,接下來證明

5. 若數(shù)據(jù)都是對的,則s =r-e*k成立

6. 此時設(shè)s=r-e*k,V2=s.G+e.K 將s展開 得 V2=(r-e*k).G+e.K

7. V2 =r.G-e.k.G+e.K

8. 因?yàn)镵=k.G,代入上式,可得V2 = r.G – e.(k.G)+e.K = r.G -e.K+e.K

9. 上式抵消e.K之后得V2=r.G,可知假設(shè)s=r-e*k時,V2=r.G =V1

10. 反之,當(dāng)V1=V2時,s=r-e*k成立,數(shù)據(jù)正確

沒有什么太深得東西,只是把這個原理表述出來,加深自己的理解,對得起區(qū)塊鏈從業(yè)者這個身份。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動電源

在工業(yè)自動化蓬勃發(fā)展的當(dāng)下,工業(yè)電機(jī)作為核心動力設(shè)備,其驅(qū)動電源的性能直接關(guān)系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護(hù)是驅(qū)動電源設(shè)計(jì)中至關(guān)重要的兩個環(huán)節(jié),集成化方案的設(shè)計(jì)成為提升電機(jī)驅(qū)動性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機(jī) 驅(qū)動電源

LED 驅(qū)動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設(shè)備的使用壽命。然而,在實(shí)際應(yīng)用中,LED 驅(qū)動電源易損壞的問題卻十分常見,不僅增加了維護(hù)成本,還影響了用戶體驗(yàn)。要解決這一問題,需從設(shè)計(jì)、生...

關(guān)鍵字: 驅(qū)動電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動電源的公式,電感內(nèi)電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計(jì) 驅(qū)動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動汽車的核心技術(shù)之一是電機(jī)驅(qū)動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機(jī)驅(qū)動系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動汽車的動力性能和...

關(guān)鍵字: 電動汽車 新能源 驅(qū)動電源

在現(xiàn)代城市建設(shè)中,街道及停車場照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進(jìn)步,高亮度白光發(fā)光二極管(LED)因其獨(dú)特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動電源 LED

LED通用照明設(shè)計(jì)工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動電源

開關(guān)電源具有效率高的特性,而且開關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機(jī)重量也有所下降,所以,現(xiàn)在的LED驅(qū)動電源

關(guān)鍵字: LED 驅(qū)動電源 開關(guān)電源

LED驅(qū)動電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動電源
關(guān)閉