以太坊價格 以太坊價格
Ctrl+D 以太坊價格
ads
首頁 > 比特幣 > Info

DAPP:?DAOrayaki:基于哈希的后量子數字簽名是如何工作的?(一)

Author:

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

原文作者:EricZhang,VegeBun

原文標題:Howdohash-basedpost-quantumdigitalsignatureswork?(Part1)

基于哈希的數字簽名方案是后量子數字簽名的一個類別。與目前用于驗證區塊鏈交易的數字簽名方案不同,哈希函數為量子計算機提供的可利用結構要少得多,而且廣泛認為它是量子安全的。

目前區塊鏈基礎設施上廣泛使用的數字簽名,如BLS和ECDSA,都是基于離散對數問題。

對于那些不熟悉數字簽名的人來說,一個簽名方案由四部分組成:系統生成,密鑰生成,簽名生成,以及簽名驗證。

例如,在ECDSA中,公鑰Pk是通過橢圓曲線群上的生成點G來生成的,私鑰Sk滿足Pk=Sk*G。給定Pk,利用經典算法很難找到Sk。

BLS簽名方案是在配對群

上構建的。公鑰/密鑰對滿足

量子算法善于尋找某些函數的周期性,它能發現經典難題的特殊結構,如因式分解和離散對數。當擁有數千個邏輯量子位的量子計算機出現時,BLS、ECDSA和其他依靠因式分解和離散對數問題的簽名方案將不再安全。

例如,求一個數?N=p*q?的素因子可以簡化為

求一個函數的周期。其中c是N的互素數。一旦找到周期,那么可以通過計算、

和找到兩個互素因子。使用著名的輾轉相除法可以很快找到最大公除數,它可以在經典的計算機上運行。反之,在經典計算機上很難找到D(x)的周期,但QPU可以在多項式時間內完成。

分析 | EOS/ETH/TRON?Dapp周交易額均呈下降趨勢:據RatingDapp和RatingToken大數據監測顯示,最近一周EOS/ETH/TRON三大主流公鏈平臺Dapp活躍用戶分別:EOS(147089)>TRON(75043)>ETH(72520);新增用戶分別為:ETH(38867)>EOS(14942)>TRON(8077),其中三大公鏈平臺Dapp新增用戶前三為limitless(20,416),idex(18,608),cdp_portal(17,768)。從交易額來看,最近一周EOS?dapp交易額為17,680,061EOS,環比上周下降11.11%;ETH dapp交易額為288,362ETH,環比上周下降4.74%;TRON?dapp交易額為5,423,205,712TRX,環比上周下降50.22%。[2019/8/5]

盡管當今的量子計算機只有幾百個噪聲的物理量子位,但量子計算機的建造者確實擁有大量的路線圖來實現大規模的量子計算機。像IBM和RigettiComputing這樣的超導量子計算機制造商正在向1000個物理量子位的量子計算機邁進,并使用可疊加的模塊以獲得更多數量的邏輯量子位。除此之外,在可預見的未來,還有其他幾種方法可以帶來有意義的量子計算系統,包括離子阱、中性原子和基于測量的量子計算。

但是,到目前為止,還沒有發現有效的量子算法來破解哈希函數,而量子計算機只是將生日攻擊速度提高到

而在經典計算機上的生日攻擊速度為

現在讓我們來看看如何使用哈希函數來構建數字簽名,以及如何處理基于哈希的量子安全簽名。

分析 | 昨日TRON?Dapp活躍用戶和交易筆數均將至近三月最低:據RatingDapp和RatingToken大數據監測顯示,昨日EOS/ETH/TRON三大主流公鏈平臺Dapp活躍用戶分別EOS(124652)>TRON(33474)>ETH(19653),其中TRON?同比三個月前下降53.64%,達到近三月最低;EOS下降20.77%;ETH上漲51.26%。從交易筆數來看,昨日三大公鏈平臺Dapp交易筆數大于零共計146款,EOS?Dapp交易筆數4358522,同比三個月前上升9.87%;ETH Dapp交易筆數93863,同比上升46.21%;TRON?Dapp交易筆數414205,同比下降71.77%,降至近三月最低值。[2019/6/28]

PKs是通過哈希SKs計算的。假設我們使用256位的加密哈希函數來產生消息摘要,每組密鑰對由256個密鑰和公鑰組成。總的來說,我們需要準備512個密鑰和512個公鑰來簽署任何一條消息。

要對一個消息簽名,首先將消息散列成一個256位的隨機數;然后,根據散列數的位值,相應地選擇SK。

請注意,我們將始終對消息h(m)的摘要進行簽名,而不是對任意長度的消息進行簽名。為了簡化標記,我們在本文的剩余部分將使用m代替h(m)。當你看到m,即表示著h(m)。

圖片注釋:簽名是

和消息本身。

為了驗證簽名,首先計算H(m),然后根據簽名計算

,驗證PK是否確實是來自SKs散列的結果,并且驗證索引是否正確。

在對任何消息進行簽名之后,該過程都會公開一半的密鑰。因此密鑰對只能使用一次,否則攻擊者將能夠使用公開的密鑰來驗證消息。

動態 | 昨日ETH?Dapp交易額同比上周上漲98.93%:據RatingDapp和RatingToken大數據監測顯示,昨日EOS/ETH/TRON三大主流公鏈平臺Dapp活躍用戶分別為:EOS(11692),同比上周上升22.84%;ETH(22557),同比上周上升1.85%,達到近一周最高值;TRON(58677),同比上周上升19.32%。從交易額來看,昨日EOS Dapp交易額2185975.6EOS,同比上周上漲20.37%;ETH Dapp交易額53947.15ETH,同比上周上漲98.93%,同樣達到近一周最高值;TRON Dapp交易額345380290.1TRX,同比上周下降29.53%。[2019/6/27]

使用MerkleTrees?管理OTS密鑰

從21世紀加密用戶的視角來看,Lamport簽名方案乍一看可能很奇怪、很混亂。寫下一次私鑰或助記詞可能就已經給人帶來壓力和煩惱,如果私鑰只能簽署一份信息,而每份消息都要共享不同的公鑰,這不讓人抓狂嗎?

事實證明,如果我們能夠適當地引入管理密鑰的機制和工具,OTS簽名方案也不是那么糟糕。

因為LamportOTS和WinternitzOTS一次只能簽署一條消息,如果需要簽署多條消息,就必須有多個密鑰。MerkleTree?的簽名方案是由RalphMerkle發明的,用于管理LamportOTS密鑰。

其基本原理是使用MerkleTree的葉子來存儲LamportOTS密鑰。因為MerkleTree是二叉樹,高度為h的MerkleTree有

動態 | 上周EOS/ETH/TRON?Dapp活躍用戶均出現不同程度的下降:據RatingDapp和RatingToken大數據監測顯示,上周EOS/ETH/TRON三大主流公鏈平臺Dapp活躍用戶分別為:EOS?144036,環比上上周下降4.06%;ETH 73969,環比下降9.95%;TRON 96330 ,環比下降6.41%。從交易額來看,上周EOS?Dapp交易額14266880.11EOS,環比上上周下降4.37%;ETH?Dapp交易額232621.68ETH,環比下降21.06%;TRON?Dapp交易額2594325416,環比上升2.21%。[2019/6/17]

的葉子。如果使用葉子來管理LamportOTS密鑰的摘要,那么MerkleTree可以管理

的LamportOTS密鑰對。

當簽署消息時,需要從樹上摘取一個之前從未使用過的Lamport密鑰對。簽名由葉子的索引、Lamport公鑰、Lamport公鑰摘要和該葉子的認證路徑組成。

圖片注釋:在這個簡單的MerkleTree中,由

簽名的消息是?

,其中

的一半

如果有很多消息需要簽名,可以重復上述過程。由于?Lamport密鑰對是一次性密鑰對,因此任何葉子都不能被選擇超過一次。因此,MSS是一個有狀態的簽名方案。

你可能還注意到,如果驗證者只得到一個?Lamport簽名,那么Lamport簽名方案本身并不能防止中間人攻擊。

動態 | EOS/TRON?Dapp每個用戶平均周交易額呈上升趨勢:據RatingDapp和RatingToken大數據監測顯示,最近一周EOS/ETH/TRON三大主流公鏈平臺Dapp活躍用戶EOS(197529)>TRON(146596)>ETH(43532),交易額EOS($131714497.86)>TRON($98588252.12)>ETH($40467180.45)。從Dapp單個用戶周交易額來看,最近一周EOS平均為666.81美元,環比上周上升17.36%;ETH本周雖有所下降但依然穩居三大公鏈榜首,平均為929.6美元,環比上周下降27.39%;TRON與EOS相近,平均為672.52美元,環比上周上升22.54%。[2019/5/9]

為了在沒有MerkleTree的情況下驗證簽名者的Lamport公鑰是否真實,驗證者需要保留一份密鑰副本。因為所有單獨的密鑰對都只能一次性使用,因此驗證者需要保留一份所有公鑰的副本。使用MerkleTree可以有效地讓驗證者只保存Merkle根,而不需要保存

密鑰對,從而將空間從

減少到O(?1)。這意味著,安全地交換一個Merkle?根就允許多個簽名驗證。

使用MerkleTree的結果是,每次簽名都必須包括認證路徑,這是一個更大空間,而且驗證者要對O(h)計算更多的哈希值來驗證每個簽名。

WinternitzOTS

LamportOTS的另一個問題是,Lamport公鑰和Lamport簽名太長。RobertWinternitz提供了一個改進的簽名方案,大大減少了簽名的大小。

WinternitzOTS不是為每一條消息準備私鑰和公鑰對,而是將哈希的消息分成幾塊。如果一個信息被分成N個塊,并且每個塊有1個比特,那么我們就得到了lenth(m)=N*L。我們將在本文中使用相同的$l,?N&符號,以便于閱讀。

假設我們仍然在信息上使用256位哈希函數,并獲得信息的256位摘要。在這種情況下,N*L=256?

使用上面的例子,m被分割成64個塊,每個塊有4位。所以,WOTS只需要準備64個私有密鑰sk?0?,…,sk?64?。公鑰是通過對每個私鑰上應用

次哈希函數來計算的。

一個WOTS簽名的生成方法如下。

1、計算消息摘要中每個塊的十進制值。例如,第一塊的十進制值是5?。

2、通過將相應的私鑰哈希運算計算第

i個區塊的簽名。在上面的示例中,sk?0將被哈希運算次

3、對N個塊應用和并生成簽名

圖片注釋:每個公鑰是通過對相應的私鑰哈希運算

次來獲得的。

為了驗證簽名,驗證者將首先對信息進行哈希運算,得到一個256位的摘要m。然后驗證者將m分成幾塊,得到每組的十進制值。

然后驗證者將簽名的每個值哈希運算

次,得到?

。如果

與公鑰集pk相同,則簽名有效,否則簽名被拒絕。

WOTS的折衷方案是在簽名生成和驗證中增加了更多的計算量。因此,WOTS的簽名將明顯比Lamport的簽名小得多。

值得注意的是,WOTS仍然是一個一次性的簽名方案,因為一旦使用了密鑰對,只要塊的十進制值小于原始值,攻擊者就可以為每個塊生成有效消息。因此,多次使用WOTS根本不安全。

WOTS

WOTS為WOTS增加了隨機性。它首先向公鑰集

添加了一個額外的公鑰

。新的

是一組

c是WOTS使用的一個哈希函數,它取代了WOTS中使用的h。c接受兩個輸入,并遞歸定義為:

其中x是私鑰,H是一個哈希函數。

圖片注釋:WOTS公鑰的計算方式與WOTS相同,只是將h替換為c,并添加pkN

WOTS簽名的生成方式與WOTS類似,只是做了一些修改。它首先將一個消息?m?分成?N?塊

然后計算一個校驗和,連接校驗和

,生成b=m||c。

計算出簽名:

將簽名與隨機數公式一起發送給驗證者。

圖片注釋:簽名是根據

一組中間的方塊。

一個簽名可以通過對收到的元素進行持續的哈希運算來驗證,直到整個o?集中的每個元素都經過pk驗證。

具體來說,就是計算

如果

元素匹配pk,則該簽名有效,否則拒絕簽名。

盡管WOTS和WOTS的一些變體使用簡單的哈希鏈,但它們的迭代方法也很常見和簡單。然而,WOTS有一些特殊的迭代模式,可以實現嚴密的安全性證明,而不需要使用的哈希函數族具有抗沖突性。

擴展的MerkleTree?簽名方案

因為WOTS仍然是一個一次性簽名方案,如果有多條消息需要簽名,那么密鑰管理就非常重要。

擴展的MerkleTree簽名方案使用MerkleTree來管理WOTS密鑰,其方式類似于MSS使用MerkleTree來管理Lamport密鑰。

我們已經知道MSS是如何使用Lamport密鑰對的,所以讓我們先看看頂層的?MerkleTree。

圖片注釋:用顏色標記驗證最終XMSS公鑰的認證路徑

在XMSS中,公鑰是XMSSMerkle根。MerkleTree的每個葉子都是WOTS公鑰集的?Merkle?根。為了說明這一點,從上面“擴展”

我們將有一棵“子”MerkleTree連接到上面的葉

上。這棵樹在文獻中也稱為“L-tree”。

圖片注釋:一個由L-tree管理的WOTS密鑰集。實際樹高取決于WOTS密鑰集的大小。

位掩碼用于L-tree。在每次將哈希函數應用于兩個節點之前,兩個底部值將使用相應的位掩碼進行異或運算。L-tree的每一層都有兩個位掩碼值

它們將該層的左、右節點進行異或運算。因此,一棵高度為h的L-tree總共需要2?h的位掩碼。

圖片注釋:L-trees是如何計算的——在進入哈希函數之前,將一個值與一個位掩碼進行異或運算。

現在沿著L-tree向下移動——L-tree的葉子是WOTS公鑰。每片葉子代表一個WOTS公鑰,該公鑰是使用WOTS中描述的私鑰的哈希值鏈創建。

圖片注釋:L-trees是如何計算的——在進入哈希函數之前,將一個值與一個位掩碼進行異或。

要對消息m簽名,首先從XMSS樹中選擇一個由i索引的葉子,并確保該葉子以前從未被使用過。然后我們知道該葉子是WOTS公鑰集的一個Merkle根。WOTS私鑰可以用來對消息進行簽名,并得到消息m的WOTS簽名

。XMSS簽名

,其中i是WOTS密鑰對的索引,

是這個WOTS公鑰集的Merkle根。

要驗證該簽名,首先使用m驗證

和使用i索引的WOTS公鑰,然后使用

和XMSS公鑰驗證

的正確性。

使用XMSS,可以管理和驗證多個WOTS密鑰。

拓展閱讀

本文介紹的簽名方案是基于哈希的簽名方案的基本構建塊。AndreasHülsing等人在該論文中對基于哈希的簽名方案的算法特性進行了更深入的分析。

還有其他以前NIST推薦的簽名方案和多樹方差和多樹XMSS)。NIST?最近的第三輪后量子密碼學標準化過程目前不推薦這些簽名方案以及本文第一部分所介紹的簽名方案。然而,了解這些簽名方案的細節非常重要,因為更新的、通常更復雜的簽名方案是根據這些算法思想設計的。

本文的第二部分將介紹基于哈希的簽名方案的最新發展,包括SPHINCS/SPHINCS,以及工程和開源軟件的現狀。

Tags:WOTDAPDAPPAPPWOTGDaps CoinDAPPT非小號官方app安卓版下載

比特幣
BIT:關于 MetaRuffy (MR)的合約升級的公告

親愛的BitMart用戶:?MetaRuffy(MR)的智能合約升級已完成。舊MR_V1(BEP20)代幣都以31:1的兌換比率兌換為合約升級后的新MR_V2(ERC20)代幣.

1900/1/1 0:00:00
UST:JustLend DAO借貸市場存款APY TOP5一覽(截至 12 月 13 日)

最新數據顯示,截至?12?月?13?日,JustLendDAO?借貸市場中存款?APY?最高的是?BTT,達到?18.74%?,其次是?JST?和?WIN.

1900/1/1 0:00:00
以太坊:以太坊反彈至1,350 美元,但衍生品指標保持中性至看跌

以太幣在12月13日上漲6.3%至1,350美元,模仿11月10日發生的類似失敗嘗試。盡管達到33天內的最高水平,但根據兩個關鍵的衍生品指標,漲幅不足以增強交易者的信心.

1900/1/1 0:00:00
FTX:2022 年最大的加密貨幣欺詐者盤點!

簡單來說 已破產的FTX交易所的創始人山姆·班克曼-弗里德(SamBankman-Fried)于12月13日被捕.

1900/1/1 0:00:00
ITM:關于支持APE-BEP20充提功能的公告

親愛的BitMart用戶:?BitMart將添加APE-BEP20充值和提現功能。APE-BEP20各項功能的開放時間請參照:民主黨和共和黨關于穩定幣監管產生分歧,或不利于迅速通過立法:4月20.

1900/1/1 0:00:00
SHO:HOPOO將參展Wiki 2022香港金融展會:倒計時2天

HOPOO琥珀作為世界領先的加密行業領導者,受邀參展2022年12月16日-17日的WikiFinanceExpo香港金融展會,與全球的金融從業者分享成功經驗,促進行業健康有序發展.

1900/1/1 0:00:00
ads