日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 物聯(lián)網(wǎng) > 區(qū)塊鏈
[導(dǎo)讀] 隱私是用戶最關(guān)心的問題之一,也是 PPIO 研究的重點。區(qū)塊鏈世界涉及隱私保護的技術(shù)很多,前不久 PPIO Code Talks 的李星老師 給我們分享的“零知識證明 zk-SNARKs”技術(shù)

隱私是用戶最關(guān)心的問題之一,也是 PPIO 研究的重點。區(qū)塊鏈世界涉及隱私保護的技術(shù)很多,前不久 PPIO Code Talks 的李星老師 給我們分享的“零知識證明 zk-SNARKs”技術(shù) 就是 隱私保護的典型代表,今天我們再來分析一下另一個用于隱私保護的技術(shù)——環(huán)簽名 Ring Signature。

零知識證明解決的問題是,我有一個秘密,我需要向你證明我知道這個秘密,但是我又不能讓你知道這個秘密。而環(huán)簽名解決的問題是,我對你說了一句話,但是你只知道是某一群人中有人對你說了這句話,而不知道這群人里具體哪個人說的。簡言之就是,我把自己藏進了人群里。環(huán)簽名通過將實際簽名者的公鑰藏進一個公鑰集合,來達到保護簽名者身份的目的。

環(huán)簽名(Ring Signature)方案由 Rivest,Shamir 和 Tauman 三位密碼學(xué)家 于2001年首次提出。環(huán)簽名也被稱為 CryptoNote,由群簽名演化而來,典型的應(yīng)用案例是門羅幣。群簽名是利用公開的群公鑰和群簽名進行驗證的方案,其中群公鑰是公開的,群成員可以生成群簽名,驗證者能利用群公鑰驗證所得群簽名的正確性,但不能確定群中的正式簽名者。可是群管理員可以撤銷簽名,揭露真正的簽名者群簽名,這是群簽名的關(guān)鍵問題所在。

環(huán)簽名方案則去掉了群組管理員,不需要環(huán)成員之間的合作,簽名者利用自己的私鑰和集合中其他成員的公鑰就能獨立的進行簽名,集合中的其他成員可能不知道自己被包含在了其中。這種方案的優(yōu)勢除了能夠?qū)灻哌M行無條件的匿名外,環(huán)中的其他成員也不能偽造真實簽名者簽名。外部攻擊者即使在獲得某個有效環(huán)簽名的基礎(chǔ)上,也不能偽造一個簽名。

那么環(huán)簽名是如何做到這點的呢?接下來我們用橢圓曲線來舉例說明環(huán)簽名的具體技術(shù)關(guān)鍵點和原理。

環(huán)簽名生成過程

假設(shè)簽名者擁有某私鑰 sk 和公鑰 pk(為表述方便,下文中所有粗體表示橢圓曲線上的點),其中 pk = sk·g,這里 g 是 橢圓曲線上的 基點(base point),也被稱為生成元(generator)。而 “·” 這里是倍乘,sk·g 表示 sk 個 g 點在橢圓曲線上進行加法運算。更多關(guān)于橢圓曲線密碼學(xué)相關(guān)的知識,可以參見 PPIO 的另一篇文章《橢圓曲線密碼學(xué)》。

· 首先,先定義一個 hash 函數(shù),這個 hash 函數(shù)的輸入是 待簽名的消息 m 和 橢圓曲線上的一個點 A,即 Hash(m, A)。該 hash 函數(shù)和橢圓曲線一樣,是這個簽名和驗簽體系的前提。

該 hash 函數(shù)的一個參考實現(xiàn)為:將 m 和 A 的字節(jié)數(shù)據(jù)拼接,然后用傳統(tǒng)的 hash 函數(shù)(如keccak256),得到的值再對 N 取模(這里的 N 是橢圓曲線上有限群的階)。

· 接下來 ,簽名方想對一消息 m 進行簽名,但是又不想在公開簽名的同時,讓別人知道自己的確切身份,因此 簽名方 決定用環(huán)簽名的方式將自己藏到一群人中。于是 簽名方 找來 n-1 個其他人的公鑰(這些公鑰最好之前在系統(tǒng)中已經(jīng)出現(xiàn)過和使用過,不然 簽名方 藏在一堆新人中,還是會很容易的被識別出來),并編好序號,并將自己的公鑰隨機地插入其中,共同組合了一個包含 n 個公鑰的集合。不妨假設(shè)這 n 個公鑰為

pk0, pk1, pk2, …, pki-1, pki, pki+1, …, pkn-1

其中 pki 為簽名方的公鑰。

· 然后,簽名方隨機生成 n-1 個隨機數(shù) s0, s1, …, si-1, si+1, …, sn-1, 分別與除 pki 以外的 n-1 個公鑰一一對應(yīng)。

注意:這一步無需隨機生成 si,因為 si 會在后面通過計算得到。

· 接著,簽名方隨機生成 k, 并計算 k·g, 這里我們先假設(shè)

k·g = si·g+ci·pki (等式①)

這里 等式① 的用途暫時可能不太好理解,但可先不用管。但根據(jù) 等式① 我們可以確定的是,如果擁有 pki 的私鑰 ski,且如果已知 ci 和 k,那就可以反向求出 si。

注意:這里的 ci 是根據(jù)上一個公鑰 pki-1 和消息 m 計算出的 hash 值

· 接下來引入第2個式子,

cx = Hash(m, sx-1·g+cx-1·pkx-1) (等式②)

等式② 是一個遞推式,且 Hash 函數(shù)的第二個參數(shù)形式上跟 等式① 的右側(cè)是一樣的。這個遞推式的意思是:已知第 x-1 個公鑰對應(yīng)的 sx-1 和 hash 值 cx-1,求下一個公鑰對應(yīng)的 hash 值 cx。注意,當 x=0 時,x 的上一個其實是 n-1,因為下標也要對 n 取模。

· 由于在 等式① 中我們定義了 k·g = si·g+ci·pki 所以 ci+1 可直接由計算得到

ci+1 = Hash(m, si·g+ci·pki) = Hash(m, k·g)

注意:此時求 ci+1 過程中我們暫時并不知道 si 和 ci,但后面計算得到 ci 后,可以由 k, ci+1 和 ci 求出 si。

緊接著,依次計算 ci+2, … , cn-1, c0, …, ci-1, ci: (如圖 1)

ci+2 = Hash(m, si+1·g+ci+1·pki+1)

。..

cn-1 = Hash(m, sn-2·g+cn-2·pkn-2)

c0 = Hash(m, sn-1·g+cn-1·pkn-1)

c1 = Hash(m, s0·g+c0·pk0)

ci = Hash(m, si-1·g+ci-1·pki-1)

圖 1 計算 ci+1, … , cn-1, c0, …, ci-1, ci 過程

· 有了 ci之后,回頭觀察等式① ,由于 pki 的私鑰是已知的,即

pki = ski·g

因此 等式① 可寫成

k·g = si·g+ci*ski·g

兩邊約去 g,變?yōu)?/p>

k = si + ci*ski

從而根據(jù) k,ci,ski 可以求出 si (如圖 2)即

si = k - ci*ski

注意:私鑰 ski 在這里發(fā)揮了作用,如果沒有 ski,si也無法求出。

圖 2 根據(jù)私鑰 ski, k, ci求解 si 過程

· si 一旦求出后,環(huán)簽名的環(huán)就形成了。而且此時 k 值的使命也已完成,可以被拋棄掉了。

換句話說,正因為我們擁有私鑰 ski, 所以可以構(gòu)造出一個 si,配合隨機生成的s0, s1, …, si-1, si+1, …, sn-1,使得以下式子都成立:

c0 = Hash(m, sn-1·g+cn-1·pkn-1)

c1 = Hash(m, s0·g+c0·pk0)

cn-1 = Hash(m, sn-2·g+cn-2·pkn-2)

反之,如果這 n 個公鑰中的任何一把私鑰 簽名者都沒有,那么他也就無法求出 si 使得{c0, pk0, …。 pkn-1, s0, …。, sn-1}形成一個 環(huán)。

因此,如果上述 n 個等式成立,那么也有意味著,生成這 n 個等式的人至少擁有這 n 個公鑰中一把私鑰。

· 最后消息 m 的環(huán)簽名數(shù)據(jù)為:

Signature = {c0, pk0, …。 pkn-1, s0, …。, sn-1}

簽名驗證過程

驗證者根據(jù) c0, pk0, …。 pkn-1, s0, …。, sn-1,消息 m 和 等式② 依次求出 c1, c2, …。, cn-1, 最后根據(jù) cn-1 求出 c’0,并判斷

c0 ?= c’0

如果相等則簽名有效,如果不等則簽名無效。

應(yīng)用場景

目前,使用環(huán)簽名方案的項目包括門羅幣 Moreno、布爾幣 Boolberry、StealthCoin、XCurrency 等,以太坊平臺也增加了一個類 CryptoNote 環(huán)簽名。

門羅幣(Monero):門羅幣是應(yīng)用環(huán)簽名的典型代表,環(huán)簽名技術(shù)使得門羅被公認為是一個私密性強,不可追蹤的加密貨幣。環(huán)簽名幫助門羅幣實現(xiàn)了交易的隱私性:通過區(qū)塊鏈系統(tǒng)中無關(guān)節(jié)點無法追查交易的發(fā)送方,當其它節(jié)點驗證交易時,只能確定簽名是諸多公鑰中的一個,卻無從定位到哪個公鑰才是具體的發(fā)送方。

一票否決場景:例如,某協(xié)會主席提出一種議案,但如果協(xié)會成員中有人提出反對意見則議案需被取消。但投反對票的會員又不想暴露自己的身份,因此他可以用環(huán)簽名的技術(shù),將自己的反對票用自己的私鑰和其他協(xié)會成員的公鑰進行簽名。簽名之后所有協(xié)會成員都可以看到協(xié)會中有人反對該項議案,但不知道確切的反對者是誰。

總結(jié)

回顧一下簽名的整個過程,關(guān)鍵的巧妙點在于,如果知道私鑰 ski,那么就可以反推出 si,使 c1, c2, …。, cn-1 形成一個環(huán)。就好像簽名者找了一根鐵絲,數(shù)學(xué)保證了只有擁有私鑰的人,才能把鐵絲的兩頭接起來,形成鐵絲環(huán)。而且一旦成為鐵絲環(huán)之后,環(huán)的接點處也沒有任何痕跡,這使得驗證者無法判斷鐵環(huán)是在哪個位置上接起來的。

環(huán)簽名雖然可以用來做到一定程度的匿名性,不過畢竟真實的簽名者還是會暴露在環(huán)中。且在目前的公有鏈市場上,與環(huán)簽名相比,零知識證明依然是最佳的匿名方案之一。只是在某些場景下,如果對隱私的要求沒有那么高,同時簽名方的計算能力又很弱,環(huán)簽名不失為一個不錯的選擇。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動電源

在工業(yè)自動化蓬勃發(fā)展的當下,工業(yè)電機作為核心動力設(shè)備,其驅(qū)動電源的性能直接關(guān)系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護是驅(qū)動電源設(shè)計中至關(guān)重要的兩個環(huán)節(jié),集成化方案的設(shè)計成為提升電機驅(qū)動性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機 驅(qū)動電源

LED 驅(qū)動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設(shè)備的使用壽命。然而,在實際應(yīng)用中,LED 驅(qū)動電源易損壞的問題卻十分常見,不僅增加了維護成本,還影響了用戶體驗。要解決這一問題,需從設(shè)計、生...

關(guān)鍵字: 驅(qū)動電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動電源的公式,電感內(nèi)電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計 驅(qū)動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動汽車的核心技術(shù)之一是電機驅(qū)動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機驅(qū)動系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動汽車的動力性能和...

關(guān)鍵字: 電動汽車 新能源 驅(qū)動電源

在現(xiàn)代城市建設(shè)中,街道及停車場照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動電源 LED

LED通用照明設(shè)計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動電源

開關(guān)電源具有效率高的特性,而且開關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機重量也有所下降,所以,現(xiàn)在的LED驅(qū)動電源

關(guān)鍵字: LED 驅(qū)動電源 開關(guān)電源

LED驅(qū)動電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動電源
關(guān)閉