彭 聰, 何德彪, 羅 敏, 黃欣沂, 李大為
1. 武漢大學(xué) 國(guó)家網(wǎng)絡(luò)安全學(xué)院, 武漢430072
2. 福建師范大學(xué) 計(jì)算機(jī)與網(wǎng)絡(luò)空間安全學(xué)院, 福州350117
3. 深圳技術(shù)大學(xué) 大數(shù)據(jù)與互聯(lián)網(wǎng)學(xué)院, 深圳518118
隨著區(qū)塊鏈技術(shù)的發(fā)展和成熟, 海量的交易數(shù)據(jù)和用戶信息存儲(chǔ)在區(qū)塊鏈分布式賬本中以實(shí)現(xiàn)數(shù)據(jù)防偽造和防篡改, 但也給身份隱私保護(hù)帶來(lái)了嚴(yán)峻挑戰(zhàn)[1]. 區(qū)塊鏈具有開(kāi)放性和透明性, 它允許任意用戶獲取交易相關(guān)信息, 包括地址、金額、時(shí)間等. 攻擊者可以使用統(tǒng)計(jì)手段對(duì)大量交易數(shù)據(jù)和用戶信息進(jìn)行分析, 提取用戶交易特征和真實(shí)地址等, 進(jìn)而竊取用戶隱私. 在使用區(qū)塊鏈技術(shù)時(shí), 保障交易和行為的匿名性是一個(gè)必不可少的隱私保護(hù)手段[2]. 例如, 門羅幣使用環(huán)簽名[3]、環(huán)機(jī)密交易[4]和地址加密等手段來(lái)混淆所有交易的收發(fā)地址和金額, 為用戶提供了更高強(qiáng)度的隱私保護(hù)機(jī)制.
環(huán)簽名是一種典型的數(shù)字簽名方案, 最早由Rivest 等人[5]于2001 年提出. 在該簽名方案中, 簽名者隨機(jī)選擇多個(gè)環(huán)成員的公鑰, 結(jié)合其公鑰、私鑰、隨機(jī)數(shù)等數(shù)據(jù)完成簽名, 而驗(yàn)證者僅能驗(yàn)證該簽名是否來(lái)源于用戶群組中的某一用戶, 無(wú)法確認(rèn)簽名者的具體身份. 相對(duì)一般群簽名而言, 環(huán)簽名無(wú)需設(shè)置群管理員, 可由簽名者自發(fā)組建用戶群組. 環(huán)簽名所具備的完全匿名性和不可偽造性使其非常適合于匿名投訴、電子投票、數(shù)字貨幣等領(lǐng)域. 自從環(huán)簽名概念提出后, 研究人員設(shè)計(jì)了基于離散對(duì)數(shù)、雙線性對(duì)、格理論[6]等不同密碼原語(yǔ)的環(huán)簽名方案. 除了傳統(tǒng)公鑰密碼基礎(chǔ)設(shè)施(public key infrastructure, PKI) 框架下的環(huán)簽名方案, 還出現(xiàn)了基于身份的環(huán)簽名和基于屬性的環(huán)簽名等方案. 相比而言, PKI 體制下的環(huán)簽名方案面臨證書(shū)管理和使用問(wèn)題, 從而導(dǎo)致大量的系統(tǒng)資源被占用, 驗(yàn)證環(huán)節(jié)計(jì)算開(kāi)銷增加. 特別是當(dāng)環(huán)用戶數(shù)量增加時(shí), 對(duì)簽名和驗(yàn)證效率影響非常嚴(yán)重.
基于身份的密碼體制(identity-based cryptography, IBC) 是由Shamir[7]于1984 年提出的, 其主要思路是利用用戶天然的身份信息作為公鑰, 無(wú)需公鑰證書(shū)來(lái)證明用戶身份與用戶公鑰的綁定關(guān)系. 由于解決了PKI 體制下的證書(shū)運(yùn)維問(wèn)題, IBC 密碼體制得到廣泛的關(guān)注. IBC 技術(shù)與環(huán)簽名技術(shù)的結(jié)合大大地降低了密碼系統(tǒng)的運(yùn)維成本, 也實(shí)現(xiàn)了所需的匿名性和不可偽造性. 在匿名性方面, 環(huán)簽名方案不僅對(duì)任意的驗(yàn)證用戶匿名, 而且要對(duì)可信的密鑰生成中心匿名. 即使擁有系統(tǒng)主密鑰, 密鑰生成中心也無(wú)法從簽名值中知道簽名者的真實(shí)身份. 在2001 年, Zhang 等人[8]提出了第一個(gè)基于身份的環(huán)簽名方案, 隨后出現(xiàn)了許多基于雙線性對(duì)的環(huán)簽名方案[9–13].
在2010 年, Brakerski 等人[14]提出了一個(gè)通用型的環(huán)簽名構(gòu)造方案, 它可以將已有的數(shù)字簽名方案轉(zhuǎn)變?yōu)榄h(huán)簽名方案. 但其采用的的環(huán)狀結(jié)構(gòu)會(huì)導(dǎo)致計(jì)算開(kāi)銷隨著環(huán)用戶數(shù)量線性增長(zhǎng). 例如, 簽名者執(zhí)行一個(gè)環(huán)簽名生成算法所需的時(shí)間與執(zhí)行n次傳統(tǒng)簽名方案的時(shí)間相近,n為環(huán)用戶數(shù)量. 因此, 基于身份的環(huán)簽名方案的高效性是方案設(shè)計(jì)的基本要點(diǎn). 此外, 考慮實(shí)際應(yīng)用場(chǎng)景, 不同密碼方案的部署應(yīng)用會(huì)大大增加用戶密鑰管理負(fù)擔(dān)和泄露風(fēng)險(xiǎn). 譬如, 區(qū)塊鏈系統(tǒng)中存在傳統(tǒng)簽名、盲簽名、群簽名、環(huán)簽名等不同簽名機(jī)制, 如果其密鑰體制不一致, 用戶需要存儲(chǔ)和使用多套密鑰, 這將增加終端或節(jié)點(diǎn)的存儲(chǔ)資源消耗. 因此, 設(shè)計(jì)一個(gè)能夠兼容原有數(shù)字簽名算法的環(huán)簽名方案也是當(dāng)前的一個(gè)研究熱點(diǎn).
本文工作. 本文以SM9 數(shù)字簽名算法為基礎(chǔ), 構(gòu)建了一個(gè)新的基于身份的環(huán)簽名方案, 并保障了新方案與SM9 算法私鑰生成方式的一致性. 該方案的安全性可在隨機(jī)預(yù)言模型下證明安全, 滿足環(huán)簽名方案所需的完全匿名性和不可偽造性. 通過(guò)與現(xiàn)有方案比對(duì)分析, 本文提出的方案在簽名大小上占據(jù)明顯優(yōu)勢(shì),有效降低通信開(kāi)銷.
設(shè)(G1,+) 和(G2,+) 是階為N的加法循環(huán)群, (GT,·) 是階為N的乘法循環(huán)群, 且N為素?cái)?shù).P1和P2分別是G1和G2的生成元, 且存在同態(tài)映射ψ:G2→G1使得ψ(P2)=P1.
雙線性對(duì)e是從G1×G2到GT的映射, 滿足以下性質(zhì):
上述問(wèn)題的困難性是基于雙線性對(duì)的身份密碼體制的安全基礎(chǔ), 可以規(guī)約到G1、G2和GT上的離散對(duì)數(shù)問(wèn)題的困難性.
SM9 標(biāo)識(shí)密碼算法[15]是一種基于身份的密碼體制, 包括數(shù)字簽名算法、密鑰交換算法和公鑰加密算法3 個(gè)部分. 在曲線參數(shù)方面, SM9 算法采用了256 位的BN 曲線來(lái)實(shí)現(xiàn)雙線性對(duì)運(yùn)算. 具體地, 選取特定曲線生成參數(shù)t, 通過(guò)基域特征方程p(t) = 36t4+36t3+24t2+6t+1 構(gòu)建橢圓曲線基域Fp; 再確定曲線方程參數(shù)為a和b, 嵌入次數(shù)為k=12 等參數(shù), 構(gòu)建E(Fp) 上的N階循環(huán)子群G1及其生成元P1,E(Fp2) 上的N階循環(huán)子群G2及其生成元P2, 雙線性對(duì)e及其值域GT. 其中,p和N均為大素?cái)?shù). 此外, 不同的算法模塊采用的曲線標(biāo)識(shí)符、雙線性對(duì)標(biāo)識(shí)符以及私鑰生成函數(shù)標(biāo)識(shí)符取值各有不同, 具體參見(jiàn)文獻(xiàn)[15].
下面給出SM9 數(shù)字簽名算法的簡(jiǎn)單描述.
相比傳統(tǒng)數(shù)字簽名, 環(huán)簽名是面向群組的數(shù)字簽名方案, 任何用戶可以代表某一個(gè)用戶群組完成對(duì)某個(gè)消息的簽名. 為了便于描述, 本文假設(shè)用戶群組中用戶數(shù)量為n, 用戶群組標(biāo)識(shí)集合記為Un={ID1,ID2,··· ,IDn}, 其中IDi為第i個(gè)用戶.
在基于身份的環(huán)簽名方案中, 密鑰生成中心、簽名者和驗(yàn)證者是3 種基本角色. 其中,
? 密鑰生成中心(key generation center, KGC): 負(fù)責(zé)系統(tǒng)初始化工作, 初始化系統(tǒng)公開(kāi)參數(shù)和簽名主私鑰, 公開(kāi)系統(tǒng)參數(shù)并秘密持有主私鑰. 系統(tǒng)初始化完成后, KGC 可為用戶產(chǎn)生其身份標(biāo)識(shí)對(duì)應(yīng)的簽名私鑰.
? 簽名者(Signer): 可以利用持有的簽名私鑰產(chǎn)生某個(gè)用戶群組標(biāo)識(shí)集合對(duì)于任何消息的環(huán)簽名值.就正確性而言, 用戶群組標(biāo)識(shí)集合可由簽名者自由組建, 但必須包含自身的身份標(biāo)識(shí).
? 驗(yàn)證者(Verifier): 可以驗(yàn)證某個(gè)群組對(duì)某個(gè)消息的環(huán)簽名值的合法性.
不失一般性, 假設(shè)簽名者為用戶群組中的第π個(gè)用戶(1≤π ≤n), 對(duì)應(yīng)的身份標(biāo)識(shí)和簽名私鑰分別為IDπ和skπ. 基于身份的環(huán)簽名方案由下列4 個(gè)算法構(gòu)成:
(1) 系統(tǒng)建立Setup(λ): 一個(gè)由KGC 執(zhí)行的概率多項(xiàng)式時(shí)間(PPT) 算法, 輸入為安全參數(shù)λ, 輸出
為系統(tǒng)公開(kāi)參數(shù)par 和簽名主私鑰msk.
(2) 密鑰提取KeyExt(IDi,msk,par): 一個(gè)由KGC 執(zhí)行的確定性算法, 輸入為用戶身份標(biāo)識(shí)IDi, 簽名主私鑰msk 及公開(kāi)參數(shù)par, 輸出為用戶簽名私鑰ski.
(3) 環(huán)簽名生成RingSig(M,Un,skπ,par): 一個(gè)由簽名者執(zhí)行的概率多項(xiàng)式算法, 輸入待簽名的消息M, 環(huán)用戶Un={ID1,ID2,··· ,IDn}, 用戶簽名私鑰skπ(1≤π ≤n) 以及公開(kāi)參數(shù)par, 輸出為簽名值σ.
(4) 環(huán)簽名驗(yàn)證RingVrf(M,Un,σ,par): 一個(gè)由驗(yàn)證者執(zhí)行的確定性算法, 輸入為被簽名的消息M,環(huán)用戶Un={ID1,ID2,··· ,IDn}, 待驗(yàn)證的簽名值σ以及公開(kāi)參數(shù)par, 輸出為驗(yàn)證通過(guò)accept或驗(yàn)證失敗reject.
對(duì)于基于身份的環(huán)簽名而言, 其正確性表現(xiàn)為: 對(duì)于合法的簽名, 驗(yàn)證算法總是驗(yàn)證通過(guò); 對(duì)于非法的簽名, 則驗(yàn)證者總是驗(yàn)證失敗. 即
根據(jù)Bender 等[16]給出的環(huán)簽名的安全性定義, 環(huán)簽名必須滿足不可偽造性和匿名性. 在匿名性方面, 基于身份的環(huán)簽名方案不僅要求對(duì)一般驗(yàn)證者匿名, 還需要對(duì)擁有系統(tǒng)主私鑰的KGC 匿名. 本文給出了基于身份的環(huán)簽名方案的安全性定義:
定義3 (不可偽造性) 給定系統(tǒng)參數(shù)λ和一個(gè)基于身份的環(huán)簽名方案, 多項(xiàng)式時(shí)間的敵手A與挑戰(zhàn)者S進(jìn)行EUF 游戲. EUF 游戲過(guò)程如下:
(2) 詢問(wèn)階段. 除Hash 詢問(wèn)以外,A可以向S進(jìn)行以下詢問(wèn):
(a) 密鑰提取詢問(wèn).A向S提交一個(gè)標(biāo)識(shí)IDi,S返回對(duì)應(yīng)的私鑰ski.
(b) 簽名詢問(wèn).A向S提交一個(gè)用戶標(biāo)識(shí)群組Uj={ID1,ID2,··· ,IDjl}(1≤l ≤n) 和一個(gè)消息Mj,S返回一個(gè)Uj對(duì)消息Mj的環(huán)簽名σj.
(3) 偽造階段.A偽造挑戰(zhàn)用戶群組U?={ID?1,ID?2,··· ,ID?n}對(duì)消息M?的一個(gè)簽名σ?, 并且A未詢問(wèn)過(guò)U?中任一用戶的私鑰, 也未詢問(wèn)U?對(duì)M?的簽名. 如果A偽造的簽名σ?是合法的,則A贏得游戲.
(1) 系統(tǒng)建立階段.S運(yùn)行Setup(λ) 生成系統(tǒng)公開(kāi)參數(shù)par 和簽名主私鑰msk.S產(chǎn)生一個(gè)最大用戶集合Uθ={ID1,ID2,··· ,IDθ}.S將公開(kāi)參數(shù)par 發(fā)送給A.
(2) 詢問(wèn)階段. 除Hash 詢問(wèn)以外,A可以向S進(jìn)行以下詢問(wèn):
(a) 密鑰提取詢問(wèn).A向S提交一個(gè)標(biāo)識(shí)IDi,S返回對(duì)應(yīng)的私鑰ski.
(b) 簽名詢問(wèn).A向S提交一個(gè)用戶標(biāo)識(shí)群組Uj={ID1,ID2,··· ,IDjl}(1≤l ≤n) 和一個(gè)消息Mj,S返回一個(gè)Uj對(duì)消息Mj的環(huán)簽名σj.
(3) 挑戰(zhàn)階段.A向S提交一個(gè)消息M?, 一個(gè)用戶群組U?以及兩個(gè)標(biāo)識(shí)IDπ1,IDπ2∈U?,S隨機(jī)選擇b ∈{0,1}, 調(diào)用算法RingSig(M?,U?,skπb,par), 用IDπb的私鑰skπb對(duì)消息M?進(jìn)行環(huán)簽名, 并將得到的簽名返回給A.
(4) 猜測(cè)階段.A輸出一個(gè)比特b′∈{0,1}. 若b′=b,A贏得游戲.
本文所構(gòu)造的環(huán)簽名方案具體描述如下:
算法1 (系統(tǒng)建立) (par,msk)←Setup(λ): 輸入安全參數(shù)λ, KGC 按照如下方式生成系統(tǒng)公開(kāi)參數(shù)par 和主私鑰msk:
(1) 隨機(jī)產(chǎn)生一個(gè)整數(shù)d ∈[1,N ?1].
(2) 計(jì)算G2中的元素Ppub-s=[d]P2.
(3) 輸出公開(kāi)參數(shù)par=Ppub-s和主私鑰msk=d.
算法2 (密鑰提取) ski ←KeyExt(IDi,msk,par): 對(duì)于身份標(biāo)識(shí)IDi, KGC 利用主私鑰d進(jìn)行如下計(jì)算得到對(duì)應(yīng)的簽名私鑰ski:
算法3 (環(huán)簽名生成)σ ←RingSig(M,Un,skπ,par): 為生成消息M的環(huán)簽名σ, 簽名者的計(jì)算過(guò)程如下:
(1) 預(yù)計(jì)算GT中的元素g=e(P1,Ppub-s).
(2) 隨機(jī)選取r ∈Z?N, 并計(jì)算R=[r]P1.
(3) 計(jì)算wπ+1=e(R,Ppub-s) 和hπ+1=H2(Un||M||wπ+1).
(4) 令i=π+1, 循環(huán)執(zhí)行以下步驟n ?1 次:
(a) 若i>n, 則令i=1 和h1=hn+1.
(b) 隨機(jī)選取ri ∈Z?N, 并計(jì)算Ri=[ri]P1.
(c) 計(jì)算vi=H1(IDi) 和ui=e(Ri,[vi]P2+Ppub-s).
(d) 計(jì)算wi+1=ui·ghi和hi+1=H2(Un||M||wi+1).
(e) 令i=i+1.
(5) 計(jì)算l=r ?hπmodN; 若l=0, 則重新執(zhí)行. 否則, 計(jì)算Rπ=[l]skπ.
(6) 輸出消息M的環(huán)簽名值為σ=(h1,R1,R2,··· ,Rn).
算法4 (環(huán)簽名驗(yàn)證) accept/reject←RingVrf(M,Un,σ,par). 為驗(yàn)證消息M′的簽名值σ′, 驗(yàn)證者的計(jì)算過(guò)程如下:
本節(jié)我們將證明基于SM9 標(biāo)識(shí)密碼算法的環(huán)簽名方案具有匿名性和不可偽造性. 在不可偽造性方面,我們僅考慮敵手為惡意的用戶而非惡意的KGC, 因?yàn)镵GC 在知道系統(tǒng)主私鑰的情況下可以隨意偽造任意用戶的簽名值. 在匿名性方面, 我們考慮敵手為惡意的KGC 和用戶, 即保證在敵手即使知道系統(tǒng)主私鑰的情況下也無(wú)法知道環(huán)簽名的真實(shí)簽名者身份.
定理1 在隨機(jī)預(yù)言模型下, 如果q-SDH 問(wèn)題是困難的, 則本文中設(shè)計(jì)的環(huán)簽名方案具有不可偽造性.
定理2 如果環(huán)簽名所使用的隨機(jī)數(shù)來(lái)源是均勻分布的, 則本文中設(shè)計(jì)的環(huán)簽名方案具有匿名性.
證明: 假定存在兩個(gè)均勻分布的隨機(jī)數(shù)源Ω1和Ω2, 對(duì)任意給定x1←$Ω1和x2←$Ω2,x1和x2是統(tǒng)計(jì)不可區(qū)分的. 假設(shè)存在多項(xiàng)式時(shí)間的敵手A能夠以不可忽略的優(yōu)勢(shì)?找到真實(shí)簽名者, 則挑戰(zhàn)者S能夠以不可忽略的概率優(yōu)勢(shì)?區(qū)分x1和x2.
(1) 系統(tǒng)建立階段. 在此階段,S執(zhí)行Setup 算法生成系統(tǒng)公開(kāi)參數(shù)和主私鑰, 并確定一個(gè)最大可能用戶群組的標(biāo)識(shí)集合Uθ. 之后,S將par 和msk 以及Uθ發(fā)送給A. 因?yàn)榭紤]到KGC 可能是敵手A, 故將msk 對(duì)A可知.
(2) 詢問(wèn)階段. 在此階段,A可以進(jìn)行任意數(shù)據(jù)的Hash 詢問(wèn), 而S只需要產(chǎn)生隨機(jī)響應(yīng)值返回即可.同時(shí),A可以詢問(wèn)Uθ中任意用戶的私鑰和任何消息的環(huán)簽名值.
(3) 挑戰(zhàn)階段.S接收到A的挑戰(zhàn)請(qǐng)求(M?,U?,IDπ1,IDπ2) 后, 采用不同的隨機(jī)源作為輸入, 執(zhí)行兩次RingSig 算法:
本文以計(jì)算開(kāi)銷和通信開(kāi)銷來(lái)評(píng)估本文方案的效率, 并將評(píng)估結(jié)果與方案[10]、方案[11] 進(jìn)行比較.
在計(jì)算開(kāi)銷方面, 我們主要考慮了密鑰提取、環(huán)簽名生成和簽名驗(yàn)證等3 個(gè)環(huán)節(jié)的時(shí)間開(kāi)銷. 因?yàn)橄到y(tǒng)建立算法可由KGC 預(yù)先完成, 不影響使用過(guò)程中的效率, 故我們不對(duì)其進(jìn)行評(píng)估比較. 表1 給出了3種方案的計(jì)算開(kāi)銷對(duì)比分析結(jié)論. 其中,Tinv表示Fp上的模逆計(jì)算時(shí)間,Tpm-1和Tpm-2分別表示G1和G2上的標(biāo)量乘計(jì)算時(shí)間,Tbp表示雙線性對(duì)計(jì)算時(shí)間,Tpm-3表示GT上的標(biāo)量乘計(jì)算時(shí)間,Th表示哈希函數(shù)平均運(yùn)算時(shí)間,Thtp表示將一個(gè)比特串哈希到橢圓曲線點(diǎn)HashToPoint 的運(yùn)算時(shí)間. 其他運(yùn)算所需時(shí)間占整體運(yùn)算時(shí)間比重非常低, 因此我們做出適當(dāng)忽略.
表1 環(huán)簽名方案的計(jì)算開(kāi)銷分析Table 1 Comparisons of computation costs
對(duì)于密鑰提取算法, 本文的方案需要1 次哈希運(yùn)算、1 次Fp上的模逆運(yùn)算和1 次G2上的點(diǎn)乘運(yùn)算,而方案[10] 和方案[11] 均需要1 次HashToPoint 運(yùn)算. 對(duì)于簽名生成算法, 本文的方案需要n次哈希運(yùn)算、2n次G1上的點(diǎn)乘運(yùn)算、n次雙線性對(duì)運(yùn)算和n ?1 次GT上的標(biāo)量乘運(yùn)算, 而方案[10] 需要n+1哈希運(yùn)算、n次HashToPoint 運(yùn)算和2n次G2上的點(diǎn)乘運(yùn)算, 方案[11] 需要n+1 哈希運(yùn)算、1 次G1上的點(diǎn)乘運(yùn)算、n ?1 次G2上的點(diǎn)乘運(yùn)算和n+1 次雙線性對(duì)運(yùn)算. 對(duì)于簽名驗(yàn)證算法, 本文的方案需要n次哈希運(yùn)算、n次G1上的點(diǎn)乘運(yùn)算、n次雙線性對(duì)運(yùn)算和n次GT上的標(biāo)量乘運(yùn)算, 而方案[10] 和方案[11] 均需要n+1 哈希運(yùn)算、n次G2上的點(diǎn)乘運(yùn)算和2 次雙線性對(duì)運(yùn)算. 因?yàn)镠ashToPoint 的時(shí)間開(kāi)銷遠(yuǎn)遠(yuǎn)大于一個(gè)點(diǎn)乘和模逆運(yùn)算的總時(shí)間開(kāi)銷, 本文的方案在密鑰生成過(guò)程具備較高的性能優(yōu)勢(shì). 但很顯然, 本文方案在簽名生成和驗(yàn)證環(huán)節(jié)不占性能優(yōu)勢(shì).
在通信開(kāi)銷方面, 表2 給出了每種方案的系統(tǒng)公鑰長(zhǎng)度, 用戶私鑰長(zhǎng)度和簽名長(zhǎng)度. 其中,|G1|、|G2|、|GT| 分別表示對(duì)應(yīng)群中元素的長(zhǎng)度,|Zp| 表示Zp中元素長(zhǎng)度. 具體地, 以256 比特BN 曲線[18]對(duì)例,|G1| = 512 bit,|G2| = 1024 bit,|GT| = 3072 bit,|Zp| = 256 bit. 顯然, 本文方案在私鑰長(zhǎng)度與其他方案[10,11]一致, 但系統(tǒng)公鑰長(zhǎng)度略高于其他方案[10,11], 即多一個(gè)G1中的元素作為系統(tǒng)公鑰. 但在簽名長(zhǎng)度方面, 本文方案的簽名值包含一個(gè)Zp中的元素和n個(gè)G1中的元素, 總簽名長(zhǎng)度為512n+256 比特. 而方案[10] 的簽名值包含n個(gè)GT中的元素、n個(gè)Zp中的元素和1 個(gè)G1中的元素, 其長(zhǎng)度為3328n+512 比特. 方案[11] 的簽名值包含n+1 個(gè)G2中的元素, 其長(zhǎng)度為1024n+1024 比特. 那么,本文方案的簽名長(zhǎng)度約是方案[10] 的0.15 倍和方案[11] 的0.49 倍. 綜合而言, 本文方案通信開(kāi)銷存在明顯優(yōu)勢(shì), 存儲(chǔ)開(kāi)銷略高于其他方案, 具有更好的實(shí)用性.
表2 環(huán)簽名方案的通信開(kāi)銷分析Table 2 Comparisons of communication costs
基于身份的環(huán)簽名方案應(yīng)用場(chǎng)景非常廣泛, 一方面它具有環(huán)簽名的完全匿名性和不可偽造性, 另一方面它有效地避免了傳統(tǒng)公鑰基礎(chǔ)設(shè)施所面臨的證書(shū)管理問(wèn)題. 考慮到基于身份密碼體制下環(huán)簽名方案與傳統(tǒng)簽名方案密鑰一致性問(wèn)題, 本文提出了一個(gè)基于SM9 數(shù)字簽名算法的環(huán)簽名方案, 并在隨機(jī)預(yù)言模型下證明其安全性, 通過(guò)與現(xiàn)有方案的性能比對(duì)分析表明本方案在簽名大小方面具有較大優(yōu)勢(shì), 因而具備更高的實(shí)用性. 進(jìn)一步的工作, 將考慮如何降低環(huán)簽名驗(yàn)證開(kāi)銷以及如何實(shí)現(xiàn)環(huán)簽名大小不隨環(huán)用戶數(shù)量變化等問(wèn)題.