比特幣行情 比特幣行情
Ctrl+D 比特幣行情
ads

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

Author:

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

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

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

1簽名與驗簽

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

1.1RSA數字簽名

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

聲音 | 菲律賓參議員:菲律賓不急于出臺加密法規,建議成立專項小組做深入研究:菲律賓參議員Grace Poe表示,該國議員們并不急于出臺使金融技術和加密貨幣等數字資產合法化的法律措施:“這是一件非常復雜的事情。事實上,立法者真的不應該急著起草一項有關這方面的法律。我們仍然需要學習很多東西,特別是在金融技術和數字資產方面。對我們大多數國人來說,這是陌生的領域,雖然他們中的一些人已經通過在線貸款接觸了這一領域。但在沒有適當的信息和教育的前提下,許多人實際上是受害者。”

參議員Francis Tolentino表示,監管機構應“放慢腳步”,研究“未成熟的”領域。對于具體應對方案,參議員建議成立一個工作小組來研究這一領域。該小組將由以下機構組成:菲律賓央行(BSP)、菲律賓證交會(SEC)、菲律賓存款保險公司、財政部以及卡加延經濟區管理局。Tolentino還建議,如果有涉及海外菲律賓工人的擔憂,勞工和就業部也應包括在該小組中。據證交會專員Luis Amatong稱,委員會將頒布新規則,要求擁有數字產品的公司必須注冊并受到監管審查,特別是如果其具有投資計劃。另外,BSP和SEC已經同意進行定期討論,以便可以提出實際的立法建議。(Rappler)[2019/9/23]

1.2橢圓曲線數字簽名

聲音 | 中國平安:深入開展人工智能、區塊鏈、云三大核心技術的研發與應用:中國平安(601318)昨日發布了即將在年度股東大會及H股類別股東大會上的決議資料,其中包括《公司2019-2021年發展規劃》,規劃在發展措施中指出,公司持續夯實基礎,深入開展人工智能、區塊鏈、云三大核心技術的研發與應用,深度賦能核心業務的客戶經營、渠道管理、客戶服務、風險管控等方面,推動業務價值提升和創新公司孵化。[2019/3/29]

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

聲音 | 英國財政部金融服務副主任:希望更深入地研究加密行業:據unhashed報道,英國財政部金融服務副主任Gillian Dorner表示,政府相關部門希望能更深入地研究加密行業,以采取相應的應對辦法。英國正面臨著創新經濟、保護消費者和打擊金融犯罪的多重挑戰。[2018/11/23]

1.3非對稱簽名驗簽算法

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

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

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

動態 | 金融時報:未來區塊鏈等技術與銀行業的融合一定會越來越深入:據金融時報今日刊文指出,銀行業“變革的思維”,還體現在科技與傳統銀行的結合上。未來,云計算、大數據、區塊鏈與銀行業的融合一定會越來越深入。數據和信息會成為未來銀行的生命線。擁有數據和信息,就能精準勾畫出消費者所需要的場景,從而提高銀行服務和產品的覆蓋范圍與個性化程度,進而滿足金融消費者的獲得感、幸福感和安全感。并且,數字技術與普惠金融、小微金融、消費金融相結合,可以產生事半功倍的效果,因為小微企業與消費者是最需要數字技術所帶來的金融服務便利性的客戶群體。[2018/9/8]

1.3.1私鑰簽名

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

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

福建省法院網信辦主任郭金焰:推動大數據、區塊鏈等與法院工作的深度融合、深入應用:福建省法院網信辦主任郭金焰介紹,法院系統將把科技理性與司法理性“兩個智慧”融合好,把制度優勢和技術優勢“兩個優勢”結合好,把制度鐵籠和數據鐵籠“兩個鐵籠”建構好,推動大數據、云計算、人工智能、移動互聯、區塊鏈等與法院工作的深度融合、深入應用,促進審判體系和審判能力現代化,讓人民群眾充分享受信息化和智慧法院建設帶來的獲得感。[2018/4/22]

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

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

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簽名。驗簽的過程為:

根據收到的消息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:區塊鏈SECHASH人工智能區塊鏈是什么概念YSECHash Bridge Oracle人工智能考研考哪些科目

幣安app官網下載
YFI:分叉史罕見案例:為什么YFII能取得成功?

轉自:碳鏈價值 作者:碳7、江小漁 「流動性挖礦」引爆了DeFi領域。自6月15日Compound推出流動性挖礦以來,包括Sythetix、Aave、Balancer、Curve、NEST等在內.

1900/1/1 0:00:00
YAM:終于還是發現Bug了!YAM號召山藥農民攜手拯救項目

早起的同學看過來,YAM出現了一個Bug! 1.YAM的rebase出現了問題。增發了很多YAM在官方的儲備池子里.

1900/1/1 0:00:00
數字貨幣:四大行內測大規模進行,央行數字貨幣將何時落地?

8月5日,有媒體報道稱,數位國有大行人士表示:四大行正在深圳等地大規模測試數字錢包應用,為數字貨幣正式落地進行測試準備。消息一出,引發大量熱議。數字貨幣,似乎正迅速被推上日程.

1900/1/1 0:00:00
以太坊:兩周暴漲75%!以太坊價格上漲的三大原因

在過去的兩周中,以太坊的價格從222美元上漲至390美元,上漲了75%。許多投資者認為,以太坊的走勢正在提振整個市場,甚至可能推動比特幣上漲.

1900/1/1 0:00:00
DEF:DeFi開啟新一輪暴漲,市值突破120億美元,LINK再次刷新歷史高點

8月11日,黃金遭受了7年來最大的單日跌幅,比特幣與黃金的關聯性創下歷史新高,比特幣等主流幣種也同步下跌.

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

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

1900/1/1 0:00:00
ads