零知識證明是重要的密碼學技術之一,其中基于電路的通用零知識證明算法更是因為近年取得的長足發展和在區塊鏈項目中的應用而備受關注。雙線性映射,也叫雙線性配對或雙線性對,是通用零知識證明算法的重要組成部分,也是眾多密碼體制,如聚合簽名、身份基加密、屬性基加密等的關鍵構件。本文從零基礎開始,通過完整的模擬雙線性對的原理來實現一套在小有限域上的雙線性映射,幫助讀者加深對雙線性映射的理解。
“動手計算雙線性對”這個系列計劃有上中下三篇內容,本文是上篇,介紹后面文章需要的一些基礎知識。在中篇,我們將對一個名為curve101的曲線進行討論,其有限域只涉及101個元素,用于配對的橢圓曲線子群只有17個點,不借助計算機也能方便的通過純手算完成整個過程,十分適合零基礎讀者入手。下篇則會實際計算并討論雙線性對的實際例子,全部的中間計算過程我們都將列出,讀者可以按步驟重現整個計算流程。
在之后介紹零知識證明算法的系列文章中我們還會用到這個curve101進行演示,屆時讀者可以更加明白雙線性對的作用,而接下來我們就來一起從零基礎開始演算這個雙線性曲線。
密碼學家發現MetaMask存在可致用戶IP地址泄露的漏洞:金色財經報道,OMNIA協議的聯合創始人、安全分析師和密碼學家Alexandru Lupascu稱MetaMask錢包存在漏洞風險,惡意攻擊者可以簡單地創建一個NFT,并通過轉移該NFT的免費所有權來獲取用戶的IP地址,黑客只需花費50美元就能攻擊他人的隱私。
Lupascu表示,他在2021年12月14日發現了這個安全漏洞,并向MetaMask團隊提出了解決方案,但他們忽視了這個問題,并表示將在2022年第二季度之前解決。
在這項研究向公眾展示之后,MetaMask的創始人Daniel Finlay承認了這一事件:“我認為這個問題已經被大眾廣泛知曉很久了,所以我認為披露期并不適用。”Finlay補充說:“Lupascu說我們沒有盡早解決這個問題,他說得沒錯。我們現在就開始著手解決這一問題。謝謝你的提醒。”(BeInCrypto)[2022/1/23 9:07:16]
眾所周知,很多公鑰密碼體制都是建立在有限域上,特別是模素數的有限域。作為零基礎的系列,我們不去糾結數學概念“域”的嚴格定義,而是通過介紹帶模運算相關的內容,來真實的展現一個有限域。
IoTeX密碼學負責人:區塊鏈技術可以提高物聯網設備安全性:太平洋時間11月9日,IoTeX密碼學負責人Xinxin Fan博士將在物聯網設備安全會議上向全球數百名與會者分享關于“從區塊鏈技術角度看物聯網設備安全”的主題演講。范博士認為:“區塊鏈技術可以提高物聯網設備安全性,新的Web 3.0機器金融#MachineFi能確保物聯網設備安全的設備身份,數據傳輸和通證化”。IoTeX作為硅谷開源項目成立于2017年,以鏈接現實世界和數字世界為愿景,是與以太坊全兼容的高性能公有區塊鏈。[2021/11/9 6:41:16]
帶模運算是在我們熟悉的加法和乘法的基礎上增加一步計算余數的操作,例如,在以7為模數的系統中:
3+3=6,也就是mod7=6
3+6=2,也就是mod7=2
4×2=1,也就是mod7=1
所謂模素數就是說取模操作針對的是某個素數p,例如上述的7,或者curve101中的101。p是素數這個細節是關鍵的,在下文介紹帶模乘法的逆運算時你將會對這一點的必要性有更深的體會。
密碼學博士高承實:量子計算機大規模應用將對非對稱密碼算法和哈希函數帶來致命性的影響:密碼學博士,計算機應用專業副教授高承實發表《量子計算機的應用會顛覆掉比特幣系統嗎?》專欄文章,文章表示,量子計算機從發展狀況來看,還處于極其早期階段,離真正實用還有相當遠的距離。如果量子計算機真正能夠大規模應用,將對密碼算法當中的非對稱密碼算法和哈希函數帶來致命性的影響。現在基于數學難解問題而生成的非對稱密碼算法RSA和ECC安全性將不復存在,哈希函數的抗碰撞性也將受到極大挑戰,除非盡可能增加哈希函數的輸出長度。目前的非對稱密碼,主要是ECDSA和哈希函數SHA256,是比特幣系統最核心的底層技術,確保了比特幣分配和支付的安全,在比特幣系統的多個環節得到了應用,包括生成錢包地址、對交易進行簽名和驗證、計算區塊內所有交易的默克爾數生成區塊以保證塊內數據難以被篡改、激勵礦工開展挖礦競賽以維護系統的自運行……如果ECDSA和SHA256兩種算法的安全性不復存在,那么整個比特幣系統的安全性也將不復存在。
當然我們也沒有必要那么悲觀。第一,量子計算機的真正使用還有相當遠的距離;第二,隨著量子計算以及量子計算機的發展,抗量子計算的密碼算法也會同步得到發展,比如格密碼。
真的到了那個時候,或者比特幣系統中的密碼模塊會替換為抗量子計算的密碼模塊,或者比特幣已經完成它的歷史使命,從這個世界上消亡。(財新)[2020/12/24 16:21:46]
有了模加法,我們可以定義其逆運算是模減法,例如:
聲音 | Anchorage聯合創始人:加密技術正在開創分布式系統、安全性和密碼學研究的新領域:據AMBCrypto報道,在最近的一次演講中,加密安全公司Anchorage的聯合創始人Diogo Monica談到了加密在提高個人安全、隱私和數據主權方面的作用。Diogo注意到加密降低了黑客攻擊和服務中斷的風險,他宣稱加密技術正在開創分布式系統、安全性和密碼學研究的新領域。他稱,“缺乏個人安全、缺乏隱私和數據主權是我們日常生活中的事情,我們接受這些東西作為互聯網的一部分,但這不應該是這樣,這就是加密技術的來源。加密貨幣的發展實際上幫助你的每一臺設備變得更安全,因此有助于你的個人安全,新的加密方法有助于保護你的數據,并最終讓你重新獲得一些隱私。”[2020/2/3]
6-3=3,也就是mod7=6
2-6=3,也就是mod7=3
同理,有了模乘法,自然而然會想到去定義其逆運算“模除法”。但是加、減、乘我們可以直接正向計算得到,“模除法”就比較困難。例如為了求3/2等于幾必須思考哪個數乘以2等于3,而這個思考過程并不是特別直接。好在我們模7的例子中涉及到的元素并不多,因此通過窮舉就能找到答案:因為2×5=3,所以3/2等于5。
聲音 | “公鑰密碼學之父”Diffie:區塊鏈是降低和改變網絡不安全性的一個主要方向:11月11日,2015年圖靈獎得主、有“公鑰密碼學之父”之稱的Whitfield Diffie在上海舉行的區塊鏈底層技術學術交流會上發表主題演講。Diffie認為,互聯網有三個主要性質:開放性、去中心化與支持社會變革,但它不可避免地存在一定不安全性,區塊鏈則是降低和改變網絡不安全性的一個主要方向。他稱,網絡安全涉及以下重要元素:一是安全計算,二是密碼學,三是從發現惡意軟件開始,防范它甚至回擊它。Diffie最后提出對網絡安全的幾點意見:開發抗量子的公鑰加密系統;重新審視未被解決的經典計算機安全問題,并用人工智能和其他新技術來解決;開發更多大規模的可信賴軟件系統。[2018/11/11]
需要注意到3/2其實可以轉化為3×(1/2),而因為剛才我們計算過4×2=1,所以1/2的值我們其實是知道的。因此3/2=5可以通3×4=5計算出來。這啟發我們可以枚舉全部形如1/n的數得到一個“倒數表”,然后借助“倒數表”將除法轉化為乘法進行。
模7逆元表
按習慣,我們一般不用1/n的寫法,也不用“倒數”這個稱呼。而是將1/n寫做?n-1,并將其稱為n的逆元。下文我們將遵從習慣,使用逆元這個叫法。顯而易見的是,在不同的模系統中,同一個數的逆元是不同的。比如模7系統中,3的逆元是5;而模11系統中3的逆元是4。因此除非有明確的語境和上下文,否則為了避免歧義,還要說明逆元是模幾的逆元才有意義,比如一個完整的說法是:3的模7逆元是5。
在模7的系統中,我們為每個元素都找到了逆元,在模17和模101的系統中也可以完成這樣的操作。那么我們自然而然會想:是否在任何模的情況下都能為每個元素找到逆元呢?答案是否定的,例如在模8的系統中,找不到任何一個數乘以2等于1,也就是說在模8的系統中計算1/2這個“除法”是沒有意義的。實際上,只有在模為素數的情況下才能為每個元素都找到逆元,也就是說在模素數的情況下我們才可以給任意兩個元素計算“除法”。在這樣的模素數系統中,任意兩個元素都能完成加減乘除四則運算,我們稱模7加法、模7乘法和集合{0,1,2,3,4,5,6}組成一個有限域:模7剩余類域。
所謂“有限”的意思就是集合的元素是有限的,比如這里的7個元素。雖然在本篇科普性質的文章對待數學概念都并非十分嚴格和謹慎,但是這里仍然能夠揭示域的一些關鍵性質。比如我們發現僅利用集合中的元素就能夠計算四則運算。模7剩余類域是這樣,有理數域、復數域等也都是這樣,意識到這一點就已經足夠完成后面文章的閱讀了。我們后面用Fp代指模p剩余類域,例如F7,F101等。
討論完了加減乘除四則運算,按照我們曾經學習有理數的思路,我們來考慮開平方運算。例如3×3mod7=2,所以3是2的“平方根”。如果某個非零元素是可以開平方根的,我們稱這樣的元素為模7的二次剩余,否則就叫模7的二次非剩余。這樣我們可以列出下面一張表:
可以注意到,二次剩余的個數和二次非剩余的個數是相等的,二次剩余的逆元仍然是二次剩余,二次非剩余的逆元也仍然是二次非剩余;而且我們還注意到,每個二次剩余都有兩個根并且他們的和為0,這一點性質像極了正實數:正實數的平方根總有兩個,他們互為相反數。
如何判定一個數是否為二次剩余和如何求二次剩余都是有趣和實用的問題。比如在動手計算雙線性對會談到的橢圓曲線中,已知x坐標和橢圓曲線方程求y的過程就需要考慮計算二次剩余的問題。相關的方法一般會涉及到勒讓德符號等。而在我們的討論的例子中因為元素的數量很少,我們一般采用窮舉的方法就能解決。
經過上面的演算,我們發現3在F7中沒有“平方根”,也就是不存在某個數其平方模7為3。類比復數域對實數域的擴展,我們假設3的一個平方根為j,即j*jmod7=3。現在我們把j加入到{0,1,2,3,4,5,6}集合中,然后嘗試再加入一些其他元素使得新的集合仍然構成一個域。
首先為了能夠計算加法和減法,至少還要加入j、1+j、2+j、3+j、4+j、5+j、6+j,為了能夠計算乘法我們至少還要加入j、2j、3j、4j、6j、6j,最終我們發現一個新的能夠計算四則運算的集合至少要有下面49個元素:
例如6j+j=0;(3+j)(5+2j)=4j;(4+4j)-1=6-6j
那么僅用這49個元素能夠完成四則運算嗎?答案是肯定的,雖然本文不去嚴格證明這一點,但是可以簡單揭示一些其中的原因:
對于加法和減法,我們很容易驗證任意兩個元素的和、差都在還在集合中;對于乘法,因為j×j=3這條規則,簡單驗證后我們就能發現任何兩個元素的積還是在集合中;唯一需要仔細考慮一下的是除法;對于除法,我們總可以通過如下方式計算a+bj的逆元:
因為a和b是F7中的元素,因此a2-3b2?也是F7中的元素,因此可以判定a2-3b2?的逆元仍然是{0,1,2,3,4,5,6}中的元素。所以最后可以發現a+bj的逆元是(a-bj)(a2-3b2)-1,它仍然落在49個元素之中。所以新的49個元素組成的集合不但包含{0,1,2,3,4,5,6,j},而且能夠計算四則運算。這個新的集合其實也是一個有限域,我們稱其為F7的二次擴域,記為F72,之所以是“二次”,我們可以這樣粗暴的理解:每個F72中的元素需要兩個F7的元素通過組合的方式來表示。
本篇介完了關于模運算和模p剩余類域的一些基礎知識,下一篇“動手計算雙線性對”,我們會介紹關于有限域上橢圓曲線的一些例子和知識,屆時會使用到本篇中的內容,敬請期待。
作者簡介
喬沛楊趣鏈科技基礎平臺部區塊鏈底層密碼學小組
據CoinDesk11月3日消息,香港證券及期貨事務監察委員會副行政長官兼執行董事JuliaLeung表示,最近幾個月,SFC收到了本地公司的“多項”請求.
1900/1/1 0:00:00公鏈賽道永遠充滿看點。 去年,DeFi生態崛起,NFT項目、GameFi游戲、DeFi項目的數量快速增加,這既讓主流公鏈的資產規模被放大,也讓新興公鏈、跨鏈項目、以太坊Layer2生態快速發展起.
1900/1/1 0:00:00轉載來源:風潮WaveC轉載鏈接:https://mp.weixin.qq.com/s/jAMUYwVNUOesDvBf-snjLA周蓬岸,數字媒體研究者,“網頁里的電腦博物館”站長.
1900/1/1 0:00:00據Cointelegraph11月12日報道,雖然由于Solana費用更低、交易更快,許多專家將其稱為“以太坊殺手”,但SolanaLabs聯合創始人RajGokal表示.
1900/1/1 0:00:001.EricAdams贏得紐約市長競選,此前稱紐約市將成為“比特幣中心”2.Meebits開放NFT三種新格式3D模型下載.
1900/1/1 0:00:00原標題:《元宇宙概念股狂歡:錯過了互聯網,還能錯過元宇宙嗎?》繼11月5日的多家元宇宙概念股大范圍漲停之后,受“元宇宙”概念的顛覆性應用場景有望逐步落地的消息影響.
1900/1/1 0:00:00