一种基于异构系统的可否认认证的加密方法和系统与流程

文档序号:18411187发布日期:2019-08-13 18:13阅读:285来源:国知局

本发明涉及一种可否认认证的加密方法和系统,特别是涉及一种发送者属于基于身份环境、接收者属于公钥基础设施环境的可否认认证的加密方法和系统。



背景技术:

与传统的认证相比,可否认的认证使得指定的接收者能够确定给定消息的来源,但是任何第三方都不能确定给定消息的来源。由于可否认认证的特殊性质,所以它可以应用在隐私保护的场合中,比如电子选票、网络购物以及基于位置的隐私保护等系统中。通常,在可否认的认证方案中,消息都是以明文的形式进行传输的,但是,对于需要隐私保护的用户来说,这可能会损害他们的利益。为了确保传输消息的安全性,对传输的消息加密,让它们以密文的形式呈现。

对于大容量的消息来说,实现秘密通信最有效的方式就是使用混合加密技术。混合加密把加密过程分成了两部分:一部分使用公钥技术来加密一次性对称密钥;另一部分使用对称密钥来加密真正的消息。在这种构造下,公钥部分被称为密钥封装机制(keyencapsulationmechanism,kem),对称部分被称为数据封装机制(dataencapsulationmechanism,dem)。tag-kem/dem方案的提出,使方案的描述更加简单,并且具有更好的一般性安全规约。

在基于公钥基础设施(publickeyinfrastructure,pki)的密码系统中,在使用用户的公钥之前,需要先验证公钥证书的合法性;此外,公钥证书的存储、分发和撤销都需要大量的计算开销。为了解决公钥证书的管理问题,shamir提出了基于身份的密码系统(identity-basedcryptograph,简称ibc)。在这种系统中,用户的公钥可以根据用户的身份信息(如姓名、身份证号码、电话号码、e-mail地址等)直接计算出来,用户的私钥则由一个称为私钥生成中心(privatekeygenerator,pkg)的可信第三方生成。

jin和zhao提出了基于身份的可否认的认证方案,他们的方案在随机预言机模型下被证明是安全的。随后,jin等人提出了基于身份的可否认认证的加密方案,经过综合性能分析,他们的方案在安全性和效率方面,都具有很好的优势。ahene等人提出了一个基于无证书环境的可否认认证的加密协议,他们的协议既可以避免基于pki的公钥证书管理问题,又可以避免基于身份的密钥托管问题。li等人提出了基于身份的tag-kem/dem的可否认的认证方案,并把他们的方案应用在电子邮件系统中。但是他们的方案处于同一个密码系统中,在实际的应用中存在局限性。jin等人提出了基于异构系统的可否认的认证方案,但是他们的方案不能实现保密性。

上述可否认认证的加密方案,都没有讨论发送者属于身份环境、接收者属于公钥基础设施环境的采用tag-kem和dem混合方式的可否认认证的加密方法。因此,很有必要发明一种新的可否认认证的加密方法,来保证基于此异构系统的安全通信问题。



技术实现要素:

本发明所要解决的技术问题是克服现有技术的缺陷,提供一种基于异构系统的可否认认证的加密方法和系统。

为实现上述技术目的,本发明采用以下技术方案。

一方面,本发明提供一种基于异构系统的可否认认证的加密方法,发送者处于基于身份环境,接收者处于公钥基础设施环境,所述加密方法包括以下步骤:

1):设置系统参数完成系统初始化,所述系统参数包括安全参数、素数阶、生成元、加法群、乘法群、主公钥、主私钥、双线性映射和哈希函数;

2):基于身份环境的私钥生成中心pkg根据发送者提交的身份信息ids确定发送者的公钥qids,并根据该公钥qids计算发送者的私钥sids;

3):基于公钥基础设施环境的接收者选择其私钥xr,并生成其公钥pkr;

4):发送者根据系统预先设置的主公钥ppub和接收者的公钥pkr通过双线性对以及哈希函数运算生成对称密钥k,并且生成内部状态信息ω;

5):发送者根据对称密钥k、内部状态信息ω、标签τ和消息m,通过异或、哈希函数、点乘、点加和双线性对运算执行加密过程;

6):接收者根据封装密文c、标签τ、发送者的身份信息ids、主公钥ppub以及接收者的私钥xr通过双线性对、哈希函数、点乘和异或运算执行解密过程,若验证通过,则输出对称密钥并恢复出消息,否则拒绝该用户发送的对称密钥。

另一方面,本发明提供一种基于异构系统的可否认认证的加密系统,发送者基于身份环境,接收者基于公钥基础设施环境,所述加密系统包括以下步骤:

系统初始化模块,用于设置系统参数完成系统初始化;

发送者私钥及公钥生成模块,用于基于身份环境的私钥生成中心pkg采用哈希函数计算发送者身份信息ids的哈希值获得发送者的公钥qids,并根据该公钥qids计算发送者的私钥sids;

接收者私钥公钥生成模块,用于基于公钥基础设施环境的接收者生成其私钥xr和公钥pkr;

对称密钥及内部状态信息生成模块,用于发送者根据系统预先设置的主公钥ppub和接收者的公钥pkr通过双线性对以及哈希函数运算生成对称密钥k,以及内部状态信息ω;

加密模块,用于发送者根据对称密钥k、内部状态信息ω、标签τ和消息m,通过异或、哈希函数、点乘、点加和双线性对运算执行加密过程;

解密模块:接收者根据封装密文c、标签τ、发送者的身份信息ids、主公钥ppub以及接收者的私钥xr,通过双线性对、哈希函数、点乘和异或运算执行解密过程,若验证通过,则输出对称密钥并恢复出消息,否则拒绝该对称密钥。

本发明所达到的有益效果:

1、本发明为发送者属于基于身份环境、接收者属于公钥基础设施环境之间的通信提供了理论基础与技术保障,可以为基于身份环境的用户和公钥基础设施环境的用户提供端到端的机密性、完整性和否认认证性服务;

2、本发明发送者选择随机数r以及自己的私钥对消息m进行加密,消息是以密文的形式进行传送的。非法用户不可能从密文σ中恢复出消息m,只有真正拥有私钥的接收者能解密该密文。所以本协议可以实现保密性;

3、本发明在接收端,只有拥有私钥xr的接收者才能计算出双线性对t’=t/e(v,xrppub),从而计算出hash函数值h。发送者和接收者都可以生成v=h’qids,意味着他们可以产生在概率上不可区分的可否认的密文,从而实现否认认证性;

4、本发明用户要发送的消息m是用对称密钥k加密的,若不知道随机数r,也就计算不出k,所以敌手无法解密出消息m;此外密文c包含在hash值h中,所以敌手也无法篡改c的值,从而确保了消息的完整性。

具体实施方式

以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。

实施中用到的符号说明见下表1。

表1具体实施例符号说明

具体实施例:一种基于异构系统的可否认认证的加密方法,包括以下步骤:

(一)设置系统参数完成系统初始化(setup):pkg生成主私钥和系统公开参数。

所述系统参数包括安全参数、素数阶、生成元、加法群、乘法群、主公钥、主私钥、双线性映射和哈希函数,本实施例中具体包括以下:

1)给定安全参数k,私钥生成中心(pkg)首先选择阶为q(q≥2k)的双线性映射群(g1,g2),群g1的生成元p和双线性映射e:g1×g1→g2。

2)选择主私钥计算主公钥ppub=sp。

3)选择三个哈希数:

h1:{0,1}*→g1,

h2:g2→{0,1}n

其中n表示dem的密钥长度。

4)系统公开参数为{g1,g2,e,q,k,p,ppub,n,h1,h2,h3}。

(二)基于身份密码系统的密钥提取(ibc-ke):

基于身份环境的私钥生成中心pkg根据发送者提交的身份信息ids确定发送者的公钥qids,并根据该公钥qids计算发送者的私钥sids;

本实施例中具体如下:

1)ibc密码系统中的发送者把它的身份信息ids发送给pkg;

2)pkg计算qids=h1(ids)并根据发送者的公钥qids和主私钥s计算发送者的私钥sids,表达式为sids=sqids,把私钥发送给ibc密码系统中的发送者。

(三)基于公钥基础设施密码系统的密钥提取(pki-ke):接收者选择一个随机数生成自己的私钥xr并计算出自己的公钥pkr。

本实施例中具体如下:pki密码系统中的接收者选择一个随机数xr,作为自己的私钥并计算出相应的公钥pkr=xrp。

(四)生成对称密钥(sym):发送者利用自己的私钥sids,身份信息ids、接收者的公钥pkr,通过双线性对运算,得到要输出的对称密钥k,并且生成内部状态信息ω。

本实施例中具体如下:

1)选择随机数并计算t=e(ppub,pkr)r

2)输出k=h2(t),,内部状态信息ω=(r,t,sids,ids,pkr);

(五)加密(encrypt):发送者利用对称密钥k、内部状态信息ω、标签τ和消息m,通过异或、哈希函数、点乘以及双线性对运算,得到要输出的密文。

本实施例中具体步骤如下:

5-1)对消息m和对称密钥k进行数据封装机制dem(即异或关系)得到封装后的封装密文c,表达式如下:c=demk(m);

5-2)根据封装密文c、标签τ以及双线性对t采用哈希函数计算哈希值h,表达式如下:h=h3(c,τ,t,);

5-3)计算承诺s,表达式如下:

s=hsids+rppub;

5-4)根据承诺s与接收者公钥pkr计算双线性对t,表达式如下:

t=e(s,pkr),

5-5)根据发送者的公钥qids计算签名v,表达式如下:v=hqids;

5-6)输出密文σ,表达式为:σ=(c,t,v)。

(六)解密(decrypt):接收者利用封装密文σ,标签τ,发送者的身份ids和接收者的私钥xr,通过双线性对、哈希函数、点乘以及异或运算执行解密过程,若验证通过,则输出对称密钥并恢复出消息,否则拒绝该用户发送的对称密钥并输出错误符号。

本实施例中具体如下:

6-1)计算双线性对t除以签名v与接收者私钥xr和主公钥ppub乘积的双线性对得到双线性对t’,表达式为:t’=t/e(v,xrppub);

6-2)计算封装密文c、标签τ、双线性对t的哈希值h’,表达式为:

h’=h3(c,τ,t’);

6-3)如果v=h’qids,输出对称密钥k=h2(t)并计算m=demk(c);否则输出错误符号⊥。

本发明基于确定性双线性对diffie-hellman困难问题。在同一个逻辑步骤内能够同时实现保密性和否认认证性。同时,发送者和接收者处于不同的密码环境中。发送者处于ibc的密码环境,不存在公钥证书管理的问题;而接收者处于pki的密码环境,能够负担起证书管理的问题。

本发明为用户数据提供了保密性和完整性要求,并且确保了发送者和接收者能以一定的概率产生不可区分的密文,达到了一定的安全和隐私要求,其说明如下:

1)数据保密性:在通信过程中,消息m是以密文的形式传送的。发送者选择的随机数以及自己的私钥只有自己知道,非法用户不可能从密文σ中恢复出消息m,只有真正拥有私钥的接收者能解密该密文。所以本协议可以实现保密性。

2)否认认证性:在接收端,只有拥有接收者私钥xr的接收者才能计算出双线性对t’=t/e(v,xrppub),从而计算出hash函数值h’。发送者和接收者都可以生成v=h’qids,意味着他们可以产生在概率上不可区分的可否认的密文,从而实现否认认证性。

3)完整性:用户要发送的消息m是用对称密钥k加密的,其中c=demk(m),k=h2(t),t=e(ppub,pkr)r敌手不知道随机数r,计算不出t,也就计算不出k,所以敌手无法解密出消息m。此外,密文c包含在hash值h中,所以敌手也无法篡改c的值,从而确保了消息的完整性。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1