从证书公钥系统到身份公钥系统的匿名签密方法

文档序号:7782676阅读:1172来源:国知局
从证书公钥系统到身份公钥系统的匿名签密方法
【专利摘要】本发明公开了一种从证书公钥系统到身份公钥系统的匿名签密方法。其具体过程为:从公钥函数数据库中随机选取参数,并生成证书公钥系统和身份公钥系统的系统公钥和系统私钥;根据系统参数和公、私钥生成用户的公、私钥;利用双线性对、证书公钥系统用户的私钥和身份公钥系统用户的身份,对消息进行匿名签密,并把密文发送给接收者;接收者根据双线性对和自身的私钥,对收到的密文进行解签密,同时认证发送者的身份。本发明具有实施过程简单、传输效率高的优点,可用于实现从证书公钥系统向身份公钥系统传输消息的机密性、认证性和匿名性。
【专利说明】从证书公钥系统到身份公钥系统的匿名签密方法
【技术领域】
[0001]本发明属于信息安全【技术领域】,涉及匿名签密,具体地说是一种高效的从证书公钥系统到身份公钥系统的匿名签密方法,可用于实现从证书公钥系统向身份公钥系统传输消息的机密性、认证性和匿名性。
【背景技术】
[0002]随着计算机网络和通信技术的快速发展,人们之间进行的信息传递越来越频繁。然而,由于所传递的信息往往涉及到一些敏感信息,而计算机网络和无线通信网这样的开放网络又具有很大的脆弱性,因此信息安全问题日益凸显。信息安全的理论基础是现代密码学,机密性和认证性是密码学中两个重要的安全目标。消息的机密性可以通过加密技术来实现,消息的认证性可以通过数字签名技术来实现。然而,很多实际应用不但需要实现机密性,同时也需要实现认证性,比如电子商务和电子邮件。
[0003]为了同时实现消息传输的机密性和认证性,可以采用传统的“先签名后加密”方法,然而这种方法的效率通常比较低。为了解决这一问题,Zheng在1997年提出了“签密”的概念。签密能够在一个合理的逻辑步骤内同时完成数字签名和公钥加密的功能,而其计算量和通信成本都要低于传统的“先签名后加密”方法,因而它是实现既保密又认证地传输消息的较为理想的方法。
[0004]在1976年,Diffie和Hellman发表了关于密码学的新方向的论文,首次提出了公钥密码的思想,开创了现代密码学的新纪元。基于标准的数字签名算法DSA(DigitalSignature Algorithm),韩国学者Shin, Lee和Shim在2002年提出了两种实用的签密方法。传统的公钥密码系统,即证书公钥密码系统,虽然克服了对称密码系统的密钥量问题和密钥分发问题,而且用户的私钥只有用户自己知道,保密性比较强,但是证书公钥系统也存在一个缺点:需要管理大量证书,任务繁重。在证书公钥系统中,一个用户在向其他用户发送消息之前,需要查找目标用户的公钥证书,并对证书的合法性和有效性进行验证。证书的查找、存储、验证和撤销等都会带来较大的计算开销和存储开销。为了克服证书公钥系统的上述缺点,Shamir于1984年提出了基于身份的密码学。在身份公钥系统中,用户的身份即为公钥,因此不需要证书。然而,直到2001年,才由Boneh和Franklin提出了第一个实用的基于身份的加密方案。在2002年,美国学者Lynn提出了第一个基于身份的签密方案。英国学者Chen和Malone-Lee在2005年提出了一个效率更高的基于身份的签密方案。基于双线性对,巴西学者Barreto等人构造了一个更高效的基于身份的签密方案。在2006年,中国学者Duan和Cao构造了具有多接收者的基于身份的签密方案。在2009年,印度学者Selvi, Vivek和Srinivasan提出了效率更高的具有多接收者的基于身份的签密方案。
[0005]然而,已有的签密方法大都只支持一种系统,要么是证书公钥系统,要么是身份公钥系统。在实际应用中,不同的机构可能采用不同的公钥密码系统。当证书公钥系统的用户A想要给身份公钥系统的用户B发送消息时,A首先要对消息做基于证书的签名,再对签名做基于身份的加密,或者需要在身份公钥系统里申请一对公私钥,然后再用基于身份的签密技术对消息进行签密,把签密密文发送给B,这两种方法的效率都比较低,而且增加了系统的复杂性。在2010年,中国学者Sun和Li构造了证书公钥系统和身份公钥系统之间的签密方法。然而,在实际应用中,为了保护自己的隐私,消息的发送者往往不想让任何第三方获悉消息的来源。在已有的从证书公钥系统到身份公钥系统的签密方法中,由于发送者的公钥直接被放在签密密文中,因而已有技术不能实现传递消息的匿名性,泄露了用户的隐私。

【发明内容】

[0006]本发明目的在于提高从证书公钥系统向身份公钥系统传输消息的安全性和效率,提供一种从证书公钥系统到身份公钥系统的匿名签密方法,是一种能简单高效的实现从证书公钥系统到身份公钥系统的匿名签密方法,以简单高效地实现从证书公钥系统向身份公钥系统传输消息的机密性、认证性和匿名性,简化系统、提高安全性和传输效率。
[0007]实现本发明目的的技术方案是:对证书公钥系统用户的公钥进行盲化,计算从证书公钥系统到身份公钥系统的双线性对,再用计算结果对消息进行匿名签密并传输。
[0008]具体过程如下:
[0009](I)系统初始化步骤:
[0010]证书公钥系统和身份公钥系统从公钥函数数据库中随机选取一套参数,包括两个阶为素数q的循环群G和GT, G的生成元P, 一个双线性对1:
【权利要求】
1.一种从证书公钥系统到身份公钥系统的匿名签密方法,其特征在于:对证书公钥系统用户的公钥进行盲化,计算从证书公钥系统到身份公钥系统的双线性对,再用双线性对的计算结果对消息进行匿名签密并传输。
2.如权利要求1所述的匿名签密方法,其特征在于,包括: (1)系统初始化步骤: 证书公钥系统和身份公钥系统从公钥函数数据库中随机选取一套参数,包括两个阶为素数q的循环群G和GT, G的生成元P,一个双线性对?:GxG^ Gr,以及三个哈希函数H0: {O,I}*-G, H1: {O, I}" X C? Ζ;和迅:Gt {O, I}" χ {0,1}η χ Ζ;,这里,{0,1}*表示任意比特长的二进制序列组成的集合,η是明文消息的比特长度,队^表示η比特长的二进制序列组成的集合,Ζ; = { 1.…,<? —1}表示有限域Zq= {0,1,…,q-Ι}去掉元素零所得到的乘法群,根据选取的参数,证书公钥系统选取系统公钥tpk和系统私钥tsk,身份公钥系统选取系统公钥mpk和系统私钥msk ; (2)用户密钥生成步骤: 证书公钥系统的用户A由自己生成公钥Ya和私钥xA ;身份公钥系统的密钥生成中心PKG把用户B的身份IDb作为用户B的公钥 ,并根据IDb和msk计算出用户B的私钥Db ; (3)匿名签密步骤: 根据自己的私钥xA和身份公钥系统的用户B的身份IDb,证书公钥系统的用户A对消息m进行匿名签密得到签密密文C,并将C发送给用户B ; (4)解签密步骤: 收到由证书公钥系统的用户A发送来的密文C后,身份公钥系统的用户B根据双线性对的性质,利用自己的私钥Db对密文C进行解签密,得到消息m,同时认证发送者的身份。
3.根据权利要求2所述的匿名签密方法,其特征在于,所述步骤(1)中的证书公钥系统的系统公钥tpk和系统私钥tsk,以及身份公钥系统的系统公钥mpk和系统私钥msk,按照如下方式生成: (3a)证书公钥系统从中随机选取一个元素作为系统私钥tsk,并计算系统公钥tpk=tsk.P,其中符号表示群G对应的椭圆曲线上的点乘运算; (3b)身份公钥系统从中随机选取一个元素s作为系统私钥msk,并计算Ptl = s.P作为系统公钥mpk。
4.根据权利要求2所述的匿名签密方法,其特征在于,所述步骤(2)中的用户A的公钥Ya和私钥xA,以及用户B的私钥Db,按照如下方式生成: (4a)证书公钥系统的用户A从%中随机选取一个元素作为自己的私钥xA,并将该私钥与系统参数中G的生成元P相乘,计算出自己的公钥Ya = xA.P ; (4b)根据系统私钥s和用户B的身份IDb,身份公钥系统的PKG计算Db = s.Qb作为用户B的私钥,其中Qb = H0(IDb)。
5.根据权利要求2所述的匿名签密方法,其特征在于,所述步骤(3)中的证书公钥系统的用户A利用xA和IDb对消息m进行匿名签密,计算出签密密文C,按照如下过程进行: (5a)用户A从{0,1}η中随机选取一个元素σ ;(5b)用户A计算
6.根据权利要求2所述的匿名签密方法,其特征在于,所述步骤(4)中的身份公钥系统的用户B利用自己的私钥Db对密文C进行解签密,按照如下过程进行: (6a)用户B把密文C解析成C = (C0, C1); (6b)用户 B 计算
【文档编号】H04L9/32GK103746810SQ201310740351
【公开日】2014年4月23日 申请日期:2013年12月27日 优先权日:2013年12月27日
【发明者】张应辉, 郑东, 赵庆兰, 任方 申请人:西安邮电大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1