当前位置: 首页 > 专利查询>河海大学专利>正文

一种基于证书代理重加密方法及系统技术方案

技术编号:9796146 阅读:185 留言:0更新日期:2014-03-22 02:34
本发明专利技术公开了一种基于证书代理重加密方法及系统,涉及信息安全中的数据加密技术领域。为了解决现有代理重加密方法中存在的不足,本发明专利技术将基于证书密码体制和代理重加密相结合,提供了一种基于证书代理重加密方法,所述方法包括生成系统参数、生成用户公钥和私钥对、生成用户证书、对消息加密、生成代理重加密密钥、代理重加密和恢复消息的步骤。本发明专利技术还提供了一种基于证书代理重加密系统,包括系统参数生成模块、用户密钥生成模块、证书生成模块、加密模块、代理重加密密钥生成模块、代理重加密模块和解密模块。本发明专利技术所述技术方案不仅简化了证书的管理过程,而且不存在密钥分发和密钥托管的问题,便于开放网络环境的应用。

【技术实现步骤摘要】
—种基于证书代理重加密方法及系统
本专利技术涉及信息安全中的数据加密
,特别涉及一种基于证书代理重加密方法及系统。
技术介绍
随着信息技术的高速发展,电子数据的安全性问题越来越受到数据所有者的重视。数据加密技术是保障电子数据机密性的核心和关键技术,它通过加密密钥及加密算法将数据转换成无意义的密文,从而避免数据被未经授权者访问,有效保障了数据的机密性。在现实社会中经常会遇到解密授权的情况。例如,一个公司经理需要到外地出差,为了不影响公司的业务,该经理需要委托一个可靠的助手在其出差期间帮他处理一些业务相关的加密邮件,但同时不希望将自己的私钥透露给该助手。为了解决上述解密授权的问题,Blaze等人于1998年提出了代理重加密的思想。在代理重加密系统中,一个拥有代理重加密密钥的半可信代理重加密中心,可以将经用户Alice的公钥所加密的消息M的密文直接转化为以用户Bob的公钥对消息M加密的密文,其中用户Alice称为委托方,用户Bob称为受理方。在这个过程中,半可信的代理重加密中心无法获知消息M的任何信息。由于代理重加密能够有效解决解密授权的问题,因此该方法有着很多重要的实际应用,如数字版权的跨域操作、加密电子邮件的转发以及公共云中安全数据的共享等。代理重加密一提出便受到广泛关注,国内外学者对其进行了深入的探讨和研究。但已有的代理重加密方法大多是在传统公钥密码体制下或基于身份密码体制下所提出的,因此这些方法要么存在复杂的证书管理问题,要么存在密钥分发和密钥托管的问题。而近期Sur等人所提出的无证书代理重加密方法尽管有效解决了复杂的证书管理和密钥托管问题,但仍存在密钥分发的问题。因此,现有的代理重加密方法在开放网络环境下的应用将会受到限制。基于证书密码体制是Gentry在2003年所提出的一种新型公钥密码体制,该体制有机结合了基于身份密码体制和传统公钥密码体制的优点,并有效克服了这两种密码体制中存在的缺陷。基于证书密码体制的一个最大的特点是提供了一种高效的隐证书机制,即用户证书仅发送给证书持有人,并与其私钥相结合产生最终的解密密钥或签名密钥。基于该特点,基于证书密码体制不仅消除了证书状态的第三方查询问题,简化了传统公钥密码体制中复杂的证书管理过程,而且同时克服了基于身份密码体制中固有的密钥分发问题和密钥托管问题。因此,基于证书密码体制是一个性能优良,便于开放网络环境中应用的新型公钥密钥体制。
技术实现思路
本专利技术所要解决的技术问题是现有代理重加密方法中存在问题,本专利技术将基于证书密码体制和代理重加密体制相结合,提供了一种基于证书代理重加密方法。受益于基于证书密码体制的优良性能,本专利技术所提出的方法不仅简化了证书的管理过程,而且不存在密钥分发和密钥托管的问题。本专利技术为解决上述技术问题采用以下技术方案:一种基于证书代理重加密方法,包含以下步骤:步骤A,生成系统主密钥和系统公开参数集;具体过程为:步骤101,证书中心根据设定的安全参数k e Z+,选择一个k比特的大素数P,并生成一个P阶加法循环群G和一个P阶乘法循环群GT,以及定义在群G和群Gt上的双线性对e: G X G — Gt ;其中:Z+是正整数,双线性对e:GXG — Gt是群G与自身的笛卡尔积GXG到群Gt的映射,即双线性对e:GXG —Gt是指函数z=e (P1, P2),其中PpP2 e G为自变量,z e Gt为因变量;步骤102,从加法循环群G中选择两个生成元P和Q并随机选择《 e Z;,计算Qpub= α Q? g=e (P, Q)和 h=e(Q,Q);其中:集合.= !1,2,…;步骤103,定义五个哈希函数 /V iO,IfxGxG, —Z H2: {O, 1}η- {O, 1}\H,: {0,1}* ^ Z;、H4IGtXGt - {O, 1}η 以及 ZZ5: Gr x Gr 4 Z:;其中=H1 是笛卡尔积{0,IKXGXGjIj^的密码学哈希函数,H2是{0,l}1j {0,1}η的密码学哈希函数,比是{0,1}*到的密码学哈希函数,H4是笛卡尔积GtXGt到{0,1}η的密码学哈希函数,H5是笛卡尔积GtXGt到^的密码学哈希函数,n表示明文的比特长度,{O, 1}*表示长度不确定的二进制串的集合,{O, ι}η表示长度为η比特的二进制串的集合,{O, IKxgxgt表示{O, I}'群G和群Gt的笛卡尔积,Gt X Gt表示群Gt和自身的笛卡尔积;根据步骤101至步骤103,生成证书中心秘密保存的系统主密钥为Hisk=Ci,系统公开参数集为 params= {`p, G, GT, e, η, P, Q, Qpub, g, h, H1, H2, H3, H4, Hj。步骤B,根据所述系统公开参数集,以及用户的身份信息,生成用户的公钥和私钥对,所述用户包括发送者和接收者;具体过程如下:身份为Idu的用户首先右Z中随机选择一个整数Xt7GZ:作为自己的私钥SKu,即SKu=Xu ;然后利用系统公开参数集params生成自己的公钥PKu = {ΡΚ^,ΡΚ^)= W )。步骤C,根据所述系统主密钥和系统公开参数集、用户的身份信息和用户的公钥,生成用户的证书;具体过程如下:身份为idu的用户将自己的身份信息idu和公钥PKu提交给证书中心;证书中心产生用户Idu的证书Certu= (H1Qdu, PKu) + a ) 4Q,然后将证书Certu发送给身份为Idu的用户。步骤D,根据所述系统公开参数集、待加密的明文以及接收者的身份信息和公钥,生成原始密文;具体过程如下:发送者使用接收者的身份idv和公钥PK, =(PA^PAfi)加密长度为n比特的明文Μ,发送者首先随机选择σ e {0,1}η并计算r=H3(M,σ , idv, PKv);然后分别计算Cl - Λ/?//, (σ) , C2=a@lIA{h'\{PK^')') , C3=rP 和 C4=r (H1 (idv,PKv) Q+QpJ ;最后将C= (C1, C2, C3, C4)作为明文M的密文发送给接收者idv。步骤E,根据所述系统公开参数集、发送者的身份信息、私钥和证书,以及接收者的身份信息和公钥,生成代理重加密密钥;具体过程如下:发送者Idu根据接收者idv的公钥={PK\l\PK\2)),首先随机选择seZ并计算1 = 人Ili)');然后根据使用自己的私钥SKu和证书Certu以及接收者idv的公钥 PK1 = (PK)U, PK)2'),汁算 PRK^i = SKr-PKi'' , PRK^1 = silled, ,PK ,)0+ Qpuh)和PRK;Z, Ortl ;最后将PRKW = (PRdpPRK^i ,)作为代理重加密密钥。步骤F,根据所述系统公开参数集、原始密文以及代理重加密密钥,生成重加密密文;具体过程如下:根据发送者idu提交的代理重加密密钥尸/?欠^V = (PRK^V,PRK^1,PRK^1 )以及以发送者的身份Idu和公钥PKu加密的原始密义(:=((;,C2, C3, C4),首先分别置C/ =C1,C2' = C2, C5' =PRKH ;然后计算 C; =e(C3,PRKZv)和Q' =e(C4,i^O ;最后将C'本文档来自技高网
...

【技术保护点】
一种基于证书代理重加密方法,其特征在于,所述方法包含以下步骤:步骤A,生成系统主密钥和系统公开参数集;步骤B,根据所述系统公开参数集和用户的身份信息生成用户的公钥和私钥对,所述用户包括发送者和接收者;步骤C,根据所述系统主密钥和系统公开参数集、用户的身份信息和用户的公钥,生成用户的证书;步骤D,根据所述系统公开参数集、待加密的明文以及接收者的身份信息和公钥,生成原始密文;步骤E,根据所述系统公开参数集、发送者的身份信息、私钥和证书,以及接收者的身份信息和公钥,生成代理重加密密钥;步骤F,根据所述系统公开参数集、原始密文以及代理重加密密钥,生成重加密密文;步骤G,根据所述系统公开参数集、待解密的密文以及接收者的私钥和证书,恢复明文,待解密的密文包括原始密文或者重加密密文。

【技术特征摘要】
1.一种基于证书代理重加密方法,其特征在于,所述方法包含以下步骤: 步骤A,生成系统主密钥和系统公开参数集; 步骤B,根据所述系统公开参数集和用户的身份信息生成用户的公钥和私钥对,所述用户包括发送者和接收者; 步骤C,根据所述系统主密钥和系统公开参数集、用户的身份信息和用户的公钥,生成用户的证书; 步骤D,根据所述系统公开参数集、待加密的明文以及接收者的身份信息和公钥,生成原始密文; 步骤E,根据所述系统公开参数集、发送者的身份信息、私钥和证书,以及接收者的身份信息和公钥,生成代理重加密密钥; 步骤F,根据所述系统公开参数集、原始密文以及代理重加密密钥,生成重加密密文; 步骤G,根据所述系统公开参数集、待解密的密文以及接收者的私钥和证书,恢复明文,待解密的密文包括原始密文或者重加密密文。2.根据权利要求1所述的一种基于证书代理重加密方法,其特征在于,所述步骤A具体过程如下: 步骤101,证书中心根据设定的安全参数k e Z+,选择一个k比特的大素数p,并生成一个P阶加法循环群G和一个P阶乘法循环群GT,以及定义在群G和群Gt上的双线性对e: G X G — Gt ;其中:Z+是正整数,双线性对e:GXG — Gt是群G与自身的笛卡尔积GXG到群Gt的映射,即双线性对e:GXG —Gt是指函数z=e (P1, P2),其中PpP2 e G为自变量,z e Gt为因变量; 步骤102,从加法循环群G中选择两个生成元P和Q并随机选择a e Z;,计算Qpub= a Q,g=e (P, Q)和 h=e(Q,Q);其中:集合 Z: = {1,2,...,/;-1}; 步骤 103,定义五个哈希函数 W1: K),IfxGxG, 4 Z H2: {O, 1}η — {O, 1}η、//?: !0, ^Ζ;、H4IGtXGt — {O, 1}η 以及 H5:GrXGr ^Ζ;,其中 H1 是笛卡尔积{0,IKxgxgt到ζ的密码学哈希函数,H2是{0,『到{ο,ι}η的密码学哈希函数,H3是{O, 1}*到Ζ:的密码学哈希函数,H4是笛卡尔积GtXGt到{0,1}η的密码学哈希函数,H5是笛卡尔积GtXGt到2.的密码学哈希函数,η表示明文的比特长度,{0,1}*表示长度不确定的二进制串的集合,{ο, ι}η表示长度为η比特的二进制串的集合,{O, IKxgxgt表示{O, I}*、群G和群Gt的笛卡尔积,GtXGt表示群Gt和自身的笛卡尔积; 根据步骤101至步骤103,生成证书中心秘密保存的系统主密钥为msk= α,系统公开参数集为 params= {p, G, GT, e, η, P, Q, Qpub, g, h, H1, H2, H3, H4, Hj。3.根据权利要求2所述的一种基于证书代理重加密方法,其特征在于,所述步骤B具体过程如下: 身份为Idu的用户首先在 < 中随机选择一个整数xreZ;;作为自己的私钥SKu,即SKu=Xu ;然后利用系统公开参数集params生成自己的公钥PK, = (PK;\PK;2')= (-'',Q-g''1 )。4.根据权利要求3所述的一种基于证书代理重加密方法,其特征在于,所述步骤C的具体过程如下: 身份为Idu的用户将自己的身份信息Idu和公钥PKu提交给证书中心;证书中心产生用户Idu的证书Certu= (H1Qdu, PKu) + a ) 然后将证书Certu发送给身份为Idu的用户。5.根据权利要求4所述的一种基于证书代理重加密方法,其特征在于,所述步骤D具体过程如下: 发送者使用接收者的身份idv和公钥Z5K.= (PKli', PKl21)加密长度为n比特的明文M,发送者首先随机选择0 e {0,l}n并计算r=H3(M,0,idv,PKv);然后分别计算C、= M ? U2(O),C2= cr? I I4(JfAPK^Y), C3=rP 和 C4=r (H1 (idv,PKv) Q+QpJ ;最后将C= (C1, C2, C3, C4)作为明文M的密文...

【专利技术属性】
技术研发人员:陆阳李继国
申请(专利权)人:河海大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1