基于异构密码系统的混合盲签密方案

2018-08-17 01:21牛淑芬
计算机工程 2018年8期
关键词:私钥密文异构

牛淑芬,,, ,

(西北师范大学 计算机科学与工程学院,兰州 730070)

0 概述

异构密码系统中的消息在传输过程中需要具备保密性和认证性,数字签密[1]使得签密密文同时具有保密性和认证性。近年来很多学者研究了各种签密方案[2-4],包括基于身份的签密方案[5-8]和无证书签密方案[9],其中不乏对特殊签密的研究,例如,代理签密方案[10-12]和异构签密方案[13-15]。文献[16]提出了从传统公钥密码到身份公钥密码的异构签密方案。文献[17]提出了2个异构签密方案,第1个方案是由公钥基础设施(Public Key Infrastructure,PKI)到基于身份的密码体制(Identity-based Cryptosystem,IBC),第2个方案是由IBC到PKI。文献[18]提出了匿名CLPKC-TPKI异构签密方案。文献[19]提出了异构系统下的双向签密方案。但现有的异构密码系统大多采用公钥加密技术,而公钥加密技术由于对长消息的加密速度较慢,通常只适合加密短消息。在实际的安全通信中往往使用混合加密或者混合签密的方式。文献[20]提出了新的基于身份的混合签密。文献[21]提出了可证安全的无证书混合签密。上述文献都是签名者在知道明文的环境下进行的签名,在特殊的环境下签名者对于明文是未知的。为解决这一类特殊情况的签名,学者们首次提出了对盲签名的定义并进行了深入研究[22-24]。此后,又有学者提出了一系列盲签密方案[25-27]。

上述异构方案均没有实现既可对任意长度的消息签密的方案,也没有满足在特殊环境中明文消息对签名者具有盲性的特点,同时,在不同的密码体制内共享相同的主密钥是不现实的。为此,本文提出一个基于异构密码系统的混合盲签密方案,该方案是一个从IBC到无证书密码体制(Certificateless Cryptosystem,CLC)(IBC→CLC)的异构签密算法。

1 双线性映射

设G1是生成元为P、阶为q的循环加法群,G2是阶为q的循环乘法群,e:G1×G1→G2是一个双线性映射,并且具有以下3个性质。

2)非退化性:e(P,P)≠1G2。

3)可计算性:任意P,Q∈G1,存在一个有效的算法计算e(P,Q)。

2 具体方案

2.1 系统建立算法

2.2 IBC密钥生成算法

IBC密钥生成算法由PKG完成,输入用户身份IDA,计算用户私钥SA=s1QA,其中,QA=H1(IDA),最后通过安全方式发送给用户。

2.3 CLC密钥生成算法

CLC密钥生成算法分为以下3个子算法:

2)用户密钥生成算法。输入系统参数params和用户身份IDB,输出IDB的秘密值xB和公钥PB=xBP。

3)私钥生成算法。输入系统参数params、部分私钥DB和秘密值xB,输出一个完全的私钥SB=xBDB。

2.4 签密

A为盲签密者,M为消息拥有者,签密过程如下:

3)A计算V=(a+h)SA,W=e(PB,P2QAQB)a,然后将(V,W)发送给M。

4)M计算W*=Wr,V*=r-1V,K=H2(U1,U2,U3,W*,rPB,IDB),c=DEM.Enc(K,m)。

5)M输出σ=(c,U1,U2,U3,V*,R)。

2.5 解签密

验证e(P1U1,V*)=e(P2,R+hQA)是否成立,若成立,则进行以下操作:

1)B计算W*=e(U1,PR)SB。

2)B计算K=H2(U1,U2,U3,W*,xBU1,IDB)。

3)B计算m=DEM.Dec(K,c)。

4)输出m或⊥。

3 正确性分析

正确性分析推导过程如下:

e(U1,SBPR)=e(U1,PR)SB

e(P2,aQA+hQA)=e(P2,R+hQA)

4 安全性分析

4.1 盲性

盲性指签名者对所签署的内容是不可见的。由签密过程2)可知,M计算U1=rP,U2=rR,U3=rQA,t=H2(U2,m),h=H3(U1,U2,U3,t,IDA,QA),其中,r是盲因子,t=H2(U2,m)是对消息的盲化过程,最后将h发送给A。由签密过程3)可知,当M收到(V,W)时,对签名V进行去盲,去盲过程为V*=r-1V。显然,盲签名者A不知道所签署的内容。

4.2 不可跟踪性

不可跟踪性指A对签署的密文具有不可跟踪的特性。当B将密文(c,U1,U2,U3,V*,R)公开时,虽然A拥有(a,R,h,V,W,SA),但是不能通过密文(c,U1,U2,U3,V*,R)计算出(s,r,W*,xB,DB,SB),所以本文方案具有不可跟踪的特性。

4.3 保密性

保密性指敌手通过密文σ计算不出消息m。假设除了M和B之外,还有其他用户(假设是A)能从密文σ中得到消息m。由于在盲签密过程中M给的是关于消息的哈希函数,A想要得到消息m只能通过密文σ得到,因此A必须计算W*和K才能恢复出消息m。已知A拥有的值有(c,U1,U2,U3,V*,R,h,V,W,SA),但是A依然从等式h=H3(U1,U2,U3,t,IDA,QA),t=H2(U2,m)中无法恢复消息m,因为等式含有未知数m和t。A要求解双线性映射的逆运算是困难的,不能通过W*=Wr=e(PB,P2QAQB)ar计算出W*。所以,除M和B知道消息m之外,其他用户无法得知消息m。

4.4 公开验证性

公开验证性指在不需要B的私钥SB的情况下,任意第三方验证者都能直接通过(U1,U2,U3,V*,h,R)验证盲签密的有效性。

任何第三方验证者从B处得到(U1,U2,U3,V*,h,R)并验证等式e(P1U1,V*)=e(P2,R+hQA)是否成立,如果成立,验证通过;否则,该盲签密无效。在上述过程中无需A和B的私钥SA和SB,所以本文方案具有公开验证性。

4.5 不可否认性

不可否认性指A如果协助M创建一个有效盲签名之后,就不可否认自己的盲签名。

如果A否认自己的盲签名时,因为本文方案具有公开验证性,任意第三方得到(U1,U2,U3,V*,h,R)并验证等式e(P1U1,V*)=e(P2,R+hQA)是否成立,若成立,(U1,U2,U3,V*,h,R)是消息m的有效盲签名。所以接收者B只需公开(U1,U2,U3,V*,h,R)就可证明本文方案具有不可否认的特性,无需公开私钥SB。

4.6 前向安全性

前向安全性指即使A的私钥SA意外泄漏,敌手也能恢复A签署消息的明文。

如果敌手已经在公开信道上截获密文(c,U1,U2,U3,V*,R),同时盲签名者A的私钥SA意外泄漏,因为敌手不知道B的私钥SB,所以不能从W*=e(U1,PR)SB,K=H2(U1,U2,U3,W*,xBU1,IDB)中获得对称密钥K。如果敌手想要得到对称密钥K,只能通过W*=Wr=e(PB,P2QAQB)ar,K=H2(U1,U2,U3,W*,rPB,IDB)得到,但等式内含a、r、W*3个未知数。因为敌手需要解决椭圆曲线离散困难问题和离散对数困难问题,所以即使拥有截获的R、U1、U2、U3,也不能通过R=aQA,U1=rP,U2=rR,U3=rQA计算出a和r。因此,无法获得对称密钥K,仅通过密文恢复不出明文。所以本文方案具有前向安全的特性。

4.7 不可伪造性

不可伪造性指敌手无法通过一个消息m伪造合法盲签密。

本文方案的签名虽然有A选择的随机数a和A的私钥SA,然而因为A需要解决单向散列函数的逆的困难问题,通过h=H3(U1,U2,U3,t,IDA,QA),t=H2(U2,m)无法恢复出消息m,并且A不知道M选择的随机数r,所以A不能伪造盲签密。

如果B称(c,U1,U2,U3,V*,R)是来自M的密文,需要通过W*=Wr计算出r,并伪造(U1,U2,U3,V*),使伪造数据能够通过验证。但是B无从得知A选择的随机数a,通过W*=Wr=e(PB,P2QAQB)ar计算不出r。即使B已经在公开信道上截获了W,但是需要解决双线性映射的逆的困难问题,通过W*=Wr计算不出r。所以B不能伪造盲签密。

如果M想要伪造一个合法的盲签密,首先他不知道A的私钥SA,其次他不知道A选择的随机数a。即使A的私钥SA意外泄漏,M想要通过等式R=aQA计算出a是不可行的,因为M需要解决离散对数困难问题,所以M无法伪造盲签密。

如果任意第三方敌手想伪造合法盲签密,即使他拥有从公开信道上截获的(c,U1,U2,U3,V*,R,h,W,V,SA,DB),但他不知道(s,xB,SB,a,r),所以一样无法伪造盲签密。

5 效率分析

本节通过理论和数值实验进行效率分析。在理论分析中,由于现有可供查阅的文献中没有IBC→CLC的异构混合盲签密方案。因此,无法与同类IBC→CLC的异构混合盲签密方案进行效率比较。文献[26]是基于无证书的盲签密方案。比较2个方案的计算复杂性,主要包括4种运算:点乘运算(M),指数运算(E),对运算(P),异或运算(X)。由表1可知,在签密过程中本文方案的指数运算比文献[26]方案少2个,并且没有异或运算,在解签密过程中本文方案比文献[26]方案少1个异或运算。所以本文方案明显优于文献[26]方案。

表1 2种方案计算成本比较

在数值实验分析中,利用C语言的PBC库对IBC→CLC的异构混合盲签密方案进行仿真模拟。在仿真过程中,群G1、G2的长度为1 024 bit,利用的参数类型为椭圆曲线y2=x3+xmodq,用户身份为160 bit,消息取160 bit,并且用户身份和消息随机生成。仿真环境的配置如表2所示,双线性对包参数Type的性质如表3所示。

表2 实验环境配置

表3 各参数的取值

本文方案与文献[26]方案在通信过程中都是单消息。在数值实验分析中,本文方案的总体运行时间、签密运行时间、解签密运行时间取50次运行结果的平均值,如表4所示。

表4 本文方案运行时间 s

为了比较本文方案和文献[26]方案在签密和解签密过程中的计算效率,对本文方案和文献[26]方案进行同样的仿真,仿真结果取50次运行结果的平均值,如图1所示,从中可以看出,本文方案的运行时间明显小于文献[26]方案的运行时间。

图1 2种方案的计算效率对比

6 结束语

现有的异构签密方案的系统主密钥的产生方式大多相同,不但不能加密任意长度的消息,而且不具备盲签密的能力。为此,本文提出一个由IBC到CLC的基于异构密码系统的混合盲签密方案。PKG和KGC分别在IBC密码体制和CLC密码体制中产生各自的系统主密钥,而且具有可加密任意长消息和盲签密的能力。与现有的签密方案相比,该方案具有速度快、效率高、计算量小等特点,在随机预言模型下满足盲性、保密性、不可跟踪性、公开验证性、不可否认性、不可伪造性和前向安全性。

猜你喜欢
私钥密文异构
清扫机器人避障系统区块链私钥分片存储方法
试论同课异构之“同”与“异”
一种支持动态更新的可排名密文搜索方案
比特币的安全性到底有多高
基于模糊数学的通信网络密文信息差错恢复
Spatially defined single-cell transcriptional profiling characterizes diverse chondrocyte subtypes and nucleus pulposus progenitors in human intervertebral discs
吴健:多元异构的数字敦煌
一种基于虚拟私钥的OpenSSL与CSP交互方案
异构醇醚在超浓缩洗衣液中的应用探索
一种基于密文分析的密码识别技术*