◆呂立群 楊曉元
(武警工程大學電子技術(shù)系 陜西 710086)
基于多線性映射的可公開驗證密鑰封裝方案
◆呂立群 楊曉元
(武警工程大學電子技術(shù)系 陜西 710086)
密鑰封裝機制(KEM)與數(shù)據(jù)封裝機制(DEM)共同組成了混合加密,有效解決了公鑰加密計算效率低和對稱加密私鑰分發(fā)的問題。密鑰封裝機制的安全性和效率直接影響混合加密的安全性和效率。本文利用多線性映射構(gòu)造了一種基于身份的密鑰封裝方案,在標準模型下證明了方案的適應(yīng)性選擇密文安全性。方案可公開驗證且密鑰與密文長度均為常數(shù),具有較高的效率。
密鑰封裝;選擇密文安全;可公開驗證;多線性映射
基于身份加密(IBE)自1984年被Shamir等人提出以來,一直是公鑰密碼學研究的熱點問題。在基于身份的密碼體制中,用戶的公鑰可以是任意的字符串,基于身份的密碼體制不需要數(shù)字證書,簡化了用戶公鑰的管理過程。但類似的也存在著加解密速度慢、效率不高等問題。密鑰封裝機制KEM與公鑰加密體制類似。但同傳統(tǒng)的密鑰封裝機制相比,基于身份的密鑰封裝機制不需要使用數(shù)字證書,因此具有很好的應(yīng)用前景。
密鑰封裝機制使用是開放的、不安全的信道,對于密鑰封裝機制的主動攻擊不僅有竊聽、截獲,甚至可以篡改信道中的數(shù)據(jù),從而獲取有價值的信息。為了提高效率,Boneh與Katz提出了利用消息驗證碼(MAC)來代替一次簽名系統(tǒng)[5]。如何在不引入一次簽名系統(tǒng)和消息驗證碼的情況下達到選擇密文安全值得進一步的研究。Boyen等人提出可以利用哈希函數(shù)以及密文內(nèi)部的結(jié)構(gòu)來極高方案的安全性[5]。
2003年以來基于證書的密鑰封裝方案、基于簽密的密鑰封裝等方案[2,3]相繼被提出。其中Wang等利用多線性映射構(gòu)造了一種基于身份的密鑰封裝方案[4],方案的密文與私鑰長度均為1個群元素,解密是僅需一次對運算,方案的存儲與運算效率都較高,但是方案的安全性僅達到選擇明文安全性,因此,如何構(gòu)造高效的具有選擇密文安全性的KEM值得進一步研究。
本文利用Boyen等人提出的思想以及多線性映射,構(gòu)造了一種適應(yīng)性選擇密文安全的基于身份的可公開驗證的密鑰封裝方案。方案的密文與私鑰長度短且為固定長度,沒有使用一次簽名系統(tǒng)或消息驗證碼,方案的計算效率較高且可公開驗證。
算法A在安全參數(shù) 下解決MDDH假設(shè)的優(yōu)勢定義為:

定義2 MDDH假設(shè)指出,不存在多項式時間算法A,其具有不可忽略的優(yōu)勢可以解決MDDH問題。
一個基于身份的密鑰封裝方案可以由如下四個算法描述:
(PK,MSK)←Setup(λ):系統(tǒng)建立算法Setup以安全參數(shù)λ為輸入,輸出公鑰PK和主私鑰MSK。:私鑰生成算法KeyGen以公鑰PK,主私鑰MSK和用戶身份ID∈I作為輸入(I為用戶的身份空間),輸出其對應(yīng)的私鑰SkID。
(C,K)←Encap(pk,ID):封裝算法Encap以公鑰PK和用戶身份ID作為輸入,輸出密文C與密鑰K∈K,其中K為密鑰空間。
K←Decap(C, SkID):解封裝算法Decap以密文C和用戶私鑰SkID作為輸入,輸出密鑰K或無效符號⊥。
基于身份的密鑰封裝方案需滿足解密一致性。即對任意:

新算法構(gòu)造如下:
(1)系統(tǒng)建立Setup(λ):輸入系統(tǒng)安全參數(shù)λ,身份的比特位數(shù)n生成群組(G1,…Gn),群的階為p,gi為群Gi的生成元,其中g(shù)=g1。選取哈希函數(shù)H0:G1→ZP。隨機選擇(b1,0,b1,1),…,其中隨機選取計算故系統(tǒng)公鑰 PK=。系統(tǒng)主私鑰MSK=
(2)私鑰生成KeyGen(PK,MSK,ID):輸入系統(tǒng)主私鑰MSK,身份ID=,系統(tǒng)公鑰PK,計算用戶身份ID對應(yīng)的私鑰
(3)密鑰封裝Encap(PK,ID):輸入公鑰PK,用戶的身份ID,哈希函數(shù)H0,隨機選取t∈Zp計算:

最終計算出密文 C=(C0,C1),封裝的對稱密鑰
(4)解封裝Decap(PK,C, SkID):用戶輸入公鑰PK,私鑰SkID以及密文C:
①計算密文C0的哈希值w=H0(C0);
②公開驗證密文C的有效性:驗證等式 e(C0,u1u2w)=e(C1,g)是否成立,若不相等,則說明密文C無效,輸出⊥;
在本節(jié)主要通過計算開銷和通信開銷兩方面來分析新方案的性能,并給出了所構(gòu)造方案與已有基于身份的密鑰封裝方案的效率分析對比。在性能比較中,僅考慮耗時的多線性對運算(用P表示一次多線性對運算的時間),一次簽名的開銷(用TS表示簽名的計算開銷,S表示簽名的通信開銷)以及哈希函數(shù)運算開銷(用T1表示),Gi表示一個群G中的元素。通過對比可以看出,同文獻[4]相比,本文方案在未引入一次性簽名的基礎(chǔ)上,達到了IND-sID-CCA2安全性,同時降低了密文長度與加解密的計算開銷。同方案[5]相比,本文方案在達到標準模型下IND-sID-CCA2安全和可公開驗證的基礎(chǔ)上,仍然保持了很高的效率。在通信開銷方面,新方案的密文長度僅增加一個群中的元素,私鑰長度不變。在計算開銷方面,僅增加了一次哈希函數(shù)運算和兩次多線性對運算。
本文構(gòu)造了一個可公開驗證的基于身份的密鑰封裝方案,并且在標準模型下證明了方案的適應(yīng)性選擇密文安全性。本文方案未引入一次簽名算法,僅使用哈希函數(shù),通過密文內(nèi)部的驗證機制達到了可公開驗證性和選擇密文安全性。分析表明,本文方案在犧牲較小效率的代價下,達到了較好的安全性,適宜在實際通信中使用。
[1]Chen L,ChengZ,Malone-Lee J.An efficient ID-KEM based on the Sakai-Kasahara key construction[J].IEE Proceedings-Information Security,2006.
[2]陳明.標準模型下基于身份的多接收者簽密密鑰封裝方案[J].計算機工程與科學,2015.
[3]王斌斌,段娜,張曉麗.標準模型下基于身份的簽密密鑰封裝[J].計算機應(yīng)用與軟件,2015.
[4]張敏情,張騰飛,王緒安.基于多線性映射的可公開驗證加密方案[J]. 武漢大學學報: 理學版,2014.
[5]Wang H,Wu L,Zheng Z,et al. Identity-Based Key-Encapsulation Mechanism from MultilinearMaps[J]. IACR Cryptology ePrint Archive,2013.