賴建昌, 黃欣沂, 何德彪, 伍 瑋
1. 福建師范大學(xué) 數(shù)學(xué)與信息學(xué)院 福建省網(wǎng)絡(luò)安全與密碼技術(shù)重點(diǎn)實(shí)驗(yàn)室 福建省應(yīng)用數(shù)學(xué)中心, 福州350007
2. 武漢大學(xué) 網(wǎng)絡(luò)安全學(xué)院 空天信息安全與可信計(jì)算教育部重點(diǎn)實(shí)驗(yàn)室, 武漢430072
互聯(lián)網(wǎng)、量子計(jì)算、云計(jì)算、區(qū)塊鏈等技術(shù)的發(fā)展和應(yīng)用離不開加密和簽名等密碼技術(shù)的保障. 數(shù)據(jù)加密能有效保護(hù)數(shù)據(jù)的私密性, 數(shù)字簽名可以保證數(shù)據(jù)的完整性和真實(shí)性, 以及簽名者的不可否認(rèn)性. 用戶可根據(jù)應(yīng)用的需求選擇不同的密碼技術(shù). 當(dāng)同時(shí)需要簽名和加密時(shí), 采用先簽名后加密的方法會增大計(jì)算開銷, 同時(shí)增加密文長度, 效率較低. 為了有效解決該問題, Zheng[1]在1997 年美密會上提出簽密的概念. 一次簽密運(yùn)算就能同時(shí)實(shí)現(xiàn)簽名和加密的功能, 只有知道接收者的私鑰才能正確解密出簽名的數(shù)據(jù),進(jìn)一步驗(yàn)證簽名的有效性. 與先簽名后加密的方法相比, 簽密能顯著減少計(jì)算開銷和通信代價(jià).
傳統(tǒng)公鑰密碼體制需要第三方機(jī)構(gòu)為每個(gè)用戶頒發(fā)證書, 綁定用戶公鑰和身份, 確保用戶公鑰的真實(shí)有效性. 然而證書存在管理問題, 且證書的驗(yàn)證開銷較大, 不適用于傳感器、智能卡等計(jì)算資源有限的設(shè)備. 為了解決證書問題, Shamir[2]1984 年提出標(biāo)識密碼系統(tǒng)(Identity-Based Cryptosystem), 也稱為基于身份的密碼系統(tǒng). 在標(biāo)識密碼系統(tǒng)中, 用戶的公鑰可以是郵箱地址、手機(jī)號碼等能唯一標(biāo)識用戶的任意字符串, 相應(yīng)的私鑰由密鑰生成中心(Key Generation Center, KGC) 統(tǒng)一計(jì)算. 標(biāo)識密碼系統(tǒng)消除了證書, 有效解決了證書的驗(yàn)證和管理問題. 自標(biāo)識密碼概念提出后, 標(biāo)識密碼得到國內(nèi)外學(xué)者積極的研究, 但直到2001 年, Boneh 和Franklin[3]利用基于橢圓曲線的雙線性對(Pairing over Elliptic Curves)技術(shù)提出第一個(gè)實(shí)用可證明安全的標(biāo)識加密方案. 接著, 不同性能的標(biāo)識密碼方案被大量提出[4–11]. Malone-Lee在文獻(xiàn)[12] 中將標(biāo)識密碼體制拓展到簽密系統(tǒng), 并提出實(shí)現(xiàn)標(biāo)識簽密的有效方法. 隨后, 標(biāo)識簽密在文獻(xiàn)[4,13–18] 中得到了進(jìn)一步的研究.
雖然標(biāo)識密碼得到了廣泛的研究, 取得了積極的進(jìn)展, 但從整體上看, 標(biāo)識密碼研究大多圍繞國外提出的算法展開. 秉承著核心技術(shù)自主創(chuàng)新、信息安全自主可控的理念, 我國積極推進(jìn)標(biāo)識密碼算法的研究,自主設(shè)計(jì)了包括數(shù)字簽名算法、密鑰交換協(xié)議、密鑰封裝機(jī)制和公鑰加密算法的SM9 標(biāo)識密碼算法[19].2016 年3 月, 國家密碼管理局正式發(fā)布《GM/T0044-2016 SM9 標(biāo)識密碼算法》密碼行業(yè)標(biāo)準(zhǔn). 2020 年4 月, GB/T 38635.1-2020《信息安全技術(shù)SM9 標(biāo)識密碼算法第1 部分: 總則》、GB/T 38635.2-2020《信息安全技術(shù)SM9 標(biāo)識密碼算法第2 部分: 算法》兩項(xiàng)國家標(biāo)準(zhǔn)獲批發(fā)布, SM9 正式成為國家標(biāo)準(zhǔn), 將于2020 年11 月1 日起實(shí)施. SM9 相關(guān)算法已被陸續(xù)納入ISO/IEC 國際標(biāo)準(zhǔn), 相關(guān)研究取得了積極進(jìn)展[20–25]. 然而, 目前未見基于SM9 的標(biāo)識簽密方案在國際密碼學(xué)主流期刊和會議上正式發(fā)表, 現(xiàn)有標(biāo)識簽密方案依然以國外設(shè)計(jì)為主.
面向密碼技術(shù)自主先進(jìn)安全可控的戰(zhàn)略需求, 本文根據(jù)SM9 標(biāo)識密碼算法的特點(diǎn), 凝練其核心技術(shù),利用非對稱雙線性對提出首個(gè)基于我國SM9 商用密碼的標(biāo)識簽密方案. 方案具有定長的系統(tǒng)公鑰、用戶私鑰和簽密密文, 其中用戶的私鑰由一個(gè)群元素組成, 密文由兩個(gè)群元素和n 比特組成, n 為簽名數(shù)據(jù)的長度. 與先采用SM9 數(shù)字簽名算法對數(shù)據(jù)進(jìn)行簽名, 然后利用SM9 加密算法加密簽名后的數(shù)據(jù)相比, 本文方案的計(jì)算開銷和密文長度明顯減少. 在隨機(jī)諭言模型中, 基于q-BDHI 困難問題假設(shè), 證明方案在適應(yīng)性選擇密文攻擊模型下是不可區(qū)分的. 基于q-SDH 困難問題假設(shè), 證明方案在適應(yīng)性選擇消息和標(biāo)識攻擊模型下滿足存在性不可偽造. 理論分析表明方案的通信開銷和計(jì)算開銷與現(xiàn)有高效標(biāo)識簽密方案相當(dāng). 最后, 對方案進(jìn)行實(shí)驗(yàn)仿真, 簽密時(shí)間約為18 毫秒, 在實(shí)際應(yīng)用中是可行的.
本節(jié)回顧標(biāo)識簽密和SM9 標(biāo)識密碼算法的研究進(jìn)展. 自2001 年Boneh 和Franklin 在文獻(xiàn)[3] 中利用基于橢圓曲線的雙線性對技術(shù)提出第一個(gè)實(shí)用可證明安全的標(biāo)識加密方案后, 標(biāo)識密碼得到飛躍式發(fā)展. Malone-Lee 在文獻(xiàn)[12] 中首次將標(biāo)識密碼體制拓展到簽密系統(tǒng), 提出第一個(gè)標(biāo)識簽密方案. Libert和Quisquater 在文獻(xiàn)[26] 中指出Malone-Lee 方案的設(shè)計(jì)采用先加密后簽名的方法, 無法達(dá)到語義安全(Semantic Security), 攻擊者很容易區(qū)分挑戰(zhàn)密文中的加密數(shù)據(jù), 并提出一個(gè)更安全、更高效的標(biāo)識簽密方案. 2005 年, Barreto 等[27]提出一個(gè)在計(jì)算效率上優(yōu)于之前所有簽密方案的標(biāo)識簽密方案, 并在隨機(jī)諭言模型中證明方案具有IND-CCA(Indistinguishability against Adaptive Chosen-Ciphertext Attasks)的安全性. 在給定標(biāo)識和選擇消息攻擊下(Selective Identity and Chosen-Message Attacks, sID-CMA)滿足存在性不可偽造.
Yu 等[13]借鑒Waters 標(biāo)識加密方案[7]中的構(gòu)造技術(shù), 提出了第一個(gè)在標(biāo)準(zhǔn)模型下可證明安全的標(biāo)識簽密方案. 簽名的安全性和密文的安全性分別基于CDH 和DBDH 困難問題假設(shè). 然而, 文獻(xiàn)[14] 指出Yu 等提出的方案存在和Malone-Lee 方案同樣的安全缺陷, 無法達(dá)到語義安全, 并對Yu 的方案進(jìn)行改進(jìn), 在保證不可偽造安全性的同時(shí)實(shí)現(xiàn)語義安全. Selvi 等[15]結(jié)合Waters 標(biāo)識加密方案[7]和Paterson等人的標(biāo)識簽名方案[28], 設(shè)計(jì)一個(gè)在標(biāo)準(zhǔn)模型下可證明安全的標(biāo)識簽密方案. 該方案在選擇消息和標(biāo)識攻擊下具有強(qiáng)不可偽造的安全性(Strong Unforgeability against Chosen Message and Identity Attacks,SUF-CMIA). Li 和Takagi[16]提出一個(gè)在標(biāo)準(zhǔn)模型下完全安全的標(biāo)識簽密方案, 代價(jià)是增加簽密密文長度和計(jì)算開銷. Li 等[17]對文獻(xiàn)[13] 中的方案進(jìn)行修改, 實(shí)現(xiàn)安全高效的標(biāo)識簽密方案. Karati 等[18]針對物聯(lián)網(wǎng)應(yīng)用需求, 提出一個(gè)適用于物聯(lián)網(wǎng)的可證明安全的標(biāo)識簽密方案. 方案的安全性基于修改的BDHI 困難問題假設(shè)和修改的B-SDH(Bilinear Strong Diffie-Hellman) 困難問題假設(shè). 文獻(xiàn)[29–34] 分別研究了不同功能的簽密方案.
自2016 年正式公布SM9 標(biāo)識密碼算法成為國家密碼行業(yè)標(biāo)準(zhǔn)后, SM9 標(biāo)識密碼算法得到國內(nèi)學(xué)者的積極研究. Cheng[35]給出了SM9 密鑰協(xié)商協(xié)議和加密算法的規(guī)范安全性證明. 文獻(xiàn)[21] 把盲簽名技術(shù)拓展到SM9 數(shù)字簽名算法中, 提出了一個(gè)基于SM9 的盲簽名方案. 文獻(xiàn)[20] 研究如何提高SM9 數(shù)字簽名算法的計(jì)算效率, 提出能夠?qū)崿F(xiàn)快速簽名和驗(yàn)證的具體方法, 有效降低了簽名算法的計(jì)算復(fù)雜度. 文獻(xiàn)[24] 研究SM9 標(biāo)識密碼算法中用戶私鑰的生成, 提出可分離匿名分布式密鑰產(chǎn)生分發(fā)方案. 用戶私鑰生成是一個(gè)交互過程, 該過程無雙線性對運(yùn)算且不需要通過安全信道發(fā)送私鑰. 文獻(xiàn)[22] 提出基于SM9算法的可證明安全區(qū)塊鏈隱私防護(hù)方案, 實(shí)現(xiàn)不可偽造、保證節(jié)點(diǎn)匿名和前向安全等性能. 文獻(xiàn)[25] 研究SM9 標(biāo)識加密算法中用戶的撤銷, 提出具有魯棒性的安全用戶撤銷方案. 方案中用戶的撤銷通過服務(wù)器輔助實(shí)現(xiàn). 文獻(xiàn)[23] 研究了SM9 中R-ate 雙線性對的快速計(jì)算方法. 綜上, 目前尚未發(fā)現(xiàn)基于商密SM9 的標(biāo)識簽密方案的公開研究成果.
在第2 節(jié)回顧雙線性群、困難問題假設(shè)、標(biāo)識簽密和安全模型的形式化定義等預(yù)備知識. 第3 節(jié)給出基于SM9 的簽密方案的具體構(gòu)造. 在第4 節(jié), 根據(jù)安全模型證明了方案的安全性, 并在第5 節(jié)對提出的方案進(jìn)行性能分析和編程實(shí)驗(yàn)仿真. 第6 節(jié)對本文的工作進(jìn)行總結(jié).
本節(jié)回顧雙線性群、困難問題假設(shè)、標(biāo)識簽密和安全模型等基本知識.
設(shè)λ 為安全參數(shù), N 是與λ 相關(guān)的大素?cái)?shù). G1, G2和GT都是階為N 的循環(huán)群, 雙線性映射e:G1×G2→GT滿足以下條件:
(1) 雙線性性(Bilinearity): 對任意的元素P ∈G1, Q ∈G2和a, b ∈ZN, 都有e(aP,bQ) =e(P,Q)ab;
(2) 非退化性(Non-degeneracy): 至少存在元素P ∈G1, Q ∈G2, 滿足e(P,Q)?=1;
(3) 可計(jì)算性(Computability): 對于任意的P ∈G1, Q ∈G2, 存在多項(xiàng)式時(shí)間算法高效地計(jì)算e(P,Q).
此外, 若P, Q 分別為群G1和G2的生成元, 則存在有效的公開可計(jì)算同構(gòu)映射ψ :G2→G1, 使得ψ(Q)=P. 雙線性群BP 由以上五元組(G1,G2,GT,e,N) 組成.
一個(gè)標(biāo)識簽密(Identity-Based Signcryption) 方案由以下四個(gè)多項(xiàng)式時(shí)間算法描述.
? Setup(λ): 以系統(tǒng)安全參數(shù)λ 為輸入,系統(tǒng)建立算法Setup 輸出系統(tǒng)主公鑰mpk 和主私鑰msk.該算法由密鑰生成中心(KGC) 運(yùn)行.
? KeyGen(mpk,msk,ID): 以系統(tǒng)主公鑰mpk, 系統(tǒng)主私鑰msk 和用戶標(biāo)識ID 為輸入, 用戶私鑰生成算法KeyGen 輸出用戶ID 對應(yīng)的私鑰skID. 該算法由KGC 運(yùn)行.
? Signcrypt(mpk,M,skIDS,IDR): 以系統(tǒng)主公鑰mpk, 明文數(shù)據(jù)M, 簽名加密者的私鑰skIDS和接收者標(biāo)識IDR為輸入, 簽密算法Signcrypt 輸出簽密密文CT. 該算法由簽名加密者執(zhí)行. 在下文中, 默認(rèn)簽名加密者和密文發(fā)送者是同一個(gè)實(shí)體.
? Unsigncrypt(mpk,CT,IDS,skIDR): 以系統(tǒng)主公鑰mpk,簽密密文CT,發(fā)送者標(biāo)識IDS以及接收者IDR對應(yīng)的私鑰skIDR為輸入, 解密驗(yàn)證算法Unsigncrypt 輸出明文數(shù)據(jù)-簽名對(M,σ)或者⊥. 符號⊥表示該簽密密文的解密結(jié)果不是一個(gè)由發(fā)送者簽名的數(shù)據(jù). 該算法由密文解密者執(zhí)行.
標(biāo)識簽密方案的正確性要求對任意的(mpk,msk)←?Setup(λ), skID←?KeyGen(mpk,msk,ID)和 CT ←? Signcrypt(mpk,M,skIDS,IDR), 當(dāng)且僅當(dāng)發(fā)送者 IDS對 M 進(jìn)行了有效簽名,Unsigncrypt(mpk,CT,IDS,skIDR)=(M,σ).
簽密既包含數(shù)據(jù)加密功能, 又包含數(shù)據(jù)簽名功能. 只有授權(quán)的接收者才能正確解密獲得明文數(shù)據(jù), 并驗(yàn)證發(fā)送者是否對該數(shù)據(jù)進(jìn)行簽名. 因此, 簽密的安全性不僅要求保護(hù)數(shù)據(jù)的私密性, 而且要求加密數(shù)據(jù)簽名的不可偽造性. 本文參考文獻(xiàn)[27], 針對數(shù)據(jù)私密性, 給出在適應(yīng)性選擇密文攻擊下的不可區(qū)分性(Indistinguishbility against Adaptive Chosen-Ciphertext Attacks, IND-CCA) 安全模型; 針對簽名的不可偽造性, 給出適應(yīng)性選擇消息和標(biāo)識攻擊下的存在性不可偽造(Existentially Unforgeable against Adaptive Chosen Message and Identity Attacks, EUF-CMIA) 安全模型. 這兩個(gè)安全模型都是通過由挑戰(zhàn)者(challenger) 和攻擊者(adversary) 參與的游戲來定義. IND-CCA 安全模型的定義如下.
系統(tǒng)建立階段. 給定安全參數(shù)λ, 挑戰(zhàn)者運(yùn)行算法Setup(λ), 生成主公鑰mpk, 并發(fā)送mpk 給攻擊者.
詢問階段1. 攻擊者可以適應(yīng)性詢問以下諭言器.
猜測階段. 最后, 攻擊者輸出對μ 的猜測μ′∈{0,1}. 如果μ′=μ, 則攻擊者獲勝.
定義攻擊者A 獲勝的優(yōu)勢為
EUF-CMIA 的安全模型定義如下.
系統(tǒng)建立階段. 給定安全參數(shù)λ, 挑戰(zhàn)者運(yùn)行算法Setup(λ), 生成主公鑰mpk, 并發(fā)送mpk 給攻擊者.
詢問階段. 攻擊者可適應(yīng)性發(fā)起IND-CCA 安全模型中的詢問, 挑戰(zhàn)者按IND-CCA 安全模型回復(fù)攻擊者.
本節(jié)給出基于SM9 的標(biāo)識簽密方案的具體構(gòu)造. 方案設(shè)計(jì)采用SM9 標(biāo)識密碼算法中的符號, 方案的具體描述如下.
假設(shè)簽密密文CT=(c,S,T) 由發(fā)送者IDS生成, 接收者為IDR, 則:
本文方案滿足標(biāo)識基簽密系統(tǒng)的正確性要求.
本節(jié)分析上述方案的安全性. 從方案的構(gòu)造可以看出,當(dāng)系統(tǒng)的主公鑰確定后,hid 和N 是固定的. 為描述方便, H1(ID||hid,N) 和H2(M||w,N) 分別簡寫為H1(ID) 和H2(M||w). 方案的安全性由定理1和定理2保證. 安全性證明借鑒文獻(xiàn)[27] 中的證明技術(shù).
定理1 令密碼雜湊函數(shù)H1,H2,H3是隨機(jī)諭言器. 如果q-BDHI 問題是難解的, 則本文提出的基于SM9 的標(biāo)識簽密方案是IND-CCA 安全的.
? H3詢問. 針對三元組(Ti,wi,IDi) 的詢問, B 為H3建立列表L3, 列表中的元素以四元組(T,w,ID,R) 的形式存儲. 如果(Ti,wi,IDi) 在L3中, 則返回相應(yīng)的Ri. 如果不存在, 從{0,1}n中隨機(jī)選取一個(gè)元素Ri, 設(shè)H3(Ti,wi,IDi)=Ri, 發(fā)送Ri給A 并以(Ti,wi,IDi,Ri) 更新L3.
詢問階段1.
其中等式(4)中的左邊是可計(jì)算的.
接著, B 執(zhí)行以下步驟:
S1 遍歷列表L3, 找出所有滿足Ti=T,IDi=IDv的四元組(Ti,wi,IDi,Ri). 若沒有對應(yīng)的四元組, 則拒絕該密文并結(jié)束, 否則執(zhí)行步驟S2;
S2 計(jì)算Mi=c ⊕Ri, 遍歷列表L2, 找到(Mi,wi) 相應(yīng)的hi, 如果不存在, 則拒絕該密文并結(jié)束,否則執(zhí)行步驟S3;
挑戰(zhàn)階段. A 輸出兩個(gè)等長的挑戰(zhàn)明文數(shù)據(jù)(M0,M1) 和發(fā)送者/接收者組合(IDS?,IDR?), 其中A沒有詢問過IDR?的私鑰. 如果IDR??= IDk, B 終止模擬. 否則, B 隨機(jī)選取t ∈Z?N, c?∈{0,1}n,S?∈G1, 計(jì)算T?=?tP1, 并返回挑戰(zhàn)密文CT?=(c?,S?,T?). 設(shè)r?=t/a, 因?yàn)棣??a ?Ik, 有
因此, A 不能分辨CT?是否是一個(gè)有效的簽密密文, 即模擬和真正的方案攻擊不可區(qū)分, 除非它詢問過H2或者H3關(guān)于w?=e(P1,Ppub)r?的值.
詢問階段2. A 繼續(xù)詢問私鑰, 簽密密文和解密. 但是, A 不能詢問IDR?的私鑰, 同時(shí)也不能詢問CT?對應(yīng)(IDS?,IDR?) 的解密. B 根據(jù)詢問階段1 回復(fù)A.
因此, 可計(jì)算q-BDHI 問題的解為
最后分析解決q-BDHI 問題的概率. 從證明的設(shè)置可知, I= IDk, 即A 選擇IDk作為挑戰(zhàn)接收者的概率為1/qH1. 綜上, 如果A 以不可以忽略的優(yōu)勢? 攻破所提的方案, 則B 解決q-BDHI 問題的概率為
定理2 令密碼雜湊函數(shù)H1,H2,H3是隨機(jī)諭言器. 如果q-SDH 問題是難解的, 則本文提出的SM9標(biāo)識簽密方案是EUF-CMIA 安全的.
? H3詢問. 針對三元組(Ti,wi,IDi)的詢問,B 為H3建立列表L3,列表元素以四元組(T,w,ID,R)的形式存儲. 如果(Ti,wi,IDi) 在L3中, 則返回相應(yīng)的Ri. 如果不存在, 從{0,1}n中隨機(jī)選取一個(gè)元素Ri, 設(shè)H3(Ti,wi,IDi)=Ri, 發(fā)送Ri給A 并以(Ti,wi,IDi,Ri) 更新L3.
效果分為顯效、有效以及無效3個(gè)等級,顯效是指患者治療后的臨床癥狀明顯改善,透析過程中無低血壓發(fā)生;有效是指患者的臨床癥狀有所緩解,收縮壓在透析的過程中基本正常;無效則為患者在治療的過程中臨床癥狀和體征無明顯好轉(zhuǎn),并出現(xiàn)低血壓[5]。
詢問階段.
其中等式(8)中的左邊是可計(jì)算的.
接著, B 執(zhí)行以下步驟:
S1 遍歷列表L3, 找出所有滿足Ti= T,IDi= IDv的四元組(Ti,wi,IDi,Ri). 若沒有對應(yīng)的四元組, 則拒絕該密文并結(jié)束, 否則執(zhí)行步驟S2;
S2 計(jì)算Mi= c ⊕Ri, 遍歷列表L2, 找到(Mi,wi) 相應(yīng)的hi, 如果不存在, 則拒絕該密文并結(jié)束, 否則執(zhí)行步驟S3;
S3 檢查所找到的hi是否滿足等式(8), 如果都不滿足, 則拒絕該密文并結(jié)束. 如果存在唯一滿足條件的三元組(Mi,wi,hi), 則輸出Mi和簽名(hi,S) 作為解密結(jié)果發(fā)送給A.
本節(jié)從存儲效率、安全性、困難問題假設(shè)和計(jì)算效率等方面分析基于SM9 的簽密方案.
首先從理論上比較本方案和相關(guān)的標(biāo)識簽密方案, 對比結(jié)果見表1 和表2. 從表1 可知文獻(xiàn)[18] 和本方案具有定長的公鑰且安全性都基于q-type 類型的困難問題假設(shè), 其他方案的公鑰長度是線性的, 安全性基于DBDH 和CDH 困難問題假設(shè). 本方案的安全性依賴于隨機(jī)諭言模型, 其他方案都在標(biāo)準(zhǔn)模型下證明方案的安全性, 但文獻(xiàn)[13,14,16,17] 存在安全性不足. |G1|, |G2| 和|GT| 分別表示群G1, G2和GT中元素的大小, n 是消息的比特長度, ROM 表示隨機(jī)諭言模型, |G| 表示對稱雙線性對中群G 元素的大小(比較方案的設(shè)計(jì)都基于對稱雙線性對), N 為大素?cái)?shù)且是群G, G1, G2和GT的階, k 是相應(yīng)文獻(xiàn)方案中與哈希函數(shù)輸出長度和標(biāo)識長度相關(guān)的整數(shù). 其中“*” 表示對應(yīng)的安全性存疑.
從表2 可知, 本方案的計(jì)算效率和比較方案總體相當(dāng), 其中解密驗(yàn)證算法的效率與文獻(xiàn)[18] 是可比的,僅包含兩個(gè)雙線性對運(yùn)算, 優(yōu)于文獻(xiàn)[13–17] 中的方案. 對比方案都基于雙線性群設(shè)計(jì)且方案的構(gòu)造都使用了密碼哈希函數(shù), 而生成雙線性群的操作可以預(yù)先完成, 所以本文忽略這部分的計(jì)算開銷. 由于比較文獻(xiàn)中使用的密碼哈希函數(shù)類型較多, 本文統(tǒng)一定義HB為映射到比特串的密碼哈希函數(shù), HZ為映射到的密碼哈希函數(shù), N 為大素?cái)?shù)且是相應(yīng)方案中群的階. 計(jì)算效率的對比結(jié)果見表2.
表1 標(biāo)識簽密方案性能比較Table 1 Performance comparison of identity-based signcryption schemes
表2 標(biāo)識簽密方案計(jì)算效率比較Table 2 Computation comparison of identity-based signcryption schemes
由于比較方案的設(shè)計(jì)采用乘法群表示, 本文使用加法群表示. 為方便比較, 本文統(tǒng)一在加法群下統(tǒng)計(jì)計(jì)算開銷并定義如下符號: sm1表示群G1中的標(biāo)量乘運(yùn)算(Scalar Multiplication)1在乘法群表示中, 該運(yùn)算等價(jià)于相應(yīng)群中的指數(shù)運(yùn)算., sm2表示群G2中的標(biāo)量乘運(yùn)算, p 表示雙線性對運(yùn)算, Et 表示群GT中的指數(shù)運(yùn)算, sm 表示對稱群G 中的標(biāo)量乘運(yùn)算.表2 的統(tǒng)計(jì)不包含中的模運(yùn)算(Modular), G, G1和G2中的點(diǎn)加運(yùn)算(Point Addition), GT中的乘法運(yùn)算.
本節(jié)對方案進(jìn)行編程仿真, 測試方案中各個(gè)算法的運(yùn)行時(shí)間. 為測試方便, 忽略方案描述中ψ 函數(shù),并使用Type III 雙線性對仿真方案. 仿真中使用的庫為PBC (Pairing-Based Cryptography), 采用的橢圓曲線為Type F, 其中|G1| = 256 bits. 測試環(huán)境中所用的設(shè)備是一臺內(nèi)存為16.0 GB 的筆記本電腦,操作系統(tǒng)為64 位的Windows 10, CPU 為Intel(R) Core(TM) i7-8558U@1.80Hz 2.00 GHz, 使用的編程語言為C++. 本文運(yùn)行程序20 次后取平均值, 測試的結(jié)果如圖1 所示. 從圖1 可知, 本方案的簽密算法時(shí)間約為14.65 毫秒, 具有一定的可行性. 系統(tǒng)建立和解密驗(yàn)證開銷較大, 系統(tǒng)建立時(shí)間約為54.4 毫秒, 主要開銷源自群元素的初始化和雙線性對運(yùn)算及群G2上的標(biāo)量乘法. 解密和驗(yàn)證算法計(jì)算時(shí)間約為86.5毫秒, 主要開銷源自兩個(gè)雙線性對運(yùn)算, 群G2上的標(biāo)量乘法, 群GT上的指數(shù)運(yùn)算和三個(gè)密碼哈希函數(shù)的計(jì)算.
圖1 方案算法的運(yùn)行時(shí)間Figure 1 Computational overheads for each algorithm
本文秉承核心技術(shù)自主創(chuàng)新、信息安全自主可控的理念, 結(jié)合我國商用密碼SM9 標(biāo)識密碼算法, 設(shè)計(jì)了首個(gè)基于SM9 的高效標(biāo)識簽密方案, 同時(shí)實(shí)現(xiàn)數(shù)字簽名和數(shù)據(jù)加密的功能, 有效保護(hù)了簽名數(shù)據(jù)的私密性. 與先采用SM9 簽名算法對數(shù)據(jù)簽名, 然后用SM9 加密算法加密簽名后數(shù)據(jù)的方法相比, 本方案能夠顯著減少計(jì)算開銷和通信開銷. 在隨機(jī)諭言模型中, 證明方案是IND-CCA 和EUF-CMIA 安全的.方案的安全性依賴于q-BDHI 和q-SDH 困難問題假設(shè). 理論分析和實(shí)驗(yàn)仿真結(jié)果表明本文提出的基于SM9 的標(biāo)識簽密方案與現(xiàn)有國際主流高效標(biāo)識簽密方案在計(jì)算效率和通信效率上相當(dāng), 在實(shí)際應(yīng)用中是可行的.