加密貨幣交易所 加密貨幣交易所
Ctrl+D 加密貨幣交易所
ads

深入淺出:區塊鏈技術中的非對稱加密算法--簽名和加密_區塊鏈:HASH

Author:

Time:1900/1/1 0:00:00

簽名是一種非對稱加密算法的用法,即使用不同的加密密鑰與解密密鑰,而由已知加密密鑰推導出解密密鑰在計算上是不可行的。簽名是用非對稱算法的私鑰簽名,然后用私鑰對應的公鑰來驗證簽名,的主要作用是確定發送方的身份。

除了簽名,非對稱加密算法還有一個用處是加密和解密,加密則是用公鑰來對信息加密,然后用對應的私鑰進行解密,主要作用是向接收方傳遞加密的信息。簽名和加密的作用和算法都不相同,因此需要加以區別。

1簽名與驗簽

簽名算法可以在不泄露發送者本身的私鑰的情況下,通過公鑰和簽名信息來確認發送者持有對應的私鑰。簽名還可將發送者的身份和信息綁定,防止其他人冒充發送者,因此這樣處理可保證信息的防篡改的同時認證發送者的身份。目前常用的簽名驗簽算法有RSA數字簽名和橢圓曲線數字簽名,其中橢圓曲線數字簽名是區塊鏈中應用最多的方法。

1.1RSA數字簽名

RSA是被研究得最廣泛的公鑰算法,從提出到現在已有四十年的歷史,經歷了各種攻擊考驗。RSA的安全性主要依賴大數分解,優勢是秘鑰長度可以增加到任意長度。RSA運算方式造成了簽名內容如果較短,會被很容易修改為攻擊者想要的內容,所以一般還需要將簽名內容進行一次哈希運算,并填充至和私鑰差不多的長度。此外,隨著計算能力的增長,為防止被破解,秘鑰長度也需要不斷增長,目前認為安全的秘鑰長度是2048bit。同時RSA的私鑰生成需要兩個質數的組合,因此尋找更長私鑰的計算速度也更慢。

國家外匯管理局山西省分局:深入推進跨境金融區塊鏈服務平臺應用:從國家外匯管理局山西省分局了解到,今年以來,山西省外匯局系統指導銀行積極挖掘市場潛力,提升跨境貿易投融資便利化水平,為中小微外貿企業跨境結算與融資擴渠道、增便利。一季度,已為16家企業辦理融資業務116筆,累計放款7.67億美元。 該局提出11條措施精準幫扶中小微外貿企業。建立了覆蓋163家企業的重點中小微外貿企業庫,用足用準山西省155億元再貸款再貼現專用額度。深入推進跨境金融區塊鏈服務平臺應用,已有17家銀行加入平臺,為16家企業辦理融資業務。指導銀行機構精準對接中小微外貿企業融資需求,提供“一企一策”服務,緩解資金壓力。在提升外匯質效方面,暢通外匯業務辦理“綠色通道”,截至4月15日,全省借助“綠色通道”為35家疫情防疫相關企業快速辦理外匯業務64筆766.19萬美元。(瀟湘晨報)[2020/5/16]

1.2橢圓曲線數字簽名

橢圓曲線算法是利用在有限域上的橢圓曲線的離散對數問題來加密或簽名的。橢圓曲線的秘鑰和RSA不同,有效范圍會受橢圓曲線參數的限制,因此不能像RSA一樣可以通過增加私鑰長度來提高安全性,對于安全性不夠的曲線,必須修改橢圓曲線的參數,不如RSA靈活。和RSA算法比,橢圓曲線的優勢在于:私鑰可以選取有效范圍內的任意數,私鑰的生成速度遠快于RSA算法的私鑰。最重要的是相同秘鑰長度的橢圓曲線安全性能高很多,因此達到相同安全等級需要的橢圓曲線秘鑰的長度遠小于RSA秘鑰的長度,因此占用的存儲空間相對較小,對于存儲比較受限的區塊鏈來說,橢圓曲線更適用。這里用橢圓曲線對簽名算法進行簡單介紹,因為橢圓曲線的簽名方法和加解密的方法區別明顯,而RSA的簽名和加解密算法模式近似,容易引起混淆,在此不做介紹。

山西深入推進跨境金融區塊鏈服務平臺應用:國家外匯管理局山西省分局深入推進跨境金融區塊鏈服務平臺應用,為中小微外貿企業跨境結算與融資擴渠道、增便利。目前,山西省已有17家銀行加入該平臺,為16家企業辦理融資業務116筆,累計放款7.67億美元。(中國新聞網)[2020/5/3]

1.3非對稱簽名驗簽算法

簽名算法最主要的思路就是利用算法的單向性,使私鑰和隨機數被隱藏起來,然后用公開信息計算獲得一致的結果來驗證簽名的有效性。

如圖所示,藍線為簽名所需要的數據,經過單向門的數據可被隱藏,未經過單向門的數據需要小心處理;紅線是驗簽的數據,這些數據對驗簽者都是公開的。

下面不考慮乘法在有限域橢圓曲線上的具體算法,以SEC的橢圓曲線簽名算法來簡單介紹一下簽名的過程。SEC是一個橢圓曲線的標準,一些常用的曲線,如secp256k1、secp256r1都是這個標準下的。其他橢圓曲線算法的流程都差別不大,但是簽名的方式有區別,如國密SM2的簽名和驗簽計算的方式和SEC的不一樣,給消息進行哈希算法的流程也更多。RSA簽名則沒有隨機數的流程。

聲音 | 平安銀行高管:運用區塊鏈等深入生態場景重塑征信模型:據人民網報道,在“金蟬獎”頒獎典禮上,平安銀行交易銀行事業部副總裁許紅輝表示,平安銀行正在實現貸前、貸中和貸后風險的全程閉環控制。運用大數據、區塊鏈、物聯網等技術,深入生態場景重塑征信模型,并基于真實貿易背景跟單放款,確保銀行融資能夠真正支持實體經濟。[2018/12/30]

1.3.1私鑰簽名

簽名算法多次用到了算法的單向性,可以看做一個單向的門,經過計算相當于從一邊穿過單向門,但是并不能通過運算再走回去。比如私鑰為k,公鑰K可通過橢圓曲線乘法算出:

kG(x,y)=K(x',y'),其中G為橢圓曲線基點,但知道公鑰K和基點G是無法反推出私鑰k的。橢圓曲線乘法和哈希算法都是這種單向門。簽名的過程為(其中有小寫字母的為數值,大寫字母為點):

取隨機數r,計算橢圓曲線乘法:r*G(x,y)=R(x",y");

計算消息m的哈希值h:Hash(m)=h;

動態 | SAP與蘇寧將在區塊鏈等領域開展深入研究:在“第9屆中德經濟技術合作論壇”上,中國國務院總理李克強與德國總理默克爾,共同見證了SAP與蘇寧控股集團的戰略合作簽約。根據合作協議,未來,雙方將聯合開展技術創新和行業實踐,在人工智能、機器學習、區塊鏈、物聯網等領域開展課題研究,共同促進數字經濟發展。[2018/7/10]

3根據隨機數r,哈希值h和私鑰k,計算s=(h+k*Rx)/r,其中Rx為R點x軸的數值;

將消息m和簽名(Rx,s)發送給驗證者。

需要注意的是第三步s的計算是數值計算,利用隨機數隱藏私鑰,并非哈希或橢圓曲線乘法這種單向性的運算。因此每次簽名隨機數r必須更換,否則對不同信息用相同的隨機數簽名就可以推算出私鑰,而且隨機數r的質量將影響私鑰的保密性。

1.3.2公鑰驗簽

驗簽是通過公鑰K(x',y')、消息哈希h和簽名值(Rx,s)來推算簽名值是否由公鑰K對應的私鑰k簽名。驗簽的過程為:

工信部于佳寧:深入理解區塊鏈,要從兩個層次來看:近日,工業和信息化部信息中心工業經濟研究所所長,中國計算機學會區塊鏈專委會委員于佳寧在接受《人民創投·區塊鏈》采訪時表示,區塊鏈有兩個層次的含義:第一個層次強調技術層面創新,是一種分布式、不可篡改的數據庫技術。這項新技術有力擴展了數據庫技術的使用場景和應用范圍,使得數據庫技術在“弱信任”的環境中也可以應用。第二個層次強調模式層面的創新,實際上是一種新型獨立數字資產載體,可以助力實現資產的數字化。[2018/5/23]

根據收到的消息m,計算哈希值h:Hash(m)=h;

根據收到的公鑰、簽名和哈希值h計算:R’=hG(x,y)/s+RxK(x',y')/s;

驗證R‘x是否等于Rx。

公鑰驗簽的原理是用公鑰、簽名和哈希值構造出算法,使計算結果能回到原來選取的隨機數上:

R’=h*G(x,y)/s+Rx*K(x',y')/s

=h*G/s+Rx*(k*G)/s=(h+k*Rx)G/s

=(h+k*Rx)G*(r/(h+k*Rx))

=r*G

因此驗簽是否成功的標志是R'x和Rx是否相同。

這里都是最簡化的推導方式,沒有把求模運算和具體的橢圓曲線加法和乘法等涉及到的運算考慮進去,實際計算中關于數值的計算要求模,因此最后R’可能算出的是R的對稱點,而對稱點的y軸坐標不同但是x軸相同。還有,數值除法也并不是常規的運算,而是將除數轉換成模逆元再做乘法。

2.加密與解密

非對稱加密的作用是將信息通過公鑰加密傳遞給私鑰持有者。非對稱加密和簽名相反,信息是經過隱藏的,發送方也并不和身份綁定,主要的功能是傳輸信息而不是確定身份。非對稱加密的效率比對稱加密低很多,主要的優勢是接收方不需要將秘鑰通過交換協議或者直接傳輸給信息發送方。和簽名類似,非對稱加密也有RSA和橢圓曲線的方法。加密同樣利用算法的單向性,使消息和隨機數被隱藏起來,然后用私鑰計算將加密的消息提取出來。

如圖所示,藍線為簽名所需要的數據,經過單向門的數據可被隱藏,未經過單向門的數據需要小心處理;紅線是驗簽的數據,這些數據是要傳給解密者或者解密者本身持有的。解密流程中私鑰為解密方單獨持有,隨機數和消息由加密方生成和提供。

2.1公鑰加密

加密也用到單向門的特性將隨機數隱藏,具體流程為:

取隨機數r,計算橢圓曲線乘法:r*G(x,y)=R(x',y');

將消息m編碼到橢圓曲線上,獲取橢圓曲線上的點M(x",y");

用隨機數r和接收方的公鑰K,計算橢圓曲線乘法:r*K(x,y);

計算橢圓曲線加法得出加密點S(x"',y"')=M(x",y")+r*K(x,y),并和R(x',y')一起發送給接收方;

加密中編碼的方式有很多種,比如用M點做對稱加密的密鑰,然后將用該密鑰加密后的信息一起發送給接收方,接收方用私鑰解密出M后,再用M解密對稱加密的信息。

2.2私鑰解密

私鑰解密是通過加密內容,隨機點R和私鑰k來還原出編碼M的過程,具體流程為:

根據發送方傳輸的S(x"',y"'),R(x',y')和接收方自己的私鑰k,計算S(x"',y"')-k*R(x',y')還原M(x",y");

用編碼M解出消息m;

私鑰解密的原理是用私鑰和加密相關的消息還原出編碼點M:S(x"',y"')-k*R(x',y')=M(x",y")+r*K(x,y)-k*R(x',y')

=M(x",y")+r*k*G-k*r*G(x',y')

=M(x",y")

然后根據M還原出加密的消息。

Tags:區塊鏈SECHASHSAP區塊鏈存證說法錯誤的是CheesecakeSwap TokenHash Bridge OracleSAP幣

歐易交易所app下載
DeFi進入DAO化發展,這會是DAO落地首站嗎?_DAO:DEFI

DAO的概念很早被提出,由于其自動化執行統一規則、具有高透明度的特點,權益相關者可以充分表達自己的利益訴求。不少極客、區塊鏈愛好者深受吸引并嘗試DAO的建造,然而目前為止,成功的實踐者寥寥.

1900/1/1 0:00:00
數據:BTC近期價格上漲使其與美國股市脫鉤,再次充當避風港_比特幣:FRIDGE價格

比特幣近來一直在增長,這與股票的增長形成步調一致。但事實上,加密貨幣與主要的華爾街股票指數正在脫鉤。過去一段時間,比特幣與股票市場的關聯度較高,尤其是在新冠肺炎大流行爆發期.

1900/1/1 0:00:00
瘋狂的LINK:一個月暴漲117%,超越LTC,拉爆空頭_LINK:INK

作者:Gisele 作為2020年最強勢的山寨幣種之一,LINK多次讓踏空的投資者拍斷大腿。為何它這么強勢和瘋狂?只是因為LINK的莊家有錢任性嗎?本文將分析LINK幣價上漲的原因以及以LINK.

1900/1/1 0:00:00
成都鏈安:起底加密貨幣的騙局,防騙從源頭做起_比特幣:ANC

總的來說,自人類存在以來,騙局就一直存在。大約在十年前,詐騙者似乎就已經找到了另一個可以賺錢的產業——加密貨幣領域.

1900/1/1 0:00:00
技術解讀:波卡如何在平行鏈之間進行有效的分片?_區塊鏈:ADO

原文:https://wiki.polkadot.network/docs/en/learn-availability翻譯:PolkaWorldPolkadot的可用性和有效性協議使整個網絡能在.

1900/1/1 0:00:00
深度 | 小牛市中哪些主流幣沒漲?后面會否補漲?_區塊鏈:元宇宙

比價關系,纏論第三大獨立因素相同類型的資產,其價格也會有一定的一致性,如北京的房價大漲,上海也會漲。以太坊大漲,比特幣也會大漲。股市里面甚至騰信會跟騰訊漲.

1900/1/1 0:00:00
ads