Ed25519 是一個基于橢圓曲線的數字簽名算法,它高效,安全且應用廣泛。TLS 1.3, SSH, Tor, ZCash, WhatsApp 和 Signal 中都使用了它。本文主要講解以下幾點:
1. 介紹一點群論知識,目的是讓大家對 Ed25519 和其可延展性問題的原理有一種直覺。若想深入理解,還需參考其他資料;
2. 針對 rust 庫 ed25519-dalek 的 1.0.1 版本講解 ed25519 的實現;
3. 針對該庫的延展性問題做出解釋。
數學要點回顧
群的定義與性質
群論是抽象代數研究的內容,但抽象代數的一些思想是程序員非常熟悉的。面向對象中的繼承就是一個很好的例子,我們都知道子類繼承了父類后,就能使用父類中定義的方法。可以將抽象代數理解為對一個抽象的數據結構定義了一些性質,由這些性質推導出來的定理對于所有的子類都成立。
慢霧:跨鏈互操作協議Nomad橋攻擊事件簡析:金色財經消息,據慢霧區消息,跨鏈互操作協議Nomad橋遭受黑客攻擊,導致資金被非預期的取出。慢霧安全團隊分析如下:
1. 在Nomad的Replica合約中,用戶可以通過send函數發起跨鏈交易,并在目標鏈上通過process函數進行執行。在進行process操作時會通過acceptableRoot檢查用戶提交的消息必須屬于是可接受的根,其會在prove中被設置。因此用戶必須提交有效的消息才可進行操作。
2. 項目方在進行Replica合約部署初始化時,先將可信根設置為0,隨后又通過update函數對可信根設置為正常非0數據。Replica合約中會通過confirmAt映射保存可信根開始生效的時間以便在acceptableRoot中檢查消息根是否有效。但在update新根時卻并未將舊的根的confirmAt設置為0,這將導致雖然合約中可信根改變了但舊的根仍然在生效狀態。
3. 因此攻擊者可以直接構造任意消息,由于未經過prove因此此消息映射返回的根是0,而項目方由于在初始化時將0設置為可信根且其并未隨著可信根的修改而失效,導致了攻擊者任意構造的消息可以正常執行,從而竊取Nomad橋的資產。
綜上,本次攻擊是由于Nomad橋Replica合約在初始化時可信根被設置為0x0,且在進行可信根修改時并未將舊根失效,導致了攻擊可以構造任意消息對橋進行資金竊取。[2022/8/2 2:52:59]
沿用剛剛的比喻,來看看群(group)這個數據結構是如何定義的。
慢霧:Badger DAO黑客已通過renBTC將約1125 BTC跨鏈轉移到10 個BTC地址:12月2日消息,Badger DAO遭遇黑客攻擊,用戶資產在未經授權的情況下被轉移。據慢霧MistTrack分析,截止目前黑客已將獲利的加密貨幣換成 renBTC,并通過renBTC 將約 1125 BTC 跨鏈轉移到 10 個 BTC 地址。慢霧 MistTrack 將持續監控被盜資金的轉移。[2021/12/2 12:46:11]
由此可以推出許多有意思的定理:
動態 | 慢霧:巨鯨被盜2.6億元資產,或因Blockchain.info安全體系存在缺陷:針對加密巨鯨賬戶(zhoujianfu)被盜價值2.6億元的BTC和BCH,慢霧安全團隊目前得到的推測如下:該大戶私鑰自己可以控制,他在Reddit上發了BTC簽名,已驗證是對的,且猜測是使用了一款很知名的去中心化錢包服務,而且這種去中心化錢包居然還需要SIM卡認證,也就是說有用戶系統,可以開啟基于SIM卡的短信雙因素認證,猜測可能是Blockchain.info,因為它吻合這些特征,且歷史上慢霧安全團隊就收到幾起Blockchain.info用戶被盜幣的威脅情報,Blockchain.info的安全體系做得并不足夠好。目前慢霧正在積極跟進更多細節,包括與該大戶直接聯系以及盡力提供可能需求的幫助。[2020/2/22]
舉幾個例子:
動態 | 慢霧:10 月發生多起針對交易所的提幣地址劫持替換攻擊:據慢霧區塊鏈威脅情報(BTI)系統監測及慢霧 AML 數據顯示,過去的 10 月里發生了多起針對數字貨幣交易所的提幣地址劫持替換攻擊,手法包括但不限于:第三方 JS 惡意代碼植入、第三方 NPM 模塊污染、Docker 容器污染。慢霧安全團隊建議數字貨幣交易所加強風控措施,例如:1. 密切注意第三方 JS 鏈接風險;2. 提幣地址應為白名單地址,添加時設置雙因素校驗,用戶提幣時從白名單地址中選擇,后臺嚴格做好校驗。此外,也要多加注意內部后臺的權限控制,防止內部作案。[2019/11/1]
拉格朗日定理
現在介紹一個非常有意思的定理,這個定理的推導在文末引用的視頻中。
“群的階能被子群的階整除。”
為什么說這個定理有意思呢,不僅僅因為它的證明過程串起了剛剛介紹的許多知識,還因為下面的結論:
Ed25519 的實現
現在我們來講 Ed25519,它是 EdDSA 算法的其中一種。EdDSA 有 11 個參數(https://datatracker.ietf.org/doc/html/rfc8032#autoid-3),這些參數的具體選擇對于算法的安全和性能有很大的影響。Ed25519 的具體選擇請參看鏈接(https://datatracker.ietf.org/doc/html/rfc8032#autoid-9)。
另外,值得一提的是這套算法用到了一個叫 Curve25519(https://datatracker.ietf.org/doc/html/rfc7748#autoid-5)的橢圓曲線。對于橢圓曲線,我們只需知道,它上邊有很多很多點,這些點相加能得到新的點,新的點還是在曲線上。這些點和這個加法能形成一個群。注意這里的橢圓曲線加法(https://www.wikiwand.com/en/Elliptic_curve_point_multiplication)是有特殊定義的。
我們約定如下記法:
這是個交互式的算法,但是沒關系,有一個技巧叫做 the Fiat – Shamir heuristic(https://link.springer.com/chapter/10.1007%2F3-540-47721-7_12),它可以把任意的交互式算法轉化成非交互式的算法。最終我們會用非交互式算法。
數字簽名算法都會給我們如下 API:
代碼地址(https://github.com/dalek-cryptography/ed25519-dalek/blob/97c22f2d07b3c260726b90c55cd45f34ec34a037/src/public.rs#L322-L355)
密碼學算法的實現和使用都有非常多要注意的地方。當我們說一個數字簽名算法是安全的,一般指的是即使在攻擊者能夠獲得任意消息的簽名(Chosen Message Attack)的情況下,攻擊者仍然不能偽造簽名。Ed25519 滿足這個性質,但不代表 Ed25519 是絕對安全的。在原始的論文中也提到,可延展性問題是可以接受的,且原始的算法就有這個問題。
慢霧科技
個人專欄
閱讀更多
區塊律動BlockBeats
Foresight News
曼昆區塊鏈法律
GWEI Research
吳說區塊鏈
西柚yoga
ETH中文
金色早8點
金色財經 子木
ABCDE
0xAyA
Tags:BTCTPSACKLICRENBTCCURVEtps幣行情CopytrackMedia Licensing Token
金色周刊是金色財經推出的一檔每周區塊鏈行業總結欄目,內容涵蓋一周重點新聞、行情與合約數據、礦業信息、項目動態、技術進展等行業動態。本文是項目周刊,帶您一覽本周主流項目以及明星項目的進展.
1900/1/1 0:00:00幣安研究院和幣安 VIP & Institutional6 月 30 日宣布其對機構級加密資產用戶的調查研究報告.
1900/1/1 0:00:00作者:CHAO WANG無論是加密世界還是現實世界,信任是世界能夠持續運行的基礎。而在加密世界中,信任的構建有兩種截然不同的方式.
1900/1/1 0:00:00作者:MasterCryptoForAll;編譯:白話區塊鏈近年來,加密貨幣變得越來越流行,打破了原有的既定的投資策略.
1900/1/1 0:00:00近期,LSDFi這個新興板塊受到業內聰明投資者的青睞,數據顯示,LSDFi 板塊總鎖定價值已經突破3.85億美元,下面是一些LSDFi協議盤點.
1900/1/1 0:00:00▌dYdX在Cosmos上推出公共測試網截至發稿,據coinmarketcap數據顯示:BTC最近成交價30496.21美元,日內漲跌幅-1.00%;ETH最近成交價1914.22美元.
1900/1/1 0:00:00