软件学报  2017, Vol. 28 Issue (10): 2757-2768   PDF    
安全的无双线性映射的无证书签密机制
周彦伟1,3, 杨波1,3, 王青龙2     
1. 陕西师范大学 计算机科学学院, 陕西 西安 710062;
2. 长安大学 信息工程学院, 陕西 西安 710064;
3. 信息安全国家重点实验室(中国科学院 信息工程研究所), 北京 100093
摘要: 无证书签密是能够同时提供无证书加密和无证书签名的一种非常重要的密码学原语.近年来,多个无证书签密方案相继被提出,并声称他们的方案是可证明安全的.但是,通过给出具体的攻击方法,指出现有的一些无证书签密机制并不具备其所声称的安全性.针对上述问题,提出一种无双线性映射的高效无证书签密方案,并在随机谕言机模型下,基于计算性Diffie-Hellman问题和离散对数问题对所提方案的安全性进行了证明.同时,该方案还具有不可否认性和公开验证性等安全属性.与其他传统无证书签密方案相比,由于未使用双线性映射运算,在具有更高计算效率的同时,该方案的安全性更优.
关键词: 无证书签密     随机谕言机     无双线性映射     可证明安全性    
Secure Certificateless Signcryption Scheme without Bilinear Pairing
ZHOU Yan-Wei1,3, YANG Bo1,3, WANG Qing-Long2     
1. School of Computer Science, Shaanxi Normal University, Xi'an 710062, China;
2. School of Information Engineering, Chang'an University, Xi'an 710064, China;
3. State Key Laboratory of Information Security (Institute of Information Engineering, The Chinese Academy of Sciences), Beijing 100093, China
Foundation item: Foundation item: National Natural Science Foundation of China (61572303, 61772326); National Key Research and Development Program of China (2017YFB0802003, 2017YFB0802004); National Cryptography Development Fund during the 13th Five-Year Plan Period (MMJJ20170216); Foundation of State Key Laboratory of Information Security (2017-MS-03); Fundamental Research Funds for the Central Universities (GK201702004)
Abstract: Certificateless signcryption is a useful cryptographic primitive which simultaneously provides the functionalities of certificateless encryption and certificateless signature.In the past few years, some certificateless signcryption schemes have been proposed, and claimed to be provably secure.Unfortunately, concrete attacks can be made that indicate that some existing certificateless signcryption schemes are not secure.To overcome these disadvantages, an efficient certificateless signcryption scheme without bilinear pairings is proposed.The proposal is provably secure in the random oracle model based on the computational Diffie-Hellman problem and discrete logarithm problem, and also has the security properties such as non-repudiation and public verifiability.Additionally, compared with other existing certificateless signcryption schemes in the computational complexity, the proposed method is more efficient and secure due to the lack of bilinear pairings.
Key words: certificateless signcryption     random oracle     without bilinear pairing     provable security    

保密性和认证性是消息通信服务的基本安全需求, 通常, 消息的保密性由加密来完成, 而认证性则通过签名来实现, 传统上采用“先签名后加密”的方式实现, 但其代价往往是签名和加密的代价之和, 因而效率较低.为了提高效率, 1997年, 文献[1]首先提出了签密的概念, 它能够在一个逻辑步骤内同时完成签名和加密, 相较于传统策略, 签密具有较低的计算和通信效率, 是一种较为理想的数据信息安全传输方法.

Shamir于1984年提出基于身份的公钥密码体制(ID-PKC)[2], 改进了传统公钥密码体制中公钥证书的管理问题.在ID-PKC中, 用户的身份信息(如电话号码、姓名、电子邮件等)直接被作为用户公钥, 使得公钥无需与证书绑定, 用户的私钥由可信第三方——密钥生成中心(key generation center, 简称KGC)提供.然而, 由于ID-PKC中KGC生成了用户的完整私钥, 因此恶意的KGC具备伪造任意用户的合法签密密文或替代任意用户进行解签密的能力, 即ID-PKC存在密钥托管的不足, 该不足制约了ID-PKC在实际中的应用.

2003年, 无证书公钥密码系统(CL-PKC)[3]由Al-Riyami和Paterson为了克服ID-PKC的密钥托管问题而提出.在CL-PKC中, 依然存在可信的KGC, 它拥有系统的主密钥; 并且根据用户的身份和系统主密钥为用户生成部分私钥; 用户基于KGC为其计算的部分私钥和随机选取的秘密值生成用户完整的私钥; 公钥由用户的秘密值、身份和系统参数计算得出, 并对外安全公布.

由于CL-PKC很好地解决了ID-PKC中密钥托管的不足, 因此, 自2008年Barbosa等人[4]首次提出无证书签密概念以来, 关于无证书签密方案的研究已成为当前签密领域的研究热点之一, 国内外众多学者分别提出了新的签密方案[5-17].文献[5]和文献[6]分别利用双线性对构造了一种无证书签密方案; 文献[7]提出一种签密和解签密计算均不需要进行双线性映射运算的无证书签密方案, 但该方案的公钥生成阶段需要进行双线性映射运算; 文献[8]指出文献[5]方案并不能保证不可否认性和保密性, 同时指出文献[6]方案在保密性上存在问题, 但文献[8]均未给出相应的改进方案; 文献[9, 10]基于双线性映射提出了可证明安全的无证书混合签密方案, 并在随机谕言机模型下对其安全性进行了证明.由于双线性映射的运算负载较高, 导致基于双线性映射构造的机制存在计算开销大的不足.针对上述不足, 不使用双线性映射的无证书签密方案[11-17]相继被提出.文献[11, 12]分别提出了无需双线性映射运算的无证书签密机制, 并在随机谕言机模型下, 基于计算性Diffie-Hellman(computation Diffie-Hellman, 简称CDH)困难问题和离散对数(discrete logarithm, 简称DL)困难问题证明了各自机制的机密性和不可伪造性; 然而, 文献[13]指出文献[12]的方案不满足不可伪造性, 并提出了改进方案; 除此之外, 多个不使用双线性映射的无证书签密机制在文献[8, 14-16]中相继被提出, 并在随机谕言机模型下基于相应的困难问题证明了各自方案的机密性和不可伪造性.近年来, 鉴于无证书签密机制无密钥托管的优势, 国内外研究者分别提出了适用于物联网[17-20]、无线传感器网[21]等网络环境的无证书签密机制.

本文分析发现, 文献[8, 14]和文献[16]中群上的点乘运算次数较多, 导致计算效率依然较低; 并且通过构造具体的攻击算法证明了文献[11-14]和文献[15]的方案在安全性方面均存在缺陷, 要么无法满足对任意敌手所声称的机密性[11-13, 15], 要么对A类敌手不具有所声称的不可伪造性[11, 12], 要么不具有公开验证性[14]; 而文献[16]的密文长度较长, 使得该方案的通信开销较大.此外, 文献[17-21]中的方案是基于双线性映射构造的, 导致相关方案的计算效率较低.虽然上述方案[11-21]在安全性、计算效率或通信效率方面存在一定的不足, 但新颖的设计思路, 确实为无证书签密方案的设计提供了参考, 推进了无证书签密技术的发展.

本文提出不使用双线性映射的高效无证书签密方案, 并基于CDH假设和DL困难问题, 在随机谕言机模型中对本文方案的不可伪造性及机密性进行了证明.同时, 本文方案还具有不可否认性和公开验证性等安全属性, 相较于其他无证书签密方案[11-21], 本文方案的效率更高, 且安全性更佳.

1 预备知识 1.1 困难性问题

离散对数(discrete logarithm, 简称DL)问题:令群G的阶为大素数q, 设P为群G的任意一个生成元, 给定P, bPG, 对任意未知的$ b\in Z_{q}^{*}$, DL问题的目标是计算b.任意的概率多项式时间(probabilistic polynomial time, 简称PPT)算法A成功解决DL问题的概率AdvDL(A)=Pr[A(P, bP=b)]是可忽略的, 其中, 概率来源于bZq*上的随机选取和算法A的随机选择.

计算性Diffie-Hellman(CDH)问题:令群G的阶为大素数q, 设P为群G的任意一个生成元, 给定P, aP, bPG, 对于任意未知的$ a, b\in Z_{q}^{*}$, CDH问题的目标是计算abPG.任意的PPT算法A成功解决CDH困难问题的概率AdvCDH(A)Pr[A(P, aP, bP)=abP]是可忽略的, 其中, 概率来源于a, bZq*上的随机选取和算法A的随机选择.

1.2 无证书签密机制及安全模型

无证书签密机制的合法参与者有密钥生成中心KGC、发送者IDS和接收者IDR, 具体算法的定义详见文献[11].无证书签密机制将面临AA两类敌手的攻击, 其中, A类敌手无法掌握系统的主密钥, 但其具有替换合法用户公钥的能力, 则A类敌手为恶意的用户; 本文中Ai(i=1, 2) 为A类敌手, 其中, A1是攻击方案机密性的敌手, A2是攻击方案不可伪造性的敌手.A类敌手可掌握系统的主密钥, 但其不具有替换合法用户公钥的能力, 则A类敌手为恶意的KGC; 本文中Ai(i=1, 2) 为A类敌手, 其中, A1是攻击方案机密性的敌手, A2是攻击方案不可伪造性的敌手.文献[11, 12, 22]详细介绍了AA两类敌手适应性选择消息攻击下不可伪造性和适应性选择密文攻击下机密性的定义及相应的游戏, 篇幅所限, 本文不再赘述, 具体定义详见文献[11, 12, 22].

2 高效可证明安全的无证书签密机制 2.1 方案构造

本节提出的不使用双线性映射的无证书签密机制Π=(Setup, KeyGen, Sign, UnSign)包含4种基本算法, 具体描述如下.

2.1.1 初始化Setup

系统初始化阶段, KGC进行如下操作.

① 循环群G的阶为大素数q, PG的一个生成元; 选择抗碰撞哈希函数: $ {{H}_{1}}:{{\{0, 1\}}^{{{l}_{1}}}}\times G\times G\to Z_{q}^{*}$, $ {{H}_{2}}:{{\{0, 1\}}^{{{l}_{1}}}}\times {{\{0, 1\}}^{{{l}_{2}}}}\times G\times G\to Z_{q}^{*}$, $ {{H}_{3}}:{{\{0, 1\}}^{{{L}_{1}}}}\times G\to {{\{0, 1\}}^{{{l}_{2}}}}$, 其中, l1为用户身份标识ID的长度, l2为明文消息的长度.

② 随机选取需秘密保存的主密钥SmskZq*, 计算系统主公钥PPub=SmskP; 公开系统参数Params=〈q, G, P, PPub, H1, H2, H3, ID, M〉, 其中, ID是用户的身份空间, M是消息空间.

2.1.2 用户密钥生成KeyGen

用户IDi的密钥生成过程如下所述.

① 随机选取秘密值XiZq*, 计算Xi=xiP, 发送身份标识IDi和公开参数Xi给KGC;

② 给定用户身份标识IDi及公开参数Xi, KGC随机选取秘密数riZq*, 分别计算Yi=riPyi=ri+SmskH1(IDi, Xi, Yi), 通过安全信道将yiYi返回给IDi, 则IDi的公钥为PKi=(Xi, Yi), 私钥为SKi=(xi, yi).用户IDi通过等式yiP=Yi+ PPubH1(IDi, Xi, Yi)是否成立来验证KGC分配密钥的合法性.

2.1.3 签密Sign

若要发送消息m给接收者Bob(身份标识为IDBob)、发送者Alice(身份标识为IDAlice), 则进行下述操作.

① 选取随机秘密数uZq*, 计算W=u(XBob+YBob+PPubhBob)和Q=uP, 其中, hBob=H1(IDBob, XBob, YBob); 然后生成密文C=mH3(IDBob, W);

② 计算n=H2(IDAlice, C, XAlice, Q)和k=H2(IDAlice, C, YAlice, Q), 生成签名U=u(xAlice+yAlice)-1V=n(xAlice+yAlice)+uk;

③ 发送签密密文σ=(U, V, C)给接收者Bob.

2.1.4 解签密UnSingn

收到发送者Alice的密文σ=(U, V, C)后, 接收者Bob进行下述操作.

① (解密过程)计算Q′=U(XAlice+YAlice+PPubhAlice)和W′=(xBob+yBob)Q′, 其中, hAlice=H1(IDAlice, XAlice, YAlice); 恢复明文消息m=CH3(IDBob, W′);

② (验证过程)验证等式VP=n(XAlice+YAlice+PPubhAlice)+KQ′是否成立, 其中, hAlice=H1(IDAlice, XAlice, YAlice), n= H2(IDAlice, C, XAlice, Q′)和k=H2(IDAlice, C, YAlice, Q′), 若成立, 则接收消息m; 否则, 输出⊥, 表示输入的密文无效.

2.2 正确性分析 2.2.1 解密的正确性

由等式(1) 和等式(2) 成立, 可知m=mH3(IDBob, W)⊕H3(IDBob, W′), 则Bob能够还原出Alice的原始通信消息, 即解密过程是正确的.

$ {Q}'=U({{x}_{Alice}}+{{y}_{Alice}})P=u{{({{x}_{Alice}}+{{y}_{Alice}})}^{-1}}({{x}_{Alice}}+{{y}_{Alice}})P=uP=Q $ (1)
$ {W}'=({{x}_{Bob}}+{{y}_{Bob}}){Q}'=({{x}_{Bob}}+{{r}_{Bob}}+s{{h}_{Bob}}){Q}'=u({{x}_{Bob}}+{{r}_{Bob}}+s{{h}_{Bob}})P=\\ u({{X}_{Bob}}+{{Y}_{Bob}}+{{P}_{Pub}}{{h}_{Bob}})=W $ (2)

其中, XAlice+YAlice+PPubhAlice=(xAlice+yAlice)PyBob=rBob+SmskhBob.

2.2.2 验证的正确性.

由等式(3) 成立可知, Bob能够验证Alice签名的正确性, 即验证过程是正确的.

$ VP=(n({{x}_{Alice}}+{{y}_{Alice}})+uk)P=n({{x}_{Alice}}+{{y}_{Alice}})P+ukP=\\ {n}'({{X}_{Alice}}+{{Y}_{Alice}}+{{P}_{Pub}}{{h}_{Alice}})+{k}'{Q}' $ (3)

其中, (xAlice+yAlice)P=XAlice+YAlice+PPubhAlice, n′=H2(IDAlice, C, XAlice, Q′), n=H2(IDAlice, C, XAlice, Q), k′=H2(IDAlice, C, YAlice, Q′), k=H2(IDAlice, C, YAlice, Q)和Q′=Q=uP.

3 安全性证明 3.1 机密性

定理1(A类敌手攻击下的机密性).在随机谕言机模型中, 若存在敌手A1可在多项式时间内, 以不可忽略的概率ε1赢得相关游戏(游戏中A1最多进行qS次签密询问和qSK次私钥提取询问), 则存在算法B可在多项式时间内至少以不可忽略的概率$ \frac{1}{q}\left( 1-\frac{{{q}_{SK}}}{{{2}^{k}}} \right)\frac{\varepsilon _{\text{I}}^{1}}{\text{e}({{q}_{S}}+{{q}_{SK}})}$(其中, e是自然对数底数, k是安全参数, q是大素数)解决CDH困难问题.

证明:算法B是一个CDH困难问题的解决者, 其输入为元组〈P, aP, bP〉, 其中, a, bZq*且未知, 目标为计算abP.算法B以敌手A1为子程序并充当游戏的挑战者.游戏开始后, B运行Setup算法, 并发送系统公开参数ParamsA1, 令PPub=bP(意味着主密钥为b); 维护列表L1, L2, L3, LSKLPK分别用于跟踪敌手A1对谕言机H1, H2, H3的询问以及对私钥和公钥的提取询问, 初始时各列表均为空.

询问:敌手A1进行下述询问.

H2询问:当B收到敌手A1H2的询问〈IDi, Ci, Xi(Yi), Qi〉时, 若存在〈IDi, Ci, Xi(Yi), Qi, h2〉∈L2, 则返回h2A1; 否则, B随机选取h2Zq*满足〈*, *, *, *, h2〉∉L2〉(避免哈希函数碰撞的发生), 添加元组〈IDi, Ci, Xi(Yi), Qi, h2〉到L2中, 并返回h2A1.

H3询问:当B收到敌手A1H3的询问〈IDi, Wi〉时, 若存在〈IDi, Wi, h3〉∈L3, 则返回h3A1; 否则, B随机选取h3∈{0, 1}l2满足〈*, *, h3〉∉L3, 添加〈IDi, Wi, h3〉到L3中, 并返回h3A1.

公钥提取询问:当B收到敌手A1对身份IDi的公钥生成询问时, B进行下述操作.

① 若存在〈IDi, Xi, Yi, ci〉∈LPK, 则返回相应的公钥值PKi=〈Xi, Yi〉给A1;

② 否则, B选取随机数ci←{0, 1}, 且$ \text{Pr}[{{c}_{i}}=1]=\delta =\frac{1}{{{q}_{S}}+{{q}_{Sk}}+1}$(游戏中, A1选取了qSK个身份进行私钥提取询问, 选取了qS个身份进行签密询问, 选取1个身份作为挑战身份).若ci=0, B随机选取$ {{x}_{i}}, {{y}_{i}}, {{h}_{1}}\in Z_{q}^{*}$, 计算Xi=xipYi=yiP-PPubh1满足〈*, Xi, Yi, *〉∉LPK, 否则, 需重新选取相应的随机数; 添加相应的元组〈IDi, Xi, Yi, ci〉到LPK中, 返回PKi=〈Xi, Yi〉给A1; 同时, 添加〈IDi, xi, yi〉到LSK中; 添加〈IDi, Xi, Yi, h1〉到L1中.若ci=1, 令$ {{X}_{i}}=r_{know}^{1}P$$ {{Y}_{i}}=r_{know}^{2}P$(其中, $ r_{Know}^{1}, r_{Know}^{2}\in Z_{q}^{*}$B已知的随机参数)满足〈*, Xi, Yi, *〉∉LPK, 否则, 需重新选取rknow1rknow2, 添加元组〈IDi, Xi, Yi, ci〉到LPK中, 添加〈IDi, Xi, Yi, h1〉到L1中, B返回PKi=〈Xi, Yi〉给A1.

H1询问:当B收到敌手A1H1的询问〈IDi, Xi, Yi〉时, 若存在〈IDi, Xi, Yi, h1〉∈L1, 则返回h1A1; 否则, BIDi进行公钥生成询问后(在该询问中将添加相应的元组〈IDi, Xi, Yi, h1〉到L1中), 返回相应元组〈IDi, Xi, Yi, h1〉中的h1A1.

私钥提取询问:当B收到A1IDi的私钥生成询问时,

① 若存在〈IDi.xi, yi〉∈LSK, 则返回相应的私钥SKi=〈xi, yi〉给A1;

② 否则, BIDi进行公钥生成询问并获得相应的应答〈IDi, Xi, Yi, ci〉; 若ci=0, 则在IDi的公钥生成询问中已向LSK添加了相应的元组〈IDi, xi, yi〉, B在返回LSK中相应的私钥SKi=〈xi, yi〉给A1; 若ci=1, 则B结束, 并终止模拟.

公钥替换:敌手A1可选择任意一个新公钥$ P{{{K}'}_{i}}=\langle {{{X}'}_{i}}, {{{Y}'}_{i}}\rangle $替换合法用户IDi的原始公钥PKi.

签密询问:当B收到A1对元组〈IDS, IDR, m〉(假设A1IDR已进行了公钥生成询问)的签密询问时, BLPK中查询IDR对应的元组〈IDR, XR, YR, cR〉, 并进行下述操作.

① 若cR=1, 则B结束, 并终止模拟;

② 否则, BLSKLPK中分别查询IDSIDR对应的元组〈IDS, xS, yS〉∈LSK和〈IDR, XR, YR〉∈LPK, 运行算法Sign(Params, IDS, SKS, IDR, PKR, m)生成相应的密文σ=(U, V, C), 并将σ返回给A1.

解签密询问:当B收到A1对元组〈IDS, IDR, σ=(U, V, C)〉(假设A1IDR已进行了公钥生成询问)的解签密询问时, BLPK中查询IDR所对应的元组〈IDR, XR, YR, cR〉, 并进行下述操作.

① 若存在且cR=0, 则B分别在LSKLPK中查询IDRIDS相对应的元组〈IDR, xR, yR〉∈LSK和〈IDS, XS, YS〉∈LPK, 对密文σ=(U, V, C)运行解签密算法UnSign(Params, IDS, PKS, IDR, SKR, σ), 并返回mA1, 若输入的密文无效, 则B输出特殊符号⊥;

② 若存在且cR=1, B在列表L1, L2L3中查询元组〈IDS, XS, YS, h1〉∈L1, $ \langle I{{D}_{S}}, C, {{X}_{S}}, Q, h_{2}^{X}\rangle \in {{L}_{2}}, $ $ \langle I{{D}_{S}}, C, {{Y}_{S}}, Q, h_{2}^{Y}\rangle \in {{L}_{2}}$和〈IDR, W, h3〉∈L3, 计算m=Ch3, 若等式$ VP=h_{2}^{X}({{X}_{S}}+{{Y}_{S}}+{{P}_{Pub}}{{h}_{1}})+h_{2}^{Y}Q$成立, 则返回mA1, 否则, B输出特殊符号⊥;

③ 若列表LPK中不存在元组〈IDS, XS, YS〉(即公钥被替换), B在列表L1, L2L3中查询元组$ \langle I{{D}_{S}}, {{{X}'}_{S}}, {{{Y}'}_{S}}, {{{h}'}_{1}}\rangle \in {{L}_{1}}, $$ \langle \mathit{I}{{\mathit{D}}_{\mathit{S}}},\mathit{C},{{\mathit{{X}'}}_{\mathit{S}}},\mathit{Q},\mathit{{h}'}_{2}^{\mathit{X}}\rangle \in {{\mathit{L}}_{2}},$$ \langle \mathit{I}{{\mathit{D}}_{\mathit{S}}},\mathit{C},{{\mathit{{Y}'}}_{S}},\mathit{Q},\mathit{{h}'}_{2}^{\mathit{Y}}\rangle \in {{\mathit{L}}_{2}}, $IDR, W, h3〉∈L3, 计算m=Ch3, 若等式$ \mathit{VP={h}'}_{\rm{2}}^{\mathit{X}}({{\mathit{{X}'}}_{\mathit{S}}}+{{\mathit{{Y}'}}_{S}}+{{\mathit{P}}_{\mathit{Pub}}}{{\mathit{h}}_{1}})+\mathit{{h}'}_{2}^{\mathit{Y}}\mathit{Q}$成立, 则返回mA1, 否则, B输出特殊符号⊥.

挑战:敌手A1输出两个身份IDS, IDRID(IDR是挑战身份)和两个等长的挑战消息m0, m1M.

算法BIDR进行公钥生成询问, 获得其对应的元组〈IDR, XR, YR, cR〉, 并进行下述操作.

① 若cR=0, 则B结束, 并终止模拟;

② 否则, 令Q=aP, B随机选取WG, 计算C=mdH3(IDR, W)(其中, d←{0, 1}); 选取满足条件VP=n(XS+YS+ PPubhS)+kQ(其中, n=H2(IDS, C, XS, Q), k=H2(IDS, C, YS, Q)))和Q=U(XS+YS+PPubhS)的随机数$ U, V\in Z_{q}^{*}$, 发送挑战密文σ=(U, V, C)给A1.

敌手A1经过概率多项式时间次数的上述询问后输出对d的猜测d′←{0, 1}, 若d′=d, 则B输出$ abP=\frac{1}{{{h}_{R}}}[W-(r_{know}^{1}+r_{know}^{2})Q]$(其中, $ W=a({{X}_{R}}+{{Y}_{R}}+{{P}_{Pub}}{{h}_{R}})=$$ (r_{Know}^{1}+r_{Know}^{2}+b{{h}_{R}})Q, $ Q=aP, hR=H1(IDR, XR, YR))作为CDH困难问题的有效解; 否则, B没有解决CDH困难问题.

BA1模拟了真实的攻击环境, 若B在模拟过程中未终止, 并且敌手A1以不可忽略的概率ε1攻破了本文机制的机密性, 则B输出CDH困难问题的有效解.令事件ε表示在挑战阶段算法B输出了有效挑战密文, 即B选择了正确的参数W, 则$ \text{Pr}[\varepsilon]=\frac{1}{q};$事件ε1表示敌手对挑战身份IDR未进行私钥生成询问, 则$ \text{Pr}[{{\varepsilon }_{1}}]=1-\frac{{{q}_{SK}}}{{{2}^{k}}};$事件ε2表示询问阶段算法B未终止, 则$ \text{Pr}[{{\varepsilon }_{2}}]={{(1-\delta )}^{{{q}_{S}}\text{+}{{q}_{SK}}}};$事件ε3表示挑战阶段算法B未终止, 则Pr[ε3]=δ.

整个模拟过程中算法B不终止的概率为$ Pr[\varepsilon \wedge {{\varepsilon }_{1}}\wedge {{\varepsilon }_{2}}\wedge {{\varepsilon }_{3}}]=$$ \frac{1}{q}\left( 1-\frac{{{q}_{SK}}}{{{2}^{k}}} \right){{(1-\delta )}^{{{q}_{S}}\text{+}{{q}_{SK}}}}\delta .$由于$ \delta =\frac{1}{{{q}_{S}}+{{q}_{SK}}\text{+}1}$, 当qS+qSK足够大时, $ {{\left( 1-\frac{1}{{{q}_{S}}+{{q}_{SK}}\text{+}1} \right)}^{{{q}_{S}}\text{+}{{q}_{SK}}\text{+}1}}$趋向于e-1(e是自然对数底数), 因此, 模拟过程中算法B不终止的概率至少为$ \frac{1}{q}\left( 1-\frac{{{q}_{SK}}}{{{2}^{k}}} \right)\frac{1}{\text{e}({{q}_{S}}+{{q}_{SK}})}.$

综上所述, 若算法B在模拟过程中未终止, 且敌手A1以不可忽略的概率ε1攻破了本文方案的机密性, 则B至少以不可忽略的概率$ \frac{1}{q}\left( 1-\frac{{{q}_{SK}}}{{{2}^{k}}} \right)\frac{\varepsilon _{\text{I}}^{1}}{\text{e}({{q}_{S}}+{{q}_{SK}})}$输出CDH困难问题的有效解.

定理2(A类敌手攻击下的机密性).在随机谕言机模型中, 若存在敌手A1可在多项式时间内, 以不可忽略的概率ε1赢得相关游戏(游戏中A1最多进行qS次签密询问和qSK次私钥生成询问), 则存在算法B可在多项式时间内至少以不可忽略的概率$ \frac{1}{q}\left( 1-\frac{{{q}_{SK}}}{{{2}^{k}}} \right)\frac{\varepsilon _{\text{II}}^{1}}{\text{e}({{q}_{S}}+{{q}_{SK}})}$解决CDH困难问题.

证明:算法B是一个CDH困难问题的解决者, 输入为元组〈P, aP, bP〉, 其中, a, bZq*且未知, 目标是计算abP.算法B以敌手A1为子程序并充当游戏的挑战者.游戏开始后, B运行Setup算法, 并发送Params和主密钥SmskA1(A类敌手掌握主密钥), 维护列表L1, L2, L3, LSKLPK分别用于跟踪A1对谕言机H1, H2, H3的询问以及对私钥和公钥的提取询问, 初始时各列表均为空.

询问:敌手A1执行定理1中对谕言机H1H2H3的询问、私钥生成询问和签密询问.

公钥生成询问:当B收到A1IDi的公钥提取询问时, B进行下述操作.

① 若存在〈IDi, Xi, Yi, ci〉∈LPK, 则返回相应的公钥值PKi=〈Xi, Yi〉给A1;

② 否则, B选取随机数ci←{0, 1}, 且$ \text{Pr}[{{c}_{i}}=1]=\delta =\frac{1}{{{q}_{S}}+{{q}_{SK}}+1}$.若ci=0, B随机选取$ {{x}_{i}}, {{y}_{i}}, {{h}_{1}}\in Z_{q}^{*}$, 计算Xi=xiPYi=yiP-PPubh1满足〈*, Xi, Yi, *〉∉LPK, 否则, 需重新选取相应的随机数; 添加〈IDi, Xi, Yi, ci〉到LPK中, 返回PKi=〈Xi, Yi〉给A1; 同时, 添加〈IDi, xi, yi〉到LSK中; 添加〈IDi, Xi, Yi, h1〉到L1中.若ci=1, 则令Xi=rKnowPYi=bP(rKnowB已知的参数)满足〈*, Xi, *, *〉∉LPK, 否则, 需重新选取参数rKnow, 添加〈IDi, Xi, Yi, ci〉到LPK中, 添加〈IDi, Xi, Yi, h1〉到L1中, 并返回PKi=〈Xi, Yi〉给A1.

解签密询问:当B收到敌手A1对元组〈IDS, IDR, σ=(U, V, C)〉(假设敌手A1IDR已进行了公钥生成询问)的解签密询问时, BLPK中查询IDR所对应的元组〈IDR, XR, YR, cR〉, 并进行下述操作.

① 若存在且cR=0, 则B分别在LSKLPK查询IDRIDS对应的元组〈IDR, xR, yR〉和〈IDS, XS, YS〉, 对密文σ=(U, S, C)运行解签密算法UnSign(Params, IDS, PKS, IDR, SKR, σ), 并返回mA1, 若输入的密文无效, 则B输出特殊符号⊥;

② 若存在且cR=0, B在列表L1, L2L3中查询元组〈IDS, XS, YS, h1〉∈L1, 〈IDS, C, XS, Q, h2X〉∈L2, 〈IDS, C, YS, Q, h2Y〉∈L2, 和〈IDR, W, h3〉∈L3, 计算m=Ch3, 若等式$ VP=h_{2}^{X}({{X}_{S}}+{{Y}_{S}}+{{P}_{Pub}}{{h}_{1}})+h_{2}^{Y}Q$成立, 则返回mA1, 否则, B输出特殊符号⊥.

挑战:敌手A1输出两个身份IDS, IDRID和两个等长的挑战消息m0, m1M, 其中, IDR是挑战身份.

算法BIDR进行公钥生成询问, 获得其对应的元组〈IDR, XR, YR, cR〉, 并进行下述操作.

① 若cR=0, 则B结束, 并终止模拟;

② 否则, 令Q=aP, B随机选取WG, 计算C=mdH3(IDR, W)(其中, d←{0, 1}); 选取满足条件VP=n(XS+YS+ PPubhS)+kQ(其中, n=H2(IDS, C, XS, Q), k=H2(IDS, C, YS, Q))和Q=U(XS+YS+PPub+hS)的随机数$ U, V\in Z_{q}^{*}$, 发送挑战密文σ=(U, V, C)给A1.

敌手A1经过概率多项式时间次数的上述询问后输出对d的猜测d′←{0, 1}, 若d′=d, B输出abP=W-(rKnow+shR)Q (其中, Q=aP, hR=H1(IDR, XR, YR), W=(rKnow+b+shR)Q)作为CDH困难问题的解; 否则, B没有解决CDH困难问题.

由定理1证明可知, 若敌手A1以不可忽略的概率ε1攻破了本文机制的机密性, 则B至少以不可忽略的概率$ \frac{1}{q}\left( 1-\frac{{{q}_{SK}}}{{{2}^{k}}} \right)\frac{\varepsilon _{\text{II}}^{1}}{\text{e}({{q}_{S}}+{{q}_{SK}})}$输出CDH困难问题的有效解.

3.2 不可伪造性

定理3(A类敌手攻击下的不可伪造性).在随机谕言机模型中, 若存在一个敌手A2可在多项式时间内, 以不可忽略的概率ε2赢得相关游戏(游戏中A2最多进行qS次签密询问和qSK次私钥生成询问), 则存在算法B可在多项式时间内至少以不可忽略的概率$ \left( 1-\frac{{{q}_{SK}}}{{{2}^{k}}} \right)\frac{\varepsilon _{\text{I}}^{2}}{\text{e}({{q}_{S}}+{{q}_{SK}})}$解决DL困难问题.

证明:算法B是一个DL困难问题的解决者, 输入为元组〈P, bP〉, 其中, bZq*且未知, 目标是计算bZq*.算法B以敌手A2为子程序并充当游戏的挑战者.游戏开始后, B运行Setup算法, 并发送公开参数ParamsA2, 令PPub=bP(意味着主密钥为b), 维护列表L1, L2, L3, L4, LSKLPK分别用于跟踪A2对谕言机H1, H2的询问及对私钥和公钥的提取询问, 初始时各列表均为空.

询问:敌手A2执行定理1中对谕言机H1, H2的询问及公钥提取、私钥提取和公钥替换询问.

签名询问:当算法B收到敌手A2关于(m, IDS)(假设A2IDS已进行了公钥生成询问)的签名询问时, B首先在列表LPK中查询IDS所对应的元组〈IDS, XS, YS, cS〉.

① 若cS=1, 则B放弃, 并终止模拟;

② 否则, BLSK中查询IDS对应的元组〈IDS, xS, yS〉, 运行算法Sign(Params, IDS, SKS, m), 生成相应的签名σ=(U, V, m), 并将其发送给A2.

签名验证询问:当B收到敌手A2对〈IDS, σ=(U, V, m)〉(假设A2IDS已进行了公钥生成询问)的签名验证询问时, BLPK中查询IDS对应的元组〈IDS, XS, YS, cS〉.

① 若存在且cS=0, 则B对签名σ=(U, V, m)运行UnSign(Params, IDS, PKS, σ), 并返回mA2, 若输入的签名无效, 则B输出特殊符号⊥;

② 若存在且cS=1, 则BL1L2中查询元组〈IDS, XS, YS, h1〉∈L1, 〈IDS, m, XS, Q, h2X〉∈L2和〈IDS, m, YS, Q, h2Y〉∈L2, 若等式$ VP=h_{2}^{X}({{X}_{S}}+{{Y}_{S}}+{{P}_{Pub}}{{h}_{1}})+h_{2}^{Y}Q$成立, 则返回mA2, 否则, B输出特殊符号⊥;

③ 若列表LPK中不存在元组〈IDS, XS, YS〉(即公钥被替换), BL1L2中查询元组$ \langle I{{D}_{S}}, {{{X}'}_{S}}, {{{Y}'}_{S}}, {{h}_{1}}\rangle \in {{L}_{1}}, $ $ \langle \mathit{I}{{\mathit{D}}_{\mathit{S}}},\mathit{m},{{\mathit{{X}'}}_{\mathit{S}}},\mathit{Q},\mathit{{h}'}_{2}^{\mathit{X}}\rangle \in {{\mathit{L}}_{2}}$$ \langle \mathit{I}{{\mathit{D}}_{\mathit{S}}},\mathit{m},{{\mathit{{Y}'}}_{\mathit{S}}},\mathit{Q},\mathit{{h}'}_{2}^{\mathit{Y}}\rangle \in {{\mathit{L}}_{2}}$, 若等式$ \mathit{VP}=\mathit{{h}'}_{2}^{\mathit{X}}({{\mathit{{X}'}}_{\mathit{S}}}+{{\mathit{{Y}'}}_{\mathit{S}}}+{{\mathit{P}}_{\mathit{Pub}}}{{\mathit{h}}_{1}})+\mathit{{h}'}_{2}^{\mathit{Y}}\mathit{Q}$成立, 则返回mA2否则, B输出特殊符号⊥.

伪造:经过多项式有界次上述询问后, 敌手A2输出对IDSm的伪造签名σ=(U, V, m)(伪造前A2IDS已进行了公钥生成询问), 同时B知道被替换的公钥; 若A2伪造签名成功, 并且IDSLPK中对应元组〈IDS, XS, YS, cS〉中的cS=1, 则B输出$ b=\frac{1}{U{{h}_{S}}}[u-U(r_{Know}^{1}+r_{Know}^{2})]$(其中, hS=H1(IDS, XS, YS), $ U=u{{(r_{Know}^{1}+r_{Know}^{2}+b{{h}_{S}})}^{-1}}$)作为DL困难问题的有效解; 否则, B没有解决DL问题.

令事件ε′表示敌手对挑战身份IDS未进行私钥提取询问, 则$ \text{Pr}[\varepsilon]=1-\frac{{{q}_{SK}}}{{{2}^{k}}};$事件ε″表示询问阶段算法B未终止, 则$ \text{Pr}[\varepsilon]={{(1-\delta )}^{{{q}_{S}}\text{+}{{q}_{SK}}}};$事件ε'''表示伪造阶段敌手A2伪造合法签名后算法B未终止, 则$ \text{Pr}[{\varepsilon }''']=\delta ;$则模拟过程中B不终止的概率为$ \text{Pr}[{\varepsilon }'\wedge {\varepsilon }''\wedge {\varepsilon }''']=\left( 1-\frac{{{q}_{SK}}}{{{2}^{k}}} \right){{(1-\delta )}^{{{q}_{S}}\text{+}{{q}_{SK}}}}\delta, $由于$ \delta =\frac{1}{{{q}_{S}}+{{q}_{SK}}\text{+}1}, $$ {{q}_{S}}\text{+}{{q}_{SK}}$足够大时, $ {{\left( 1-\frac{1}{{{q}_{S}}+{{q}_{SK}}\text{+}1} \right)}^{{{q}_{S}}\text{+}{{q}_{SK}}\text{+}1}}$趋向于e-1, 因此, 模拟过程中算法B不终止的概率至少为$ \left( 1-\frac{{{q}_{SK}}}{{{2}^{k}}} \right)\frac{1}{\text{e}({{q}_{S}}+{{q}_{SK}})}.$

综上所述, 若算法B在模拟过程中未终止, 并且敌手A2以不可忽略的概率ε2攻破本文方案的不可伪造性, 则B能以不可忽略的概率$ \left( 1-\frac{{{q}_{SK}}}{{{2}^{k}}} \right)\frac{\varepsilon _{\text{I}}^{2}}{\text{e}({{q}_{S}}+{{q}_{SK}})}$输出DL困难问题的有效解.

定理4(A类敌手攻击下的不可伪造性).在随机谕言机模型中, 若存在一个敌手A2可在多项式时间内, 以不可忽略的概率ε2赢得相关游戏(游戏中, A2最多进行qS次签密询问和qSK次私钥生成询问), 则有算法B可在多项式时间内至少以不可忽略的概率$ \left( 1-\frac{{{q}_{SK}}}{{{2}^{k}}} \right)\frac{\varepsilon _{\text{II}}^{2}}{\text{e}({{q}_{S}}+{{q}_{SK}})}$解决DL困难问题.

证明:算法B是一个DL困难问题的解决者, 输入为元组〈P, bP〉, 其中, bZq*且未知, 目标是计算bZq*.算法b以敌手A2为子程序并充当游戏的挑战者.B运行Setup算法, 发送Params和主密钥sA2(A类敌手掌握主密钥), B维护列表L1, L2, LSKLPK分别用于跟踪A2对谕言机H1, H2的询问以及对私钥和公钥的提取询问, 初始时各列表均为空.

询问:敌手A2执行定理2中对谕言机H1, H2的询问、私钥提取和公钥提取询问; 执行定理3中的签名询问.

签名验证询问:当B收到敌手A2对元组〈IDS, σ=(Q, S, m)〉(假设A2IDS已进行了公钥生成询问)的解签密询问时, BLPK中查询获得IDS对应的元组〈IDS, XS, YS, cS〉, 并进行下述操作.

① 若cS=0, 则B对签名σ=(Q, V, m)运行UnSign(Params, IDS, PKS, σ), 并返回mA2若输入的签名无效, 则B输出特殊符号⊥;

② 若cS=1, BL1L2中查询〈IDS, XS, YS, h1〉∈L1, $ \langle I{{D}_{S}}, m, {{X}_{S}}, Q, h_{2}^{X}\rangle \in {{L}_{2}}$$ \langle I{{D}_{S}}, m, {{Y}_{S}}, Q, h_{2}^{Y}\rangle \in {{L}_{2}}$, 若等式$ VP=h_{2}^{X}({{X}_{S}}+{{Y}_{S}}+{{P}_{Pub}}{{h}_{1}})+h_{2}^{Y}Q$成立, 则返回mA2否则, B输出特殊符号⊥.

伪造:经过多项式有界次上述询问后, 敌手A2输出对IDSm的伪造签名σ=(Q, V, m)(伪造过程中A2IDS已进行了公钥生成询问); 若签名伪造成功, 且LPKIDS对应元组〈IDS, XS, YS, cS〉中的cS=1, 则算法B输出$ b=\frac{1}{U}[u-U({{r}_{Know}}+s{{h}_{S}})]$(其中, hS=H1(IDS, XS, YS), $ U=u{{({{r}_{Know}}+b+s{{h}_{S}})}^{-1}}$)作为DL困难问题的有效解; 否则, B没有解决DL困难问题.

由定理3可知, 若算法B在模拟过程中未终止, 且敌手A2以不可忽略的概率ε2攻破本文方案的不可伪造性, 则B能以不可忽略的概率$ \left( 1-\frac{{{q}_{SK}}}{{{2}^{k}}} \right)\frac{\varepsilon _{\text{II}}^{2}}{\text{e}({{q}_{S}}+{{q}_{SK}})}$输出DL困难问题的有效解.

4 机制分析 4.1 效率分析

本节将从计算效率和通信开销两个方面对本文方案的执行效率进行分析, 表 1给出了本文方案与其他相关方案[8, 11-18]的效率比较结果.与现有方案[8, 11-18]进行比较时, 计算开销主要取决于签密和签密验证算法的计算量, 且计算量主要统计群上点乘运算、指数运算和双线性映射的执行次数, 对异或和∈Zq*上的相关运算并不进行统计; 同时也未统计可提前计算的相关运算.通信开销主要通过密文的长度来衡量.令Ee表示双线性映射操作, EM表示群上的点乘运算, EQ表示群上的指数运算, 其中, EeEMEeEQ; lm表示明文消息的长度; |G|表示群上相应元素的长度; |Zq*|表示∈Zq*中元素的长度.

Table 1 Comparison of efficiency with the previous works 表 1 效率比较结果

表 1所示, 在计算效率方面, 由于文献[17-21]涉及双线性映射操作, 而文献[8, 14, 16]的运算量较大, 导致上述方案[8, 14, 16-21]的计算效率较低.在通信开销方面, 由于文献[16-18]的密文较长(文献[16]的密文长度并未统计密文中的代理授权部分), 导致传输代价较大, 其他方案[11-13, 15]和本文方案具有较高的计算效率和传输效率.由表 1可知, 与现有的无证书签密方案[11-21]相比, 本文机制的计算效率和通信开销更优.

4.2 安全性分析

本节针对相关方案构造具体的保密性或不可伪造性攻击算法.

4.2.1 保密性攻击

以文献[12]中方案为例构造具体的保密性攻击算法.设敌手AAA类敌手.在文献[12]的定义1和定义2游戏中, 敌手A向谕言机发送的挑战信息包括:两个等长的消息m0, m1M和两个挑战身份标识IDS, IDRID, 其中, 不能对IDR是挑战身份且不能对其执行私钥提出询问, 在挑战阶段, 敌手A可获知IDS的公钥PKS=(XS, RS).

签密谕言机收到敌手A的签密询问后, 随机选取b←{0, 1}, 并计算对消息mb的挑战密文σ′=(h′, S′, C′); 当敌手A收到谕言机的挑战密文σ′后, Ab做出猜测, 首先令b=0, A验证等式h′=H2(S′(XS+RS+h1y+hP)║IDSm0)是否成立, 若成立, 则说明消息m0是挑战密文σ′的对应明文, 否则m1σ′的对应明文.同理, 对文献[9, 11, 13, 15]中的方案, 可使用同样的方法对其进行保密性攻击.因此, 文献[9, 11-13, 15]中的方案对AA类敌手均不具有密文的保密性.由于密文的合法性验证过程中的相关参数均为发送者的公开信息, 即明文m与部分密文h之间形成了对应关系, 因此, 敌手可通过尝试验证的策略完成机密性攻击.

4.2.2 不可伪造性攻击

文献[13]指出文献[12]中的方案对A类敌手不具备其所声称的不可伪造性, 并构造了具体的不可伪造性攻击算法.由该攻击算法可知, 文献[11]的方案也无法满足其所声称的对A类敌手的不可伪造性.本文以文献[12]为例, 构造了新的不可伪造性的攻击算法, 具体过程如下所示.

A类敌手A1获悉发送者Alice的公钥PKA=(RA, XA)后, 使用伪造公钥替代Alice的公钥生成合法的伪造签密密文.敌手A1与接收者Bob间的具体消息交互过程如下所示.

A1获悉Alice的公钥PKA=(RA, XA)和身份标识IDA后, 计算XA=-H1(IDA, RA)y-RA(其中, y是系统公钥);

A1使用PK'A=(RA, X'A)代替Alice的原始公钥PKA=(RA, XA), 则此时密文接收者Bob认为Alice的公钥就是PK'A=(RA, X'A);

③ 敌手A1生成Alice的伪造签密密文:随机选取rZq*, 首先计算R=rP; 然后计算h1=H1(IDB, RB), h′=H2(RIDAm); 得到$ {S}'=\frac{r}{{{h}'}}$, C′=H3(r(RB+XB+yh1))⊕m, 发送密文消息σ′=(h′, S′, C′)给Bob.

Bob收到密文σ′=(h′, S′, C′)后, 合法性验证过程如下.

① 计算$ {{{h}'}_{1}}={{H}_{1}}(I{{D}_{A}}, {{R}_{A}});$

② 计算$ {{V}_{B}}={S}'({{{X}'}_{A}}+{{R}_{A}}+y{{{h}'}_{1}}+{h}'P)({{x}_{B}}+{{D}_{B}}), $恢复消息${m}'={{H}_{3}}({{V}_{B}})\oplus {C}'.$由下述等式可知m′=m;

$ {{V}_{B}}={S}'({{{X}'}_{A}}+{{R}_{A}}+y{{{h}'}_{1}}+{h}'P)({{x}_{B}}+{{D}_{B}})={S}'({h}'P)({{x}_{B}}+{{D}_{B}})=\\ rP({{x}_{B}}+{{D}_{B}})=r({{R}_{B}}+{{X}_{B}}+y{{h}_{1}}) $ (4)

③ 验证$ {h}'={{H}_{2}}({S}'({{{X}'}_{A}}+{{R}_{A}}+y{{{h}'}_{1}}+{h}'P)||I{{D}_{A}}||{m}')$是否成立, 若成立, 则Bob认为σ′=(h′, S′, C′)是由Alice生成的合法签密密文, 由等式(5) 可知, 上述验证成立.

$ {S}'({{{X}'}_{A}}+{{R}_{A}}+y{{{h}'}_{1}}+{h}'P)={S}'({h}'P)=rP=R $ (5)

由等式(4) 和等式(5) 可知, 伪造密文σ′=(h′, S′, C′)通过了密文接收者Bob的合法性验证, 即敌手A1具有伪造Alice合法密文的能力.

综上所述:在安全性方面, 文献[11-15]中的方案均存在安全性缺陷, 其中, 本文通过构造具体的攻击算法证明了文献[11-13, 15]的方案均不满足其所声称的机密性; 文献[14, 17]的方案不具有公开验证性.同时, 文献[11, 12]中的方案对A类敌手不具备其所声称的不可伪造性.文献[19]指出, 若获得文献[18]的完整签密密文, 即使是一般敌手(既不替换用户的公钥也不用获知系统主密钥)也能掌握发送者的完整私钥, 导致该机制不具有其所声称的机密性、不可伪造性和不可否认性等安全属性.因此, 相较于现有的无证书签密方案[8, 11-18], 本文机制的安全性更优.

5 改进机制

由于求逆运算在签密算法中的使用在一定程度上会降低本文机制Π的执行效率, 因此, 本节在Π的基础上提出一种改进的无证书签密机制Π′=(Setup′, KeyGen′, Sign′, UnSign′), 其中, 算法Setup′和KeyGen′与机制Π的算法SetupKeyGen一致; 签密Sign′和解签密UnSign′算法分别描述如下.

5.1 签密

若要发送消息m给接收者Bob, 发送者Alice进行下述操作.

① 选取随机秘密数uZq*, 计算Q=uP;

② 计算W=u(XBob+YBob+PPubhBob), 其中, hBob=H1(IDBob, XBob, YBob);

③ 生成密文C=mH3(IDBob, W)和签名V=n(xAlice+yAlice)+uk, 其中, n=H2(IDAlice, C, XAlice, Q), k=H2(IDAlice, C, YAlice, Q);

④ 发送密文σ=(Q, V, C)给接收者Bob.

5.2 解签密

收到发送者Alice的密文σ=(Q, V, C)后, 接收者Bob进行下述操作.

若等式(6) 成立, 则计算W′=(xBob+yBob)Q, 恢复明文消息m=CH3(IDBob, W′); 否则, 输出⊥表示输入的密文无效.

$ VP=n({{X}_{Alice}}+{{Y}_{Alice}}+{{P}_{Pub}}{{h}_{Alice}})+kQ $ (6)

其中, hAlice=H1(IDAlice, XAlice, YAlice), n=H2(IDAlice, C, XAlice, Q), k=H2(IDAlice, C, YAlice, Q).

改进机制Π′与原始机制Π具有相同的安全性.受篇幅所限, 本文不再赘述机制Π′的安全性证明过程, 其证明过程与机制Π相类似.

6 结束语

签密作为一种较为理想的数据信息安全传输方法, 其安全性和计算开销对其实际应用起着至关重要的作用.本文提出了不使用双线性映射的高效、安全无证书签密方案, 在随机谕言机模型下, 基于CDH假设和DL困难问题证明了本文方案的安全性.分析可知, 本文方案还具有公开验证和不可否认等安全属性.相较于现有的无证书签密方案, 本文方案的计算和通信效率及安全性更优.由于具有更优的性能, 本文方案在实际环境中具有更广的应用前景.

参考文献
[1]
Zheng YL.Digital signcryption or how to achieve cost (signature and encryption)≤cost (signature)+cost (encryption).In: Proc.of the 17th Annual Int'l Cryptology Conf.on Advances in Cryptology (CRYPTO'97).Santa Barbara, 1997, (8):17-21.[doi: 10.1007/BFb0052234]
[2]
Al-Riyami SS, Paterson KG.Certificateless public key cryptography.In: Proc.of the 9th Int'l Conf.on the Theory and Application of Cryptology and Information Security, Advances in Cryptology (ASIACRYPT 2003).2003.[doi: 10.1007/978-3-540-40061-5_ 29]
[3]
Shamir A.Identity-Based cryptosystems and signature schemes.In: Advances in Cryptology (CRYPTO'84).Santa Barbara, 1984, (8):19-22.[doi: 10.1007/3-540-39568-7_5]
[4]
Barbosa M, Farshim P.Certificateless signcryption.In: Proc.of the ACM Symp.on Information, Computer and Communications Security.Tokyo, 2008, (3):18-20.[doi: 10.1145/1368310.1368364]
[5]
Yu G, Yang HZ, Fan SQ, Shen Y, Han W.Efficient certificateless signcryption scheme.In: Proc.of the 3rd Int'l Symp.on Electronic Commerce and Security Workshops.Guangzhou, 2010.55-59.http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.403.7629
[6]
Wu CH, Chen ZX.A new efficient certificateless signcryption scheme.In: Proc.of the Int'l Symp.on Information Science and Engineering.Washington, 2008, (12):20-22.[doi: 10.1109/ISISE.2008.206]
[7]
Barreto PSLM, Deusajute AM, De E, Cruz S, Pereira GCCF, Da Silva RR.Toward efficient certificateless signcryption from (and without) bilinear pairings.2008.http://ceseg.inf.ufpr.br//anais/2008/data/pdf/st03_03_artigo.pdf
[8]
Sharmila DS, Vivek SS, Pandu RC.Cryptanalysis of certificateless signcryption schemes and an efficient construction without pairing.In: Proc.of the 5th Int'l Conf.on Information Security and Cryptology.Beijing, 2009.75-92.[doi: 10.1007/978-3-642-16342-5_6]
[9]
Yu HF, Yang B. Provably secure certificateless hybrid signcryption. Chinese Journal of Computers, 2015, 38(4): 804–813(in Chinese with English abstract). http://www.cnki.com.cn/Article/CJFDTOTAL-JSJX201504009.htm
[10]
Li FG, Masaaki S, Tsuyoshi T. Certificateless hybrid signcryption. Mathematical and Computer Modelling, 2013, 57(3-4): 324–343. [doi:10.1016/j.mcm.2012.06.011]
[11]
Zhu H, Li H, Wang YM. Certificateless signcryption scheme without pairing. Journal of Computer Research and Development, 2010, 47(9): 1587–1594(in Chinese with English abstract). http://www.cnki.com.cn/Article/CJFDTOTAL-WJFZ201707025.htm
[12]
Liu WH, Xu CX. Certificateless signcryption scheme without bilinear pairing. Ruan Jian Xue Bao/Journal of Software, 2011, 22(8): 1918–1926(in Chinese with English abstract). http://www.jos.org.cn/1000-9825/3891.htm [doi:10.3724/SP.J.1001.2011.03891]
[13]
He DB. Security analysis of a certificateless signcryption scheme. Ruan Jian Xue Bao/Journal of Software, 2013, 24(3): 618–622(in Chinese with English abstract). http://www.jos.org.cn/1000-9825/4245.htm [doi:10.3724/SP.J.1001.2013.04245]
[14]
Xie WJ, Zhang Z.Certificateless signcryption without pairing.2010.http://eprint.iacr.org/2010/187.pdf
[15]
Jing XF.Provably secure certificateless signcryption scheme without pairing.In: Proc.of the Int'l Conf.on Electronic and Mechanical Engineering and Information Technology.Harbin, 2011.4753-4756.[doi: 10.1109/EMEIT.2011.6024098]
[16]
Qi YF, Tang CM, Lou Y, Xu MZ, Guo BA. Certificateless proxy identity-based signcryption scheme without bilinear pairings. China Communications, 2013, 22(11): 37–41. [doi:10.1109/CC.2013.6674208]
[17]
Li F, Han Y, Jin C. Certificateless online/offline signcryption for the Internet of Things. Wireless Networks, 2015: 1–14. [doi:10.1007/s11276-015-1145-3]
[18]
Luo M, Tu M, Xu J. A security communication model based on certificateless online/offline signcryption for Internet of Things. Security & Communication Networks, 2013, 7(10): 1560–1569. [doi:10.1002/sec.836]
[19]
Shi W, Kumar N, Gong P, Chilamkurti N, Chang H. On the security of a certificateless online/offline signcryption for Internet of Things. Peer-to-Peer Networking and Applications, 2015, 37(1): 1–5. [doi:10.1007/s12083-014-0249-3]
[20]
Yin A, Liang H. Certificateless hybrid signcryption scheme for secure communication of wireless sensor networks. Wireless Personal Communications, 2015, 80(3): 1049–1062. [doi:10.1007/s11277-014-2070-y]
[21]
Huang Q, Wong DS.Generic certificateless encryption in the standard model.In: Proc.of the Advances in Information and Computer Security, the 2nd Int'l Workshop on Security.Nara, 2007.278-291.[doi: 10.1007/978-3-540-75651-4_19]
[9]
俞惠芳, 杨波. 可证安全的无证书混合签密. 计算机学报, 2015, 38(4): 804–813. http://www.cnki.com.cn/Article/CJFDTOTAL-JSJX201504009.htm
[11]
朱辉, 李晖, 王育民. 不使用双线性对的无证书签密方案. 计算机研究与发展, 2010, 47(9): 1587–1594. http://www.cnki.com.cn/Article/CJFDTOTAL-WJFZ201707025.htm
[12]
刘文浩, 许春香. 无双线性配对的无证书签密方案. 软件学报, 2011, 22(8): 1918–1926. http://www.jos.org.cn/1000-9825/3891.htm [doi:10.3724/SP.J.1001.2011.03891]
[13]
何德彪. 无证书签密机制的安全性分析. 软件学报, 2013, 24(3): 618–622. http://www.jos.org.cn/1000-9825/4245.htm [doi:10.3724/SP.J.1001.2013.04245]