一种基于证书条件代理重加密方法和系统的制作方法

文档序号:7818806阅读:487来源:国知局
一种基于证书条件代理重加密方法和系统的制作方法
【专利摘要】本发明公开了一种基于证书条件代理重加密系统。本发明的系统包括:系统参数设置模块,生成系统主密钥和系统公开参数;用户密钥生成模块,生成各个用户的公钥和私钥对;证书生成模块,对用户的身份和公钥进行签名并生成用户的证书;加密模块,对消息进行加密并发送给解密模块和代理重加密密钥生成模块;代理重加密密钥生成模块,生成代理重加密密钥并发送给代理重加密模块;代理重加密模块,对原始密文进行重加密后生成重加密密文发送给解密模块;解密模块,恢复出相应的明文信息。本发明还公开了一种基于证书的条件代理重加密方法,在保证系统安全性的前提下,使得原始密文能够被弹性地进行代理重加密,严格的控制了代理者的权利。
【专利说明】-种基于证书条件代理重加密方法和系统

【技术领域】
[0001] 本发明涉及一种网络安全的数据加密技术,尤其涉及一种安全的基于证书的条件 代理重加密系统及方法,属于信息安全领域。

【背景技术】
[0002] 随着信息技术的高速发展,在互联网上进行文件传输、电子邮件商务往来存在许 多不安全因素,特别是对于一些大公司和一些机密文件在网络上的传输,该种不安全性引 发了人们的重视。数据加密技术是保障电子数据机密性的核也和关键技术,它通过加密密 钥及加密算法将数据转换成无意义的密文,从而避免数据被未经授权者访问,有效地保障 了数据的机密性。
[0003] 在现实社会中经常会遇到解密授权的情况。例如,一个银行部口经理申请年终休 假一段时间出去旅游,在该段时间中,如果银行的相关重要文件不能及时查收,将会严重影 响到公司的业务进行。为了使银行能够正常运行,该经理需要委巧一位可靠的助手在他休 假的该段时间帮他处理一些与业务相关的加密邮件,但同时不希望将自己的私钥透露给该 助手。为了解决该个问题,Blaze等人于1998年提出了代理重加密的思想。在代理重加密 系统中,一个拥有代理重加密密钥的半可信的代理重加密中也,可W将用该经理公钥加密 的消息m的密文直接转化为W助手的公钥对消息m的加密的密文,其中该经理称为委巧方, 助手称为受理方。在该个过程中,半可信的代理重加密中也无法获知消息m的任何信息。由 于代理重加密能够有效解决解密授权的问题,因此该方法有着很多重要的实际应用,如数 字版权的跨域操作、加密电子邮件的转发W及公共云中安全数据的共享等。
[0004] 代理重加密一提出便受到广泛关注,国内外学者对其进行了深入的探讨和研究。 但已有的代理重加密方法大多是在传统公钥密码体制下或基于身份密码体制下所提出的, 因此该些方法要么存在复杂的证书管理问题,要么存在密钥分发和密钥巧管的问题。因此, 现有的代理重加密方法在开放网络环境下的应用将会受到限制。
[0005] 基于证书密码体制是Gentry在2003年欧洲密码学会议上提出的一种新型公钥密 码体制,该体制有机结合了基于身份密码体制和传统公钥密码体制的优点,消除了高代价 的证书验证过程,并且不存在密钥巧管的隐患。基于证书密码体制中的证书具有传统公钥 密码体制中证书的全部功能,并且在解密的过程中作为私钥的一部分,因而在加密的过程 中不存在对证书状态的第H方询问。而且,在基于证书的公钥密码体制中,证书的发送不需 要通过安全信道,不存在密钥分发的问题。因此,基于证书密码体制是一个性能优良,便于 开放网络环境中应用的新型公钥密钥体制,但是证书的管理过程比较复杂,存在不简化的 问题。


【发明内容】

[0006] 本发明所要解决的技术问题是针对前述【背景技术】中的缺陷,对现有的基于证书代 理重加密方法进行研究改进,提供一种基于证书的条件代理重加密系统和方法。在重加密 的过程中能够有效地控制代理中也的转换密文的能力,使得只有满足一定条件的密文才能 够被代理中也进行有效的转换。
[0007] 本发明为解决上述技术问题采用W下技术方案:
[0008] 本发明提出一种基于证书的条件代理重加密方法,包括W下步骤:
[0009] A、设定系统公开参数params和系统主密钥msk ;
[0010] B、根据所述系统公开参数params生成用户的公钥Pki和私钥USki ;
[0011] C、根据所述系统主密钥msk和系统公开参数params,对用户的身份idi、用户的公 钥Pki和用户证书的有效期T进行签名,生成用户的证书CedT,
[0012] D、根据所述系统公开参数params、证书的有效期T、加密条件C、用户的身份idi 和用户的公钥pki,对消息m进行加密得到原始密文。;
[0013] E、根据所述系统公开参数params、用户的身份id;、用户公钥pki、私钥uski、用 户的证书Ced,,1、受理方的身份idj.、受理方公钥pkj.和加密条件C,生成代理重加密密钥 rki'c'j ;
[0014] F、根据所述系统公开参数params、原始密文Q和代理重加密密钥生成代 理重加密密文Cj ;
[0015] G、判断所接收到的密文是原始密文或者是代理重加密密文,分别进行W下处理:
[0016] 若为原始密文,则根据所述系统公开参数params、用户私钥USki、用户证书 CertT,i和条件C,恢复出相应的明文消息m ;
[0017] 若为代理重加密密文,则根据所述系统公开参数params、用户私钥USkj和用户证 书CedTJ,恢复出相应的明文消息m。
[0018] 进一步的,本发明的基于证书条件代理重加密方法,所述步骤A包括:
[0019] AU选取阶为P的乘法循环群Gi、G2 W及双线性映射e:GiXGi - Gs ;
[0020] A2、随机选取Gi的一个生成元g,选取六个抗碰撞的杂凑哈希函 数 Hi: {0, 1}* 一 〇1,町:{〇, irXG] - Zp*, Hs=GiXZp* - 〇1,H4:G2 - 1} n,Hs: {0, 1}* 一 Gi,He: {0, 1}* 一 Gi ;
[0021] A3、随机选取a G Zp%其中马;表示集合{1,2,…,p-1},计算gi = g° ;
[002引系统公开参数params为咕,G2, g,gi,日,Hi, &,&,山H日,恥,系统主密钥msk为a ;
[0023] 其中,杂凑哈希函数Hi是{0,ir到Gi的密码学哈希函数,是笛卡尔积{0,1} nXGs到Zp*的密码学哈希函数,&是笛卡尔积GiXZp*到Gi的密码学哈希函数,&是Gs到 {〇, l}n的密码学哈希函数,Hg是{0, ir到Gi的密码学哈希函数,He是{0, ir到Gi的密码学 哈希函数,{〇, ir表示标识长度不确定的二进制比特串集合,n表示明文的比特长度,{0, 1} n表示长度为n的二进制比特串集合,{0, irXGs表示{0, l}n和群Gs的笛卡尔积,GiXZ/表 示群Gi和Zpt的笛卡尔积,其中Z,,表示集合{1,2,…,P-U。
[0024] 进一步的,本发明的基于证书条件代理重加密方法,所述步骤B包括:
[00幼 B1、随机选取Xi G Z/,将Xi作为用户的私钥USki,其中马表示集合{I,2,…,P-U ;
[002引 B2、计算妹,将地作为用户的公钥。
[0027] 进一步的,本发明的基于证书条件代理重加密方法,所述步骤C包括:
[0028] CU定义证书有效期T ;
[0029] C2、计算 Si = Hi ( T , id。地),得到用户证书 Ce;rtT,i = s/。
[0030] 进一步的,本发明的基于证书条件代理重加密方法,所述步骤D包括:
[0031] D1、将消息的特殊标识类型C G Z/作为加密条件,其中表示集合{1,2,… ,p-1};
[003引 D2、计算 Si = Hi( T , id。地),hi = &她。C);
[003引 D3、随机选取 5 G 02,计算 r = H2(m, 5 );
[0034] D4、计算:
[00;35] Cl = gt, Cg = 5 ? (e (pk。hi) ? e (S。gi)) r, Cs = m ? ( S ), C* = e (SfC, pki ? gi) t,C5 = H5(Q,C2,C3,C4)t,
[0036] 获得原始加密密文。=(Cl, Ca, Cs, C4, Cs)。
[0037] 进一步的,本发明的基于证书条件代理重加密方法,所述步骤E包括:
[003引EU随机选取y G Zp*,计算啼=g"'T',其中表示集合(1,2,…,P-1};
[003引 E2、计算 hi =馬(pk" C),姑2 = (/!,-.抑/) ';
[0040] E3、随机选取 R G Ga,计算 Sj = Hi ( T , idj, pkj)和 Si = Hi ( T , id。地);
[0041] E4、计算 k = e(Ce;rtT,i,Sj)和 rks = Ce;rtT,i ? Hg化,idj, pkj, R);
[004引 E5、计算诚4 =巧=(C饥)r,获得代理重加密密钥rki,c,j = (rki, rk:2, rk:3, rk:4, rkg)。
[0043] 进一步的,本发明的基于证书条件代理重加密方法,所述步骤F包括:
[0044] F1、验证等式e(Ci,H5(Ci,C2,C3,C4)) = e(g,Cs)是否成立,若等式成立,继续重加 密;若等式不成立,拒绝重加密;
[0045] F2、验证等式e (rks,Cl) = Ca是否成立,若等式成立,继续重加密;若等式不成立, 拒绝重加密;
[004引 F3、计算《 1 = e (Cl,成)和《2 二 1/e 咕,rkg);
[0047] F4、计算 C' 2 二〔2 * W 1 ? "2 ;
[004引 F5、设置C' 1 = Ci, C' 3 =〔3, C' 4 =部,C' 5 =成;获得重加密密文Cj = (C' 1,C' 2, C' 3, C' 4, C' 5)。
[0049] 进一步的,本发明的基于证书条件代理重加密方法,在步骤G中,若接收到的密文 是原始密文时,具体包括W下处理步骤:
[0050] G1、验证等式6咕,&咕,〔2,〔3,〔4))=6(3,〔5)是否成立,若等式成立,继续进行解 密;若等式不成立,拒绝解密;
[0051] G2、计算 hi = &她。C)和= Q ^e(Ci,Vi).e(Ci,Cert。';));
[0052] G3、计算 m = C3 ? H4 ( S );
[005引 G4、计算r = H2(m, 5 ),验证等式gt =。,若等式成立,恢复明文消息m ;若等式不 成立,拒绝恢复明文消息。
[0054] 进一步的,本发明的基于证书条件代理重加密方法,在步骤G中,若接收到的密文 是代理重加密密文时,具体包括W下处理步骤:
[005引 G5、计算 Si = Hi ( T , id。地)和 R = C' g/e (C' 4, Ce;rt");
[0056] G6、计算 k = e (s。Ced T,j) ' = (.'I'(...4 ) .('((..'II'/LW,.,.,叫);
[0057] G7、计算 m = C' 3?H4(S);
[005引 G8、计算r = H2(m,5 ),验证等式gt = Cl,若等式成立,恢复明文消息m ;若等式不 成立,拒绝恢复明文消息。
[0059] 本发明为解决所述技术问题,还提出一种基于证书的条件代理重加密系统,包 括:
[0060] 系统参数设置模块,用于生成系统主密钥和系统公开参数;
[0061] 用户密钥生成模块,用于根据系统公开参数生成各个用户的公钥和私钥对;
[0062] 证书生成模块,用于根据系统主密钥和系统公开参数,对用户的身份、用户的公钥 和用户证书有效期进行签名,产生用户证书;
[0063] 加密模块,用于根据系统公开参数、用户的公钥、用户的身份信息、用户证书的有 效期W及要发送的明文消息所拥有的条件,对该消息进行加密,生成该消息的原始密文;
[0064] 代理重加密密钥生成模块,用于根据系统公开参数、用户的身份信息和受理方的 身份信息、用户的公钥、私钥和受理方的公钥,W及用户证书和明文消息所拥有的条件,生 成代理重加密密钥;
[0065] 代理重加密模块,用于根据系统公开参数、原始密文W及代理重加密密钥,生成代 理重加密密文;
[0066] 解密模块,用于根据密文是原始密文或重加密密文分别进行不同处理来恢复明 文:若为原始密文,则通过系统公开参数、用户的私钥、用户证书W及加密消息所拥有的条 件,恢复明文消息;若为代理重加密密文,则通过系统公开参数、用户的私钥W及用户证书, 恢复明文消息。
[0067] 本发明采用W上技术方案与现有技术相比,具有W下技术效果:
[006引本发明将基于证书密码体制和代理重加密体制相结合,提供了一种基于证书代理 重加密方法。受益于基于证书密码体制的优良性能,本发明所提出的方法不仅简化了证书 的管理过程,而且不存在密钥分发和密钥巧管的问题。采用上述方案后,本发明在保证加密 安全的情况下,灵活的进行在线重加密,控制了代理中也的重加密能力,使得只有符合条件 的密文可W有效地重加密,同时使用基于证书机制,拥有传统公钥加密和基于身份加密的 优势,性能优良,便于开放网络环境中应用。因此本发明是一种新的安全高效的加密方法。

【专利附图】

【附图说明】
[0069] 图1是本发明所述的基于证书条件代理重加密系统的示意图。
[0070] 图2是本发明所述的基于证书条件代理重加密方法的流程图。

【具体实施方式】
[0071] 下面结合附图对本发明的技术方案做进一步的详细说明:
[0072] 本发明所述基于证书条件代理重加密方法可基于双线性对来实现,下面简要介绍 双线性对的相关概念和所需满足的性质:
[007引令Gi、Gs是阶为P的乘法循环群,其中P为素数,g是Gi的生成元。假设Gi和Gs 该两个群上的离散对数问题都是困难问题。定义群上的双线性映射为;e:GiXGi - G,,且满 足下面的性质:
[0074] 1.双线性;e (ga,gb) = e (g,g) ab,对所有的 a, b G Zp* 和 g G Gi 均成立。
[00巧]2.非退化性;(?权'引*1〇.,其中1是Gs的单位元。
[0076] 3.可计算性;存在有效算法来计算e。
[0077] 可W注意到;e 是可交换的,因为 e(ga,gb) = e(g,g)ab = e(gb,ga)。
[0078] 本发明所述方法设计的实体如下:
[0079] 1.证书中也;负责系统参数生成,即生成系统主密钥和系统公开参数集,W及对 系统用户进行验证并签发证书的可信第H方。
[0080] 2.委巧方:加密消息的原始接收者,是委巧受理方行使解密权的实体。
[0081] 3.受理方:接收委巧方的授权,代表委巧方行使解密权的实体。
[0082] 4.代理重加密中也;接收委巧方的代理重加密委巧,行使将委巧方的原始密文转 化为重加密密文的半可信第H方。
[0083] 5.发送者:消息的原始发送实体。
[0084] 参照附图1,本发明所述系统包括:系统参数设置模块A、用户密钥生成模块B、证 书生成模块C、加密模块D、代理重加密密钥生成模块E、代理重加密模块F、解密模块G。
[0085] 其中系统参数设置模块A,用于生成系统主密钥msk和系统公开参数params,并将 系统主密钥msk发送给证书生成模块C,同时将系统公开参数params分别发送给用户密钥 生成模块B、证书生成模块C、加密模块D、代理重加密密钥生成模块E、代理重加密模块F、解 密模块G。
[0086] 用户密钥生成模块B,用于通过系统参数设置模块发送的系统公开参数params, 生成各个用户的公钥Pki和私钥对USki,并将用户的公钥Pki分别发送给证书生成模块C、 加密模块D和代理重加密密钥生成模块E,同时将用户的私钥USki分别发送给代理重加密 密钥生成模块E、解密模块G。
[0087] 证书生成模块C,用于通过系统参数设置模块发送的系统主密钥和系统公开参数 params,对用户的身份idi,公钥Pki和证书有效期限T进行签名,产生用户证书CedT, 1,并 将用户证书CedT J分别发送给代理重加密密钥生成模块E和解密模块G。
[0088] 加密模块D,用于通过系统参数设置模块发送的系统公开参数params,用户密钥 产生模块B发送的用户公钥Pki和身份信息idi W及要发送的明文消息m所拥有的条件C, 对该消息m进行加密,生成该消息的原始密文并将原始密文。分别发送给代理重加密 模块F和解密模块G。
[0089] 代理重加密密钥生成模块E,用于通过系统参数设置模块发送的系统公开参数 params,委巧方的身份信息idi和受理方的身份信息idj.,用户密钥生成模块B发送的委巧 方的公钥pki、私钥USki和受理方的公钥pkj.,证书生成模块发送的委巧方的证书Ced T, i W 及消息所拥有的条件C,生成代理重加密密钥rki, W.,并将代理重加密密钥发送给代 理重加密模块F。
[0090] 代理重加密模块F,用于通过系统参数设置模块发送的系统公开参数params,加 密模块D发送的原始密文。W及代理重加密密钥生成模块E发送的代理重加密密钥rki,。,J, 生成代理重加密密文Cj.,并将该密文Cj.发送给解密模块G。
[0091] 解密模块G,用于根据密文属于原始密文或重加密密文分别进行不同处理来恢复 明文:
[0092] 若密文是加密模块D生成的原始密文。,通过系统参数设置模块A发送的系统公 开参数params,用户密钥生成模块B生成的接收者的私钥uski,证书生成模块C生成的接 收者的证书W及加密消息所拥有的条件C,恢复明文消息m ;
[0093] 若密文是代理重加密模块生成的重加密密文Cj.,通过系统参数设置模块A发送的 系统公开参数params,用户密钥生成模块B生成的接收者的私钥USkj. W及证书生成模块C 生成的接收者的证书Ced T,j,恢复明文消息m。
[0094] 参照附图2,下面介绍本发明的具体步骤:
[0095] 该系统参数设置模块A执行W下步骤:
[009引 Al.选取阶为P的乘法循环群Gi,Gs W及双线性映射e:GiXGi - G2,其中P为1024 位的整数;
[0097] A2.随机选取Gi的一个生成元g,选取六个抗碰撞的杂凑哈希 函数 Hi: {0, 1}* 一 〇1,电:{0, irXGs - Zp*, Hs = GiXZp* - 〇1,H4:G2 - 1} n,Hs: {0, ir 一 Gi, He: {0, ir 一 Gi ;其中Hi是{0, ir到Gi的密码学哈希函数,&是笛卡尔积 {〇, U"XGs到Zp*的密码学哈希函数,&是笛卡尔积GiXZp*到Gi的密码学哈希函数,是 G,到{0, l}n的密码学哈希函数,Hg是{0, ir到Gi的密码学哈希函数,He是{0, ir到Gi的 密码学哈希函数,其中,{〇,ir表示标识长度不确定的二进制比特串集合,n表示明文的比 特长度,{〇,l}n表示长度为n的二进制比特串集合,UurxGs表示{0,l}n和群Gs的笛卡 尔积,GiXZ/表示群Gi和Z/的笛卡尔积,其中表示集合{1,2,…,P-U。
[009引 A3.随机选取a G Zp*,计算gi = g°,其中Z;表示集合{1, 2,…,P-U ;
[0099] 综合上述信息系统公开参数params为咕,G2, g,gi,日,Hi, &,&,也H日,&},系统主 密钥msk为a。
[0100] 用户密钥生成模块B执行W下步骤:
[01(n] BI.随机选取Xi G ZpM乍为用户的私钥usk。其中《表示集合(1,2,…,P-U ;
[0102] B2.计算诉=各M乍为用户的公钥。
[0103] 证书生成模块C执行W下步骤:
[0104] Cl.定义证书有效期限T ;
[010引 C2.计算 Si = Hi ( T , id。pki),得到用户证书 Ce;rtT,i = s/。
[0106] 加密模块D执行W下步骤:
[0107] DL将消息的特殊标识类型C G Z/作为加密条件(如"周一"发送的消息),其中 写表示集合{1,2,…,P-1};
[010引 D2.计算 Si = Hi( T , idi,pki),hi = H3(pk。C);
[010引 D3.随机选取 5 G G2,计算 r = H2(m,5 );
[0110] D4.计算 Cl = gt, C2 = 5 ? (e(pk。hi) ? e(s。gi))r, C3 = m ? Ha( S ), C4 = e (Sft, pki ? gi) t,Cs = Hs (Cl, C2, C3, C4) t,获得原始加密密文。=咕,C2, C3, C4, Cs)。
[0111] 代理重加密密钥生成模块E执行W下步骤:
[om] EL随机选取y G Zp%计算诚,=各-''了',其中Z;表示集合{1, 2,…,p-:L};
[011 引 E2.计算 hi = & (pk。c),'々2 = (V 如/ r ;
[0114] E3.随机选取 R G G2,计算 Sj = Hi ( T , idj, pkj)和 Si = Hi ( T , id。地);
[01 巧]E4.计算 k = e (Ce;rt T,i, Sj)和 rks = Ce;rt T,i * Hg 也 idj, pkj, R);
[0116] E5.计算诚4 ,诚5 =(Certy..s/'')。
[0117] 获得代理重加密密钥 rki,e,j = (rki, rkg, rks, rk4, rkg)。
[0118] 代理重加密模块F执行W下步骤:
[0119] Fl.验证等式e(Cl,H5(Cl,C2,C3,C4))=e(g,C5)是否成立,若等式成立,继续重加 密;若等式不成立,拒绝重加密;
[0120] F2.验证等式e (rkg,Cl) = Ca是否成立,若等式成立,继续重加密;若等式不成立, 拒绝重加密;
[012" F3.计算 W 1 = e (Cl,成)和二 1/e 咕,rks);
[012引 F4.计算 C' 2 二〔2 * W 1 ? W 2 ;
[012引 F5.设置 C' 1 = Ci,C' 3 = C3,C' 4 = rki,C' 5 = rk4 ;获得重加密密文 Cj = (C' 1,C' 2, C' 3, C' 4, C' 5)。
[0124] 解密模块G判断密文形式是原始密文还是重加密密文,若是原始密文,进行步骤 Gl至G4 ;G1.验证等式e (Cl, Hs (Cl, C2, Cs, C4)) = e (g,Cs)是否成立,若等式成立,继续进行 解密;若等式不成立,拒绝解密;
[012引 G2.计算 hi = & (pk。C)和 = C / (e(Ci,/v'''). e(Ci,CWr.,));
[012引 G3.计算 m =〔3 ffi ( 5 );
[0127] G4.计算r = H2(m, 5 ),验证等式gt = Cl,若等式成立,恢复明文消息m ;若等式不 成立,拒绝恢复明文消息。
[0128] 若为代理重加密密文,进行步骤G5-G8 ;
[0129] G5.计算 Si = Hi ( T , id。pki)和 R = C' g/e (C' 4, Ce;rt T,j);
[0130] G6.计算 k = e(s。Cert"), = Q .e(〔i,G ?<?((:; 却,成,巧));
[013" G7.计算 m = C' 3 ? Ha(S);
[013引 G8.计算r = H2(m,5 ),验证等式gt = Cl,若等式成立,恢复明文消息m ;若等式不 成立,拒绝恢复明文消息。
[0133] W上只是对本发明的优选实施方式进行了描述。对该【技术领域】的普通技术人员来 说,根据W上实施方式可W很容易地联想到其它的优点和变形。因此,本发明并不局限于上 述实施方式,其仅仅作为例子对本发明的一种形态进行详细、示范性的说明。在不背离本 发明宗旨的范围内,本领域普通技术人员在本发明技术的方案范围内进行的通常变化和替 换,都应包含在本发明的保护范围之内。
【权利要求】
1. 一种基于证书条件代理重加密方法,其特征在于,包括如下步骤: A、 设定系统公开参数params和系统主密钥msk ; B、 根据所述系统公开参数params生成用户的公钥Pki和私钥Uski ; C、 根据所述系统主密钥msk和系统公开参数params,对用户的身份idp用户的公钥Pki和用户证书的有效期T进行签名,生成用户的证书CertT,i; D、 根据所述系统公开参数params、证书的有效期T、加密条件c、用户的身份idi和用 户的公钥Pki,对消息m进行加密得到原始密文Ci ; E、 根据所述系统公开参数params、用户的身份idp用户公钥pkp私钥uskp用户的证 书CertT;i、受理方的身份idp受理方公钥ph和加密条件c,生成代理重加密密钥rki;cU ; F、 根据所述系统公开参数params、原始密文Ci和代理重加密密钥rki;cU,生成代理重 加密密文Cj ; G、 判断所接收到的密文是原始密文或者是代理重加密密文,分别进行以下处理: 若为原始密文,则根据所述系统公开参数params、用户私钥uskp用户证书Certy和 条件c,恢复出相应的明文消息m ; 若为代理重加密密文,则根据所述系统公开参数params、用户私钥ush和用户证书 Cert T,恢复出相应的明文消息m。
2. 如权利要求1所述的基于证书条件代理重加密方法,其特征在于,所述步骤A包括: Al、选取阶为p的乘法循环群GpG2以及双线性映射^G1XG1 - G2 ; A2、随机选取G1的一个生成元g,选取六个抗碰撞的杂凑哈希函 数 H1: {0, 1}* - G1, H2: {0, 1} nX G2 - Zp*,H3=G1XZp* - G1, H4: G2 - {0, 1}n,H5: {0, 1}* -G11H6: {0, Ir-G1 ; A3、随机选取a G Z/,其中Z(表示集合{1,2, . . .,p-1},计算gi = g° ; 系统公开参数 params 为(G1, G2, g, gp e, H1, H2, H3, H4, H5, Hj,系统主密钥 msk 为 a ; 其中,杂凑哈希函数氏是{0, 1}#到匕的密码学哈希函数,H2是笛卡尔积{0, 1}"\62到 Z/的密码学哈希函数,H3是笛卡尔积G1X Z/到G1的密码学哈希函数,H4是G2到{0, 1}n的 密码学哈希函数,H5是{0, 1}#到G1的密码学哈希函数,H6是{0, 1}#到G1的密码学哈希函 数,{〇,1}#表示标识长度不确定的二进制比特串集合,n表示明文的比特长度,{〇,1}11表示 长度为n的二进制比特串集合,{0, l}nXG2表示{0, l}n和群G2的笛卡尔积,G1XZ/表示群 G1和Z/的笛卡尔积,其中Z)表示集合{1,2,. . .,p-1}。
3. 如权利要求2所述的基于证书条件代理重加密方法,其特征在于,所述步骤B包括: B1、随机选取\ G Z/,将\作为用户的私钥Uski,其中 <表示集合{l,2,...,p-l}; B2、计算=F,将Pki作为用户的公钥。
4. 如权利要求3所述的基于证书条件代理重加密方法,其特征在于,所述步骤C包括: Cl、定义证书有效期T ; C2、计算 Si = H1 ( T,idi, Pki),得到用户证书 Cert:」=sj。
5. 如权利要求4所述的基于证书条件代理重加密方法,其特征在于,所述步骤D包括: D1、将消息的特殊标识类型c G Z/作为加密条件,其中<表示集合{1,2,. . .,p-1}; D2、计算 Si =氏(T,ic^pki),!^ = H3(pki, c); D3、随机选取S G G2,计算r = H2 (m, S ); D4、计算: C1 = gr,C2 = 5 ? (e (pk" Iii) ? e (Si, gD)r,C3 = m ? H4 ( 5 ),C4 = e (s,,Pki ? gDr,C5 = H5 (C1, C2, C3, C4)' 获得原始加密密文 Ci = (C1, C2, C3, C4, C5)。
6. 如权利要求5所述的基于证书条件代理重加密方法,其特征在于,所述步骤E包括: E1、随机选取y G Z/,计算其中Z;;表示集合{l,2,...,p-l}; E2、计算 A,. =//3(沐,£),r/c2 =(々_? ; E3、随机选取 R G G2,计算 Sj = H1 ( T,id」, pkj)和 Si = H1 ( T,idi, Pki); E4、计算 k = ef^Certy, Sj)和 rk3 = Cert:」? H6(k, id』, pkj, R); E5、计算A4 = A. e(及厂,4 = (CeH.' ,获得代理重加密密钥rki;。,j = Crk1, rk2, rk3, rk4, rk5) 〇
7. 如权利要求6所述的基于证书条件代理重加密方法,其特征在于,所述步骤F包括: ?1、验证等式6((:1,115((:1,(:2,(: 3,(:4))=6&,(:5)是否成立,若等式成立,继续重加密 ;若 等式不成立,拒绝重加密; F2、验证等式e (rk5, C1) =C4是否成立,若等式成立,继续重加密;若等式不成立,拒绝 重加密; F3、计算 W1 = efX^rkJ 和 w2 = IVe(C^rk3); F4、计算 C2' = C2 ? w i ? O2 ; F5、设置 C/ =QCV =C3,C/ =rk4;获得重加密密文(^.= (c/,cv,cv,c/,c5')。
8. 如权利要求7所述的基于证书条件代理重加密方法,其特征在于,在步骤G中,若接 收到的密文是原始密文时,具体包括以下处理步骤: Gl、验证等式e (C1, HdQ,C2, C3, C4)) = e(g, C5)是否成立,若等式成立,继续进行解密; 若等式不成立,拒绝解密; G2、计算 Iii = H3(Pki, c)和S = G3、计算 m = C3 ? H4( 3 ); G4、计算r = H2(m, 5 ),验证等式g1" = C1,若等式成立,恢复明文消息m ;若等式不成立, 拒绝恢复明文消息。
9. 如权利要求7所述的基于证书条件代理重加密方法,其特征在于,在步骤G中,若接 收到的密文是代理重加密密文时,具体包括以下处理步骤: G5、计算 Si = H1(T^idilPki)和 R = C5' /e(C4',CertT,j); G6、计算免=c,(.s.,,),(y = +-:. r4 j .小h G7、计算 m = C3' ? H4( 3 ); G8、计算r = H2(m, 5 ),验证等式g1" = C1,若等式成立,恢复明文消息m ;若等式不成立, 拒绝恢复明文消息。
10. -种基于证书的条件代理重加密系统,其特征在于,包括: 系统参数设置模块,用于生成系统主密钥和系统公开参数; 用户密钥生成模块,用于根据系统公开参数生成各个用户的公钥和私钥对; 证书生成模块,用于根据系统主密钥和系统公开参数,对用户的身份、用户的公钥和用 户证书有效期进行签名,产生用户证书; 加密模块,用于根据系统公开参数、用户的公钥、用户的身份信息、用户证书的有效期 以及要发送的明文消息所拥有的条件,对该消息进行加密,生成该消息的原始密文; 代理重加密密钥生成模块,用于根据系统公开参数、用户的身份信息和受理方的身份 信息、用户的公钥、私钥和受理方的公钥,以及用户证书和明文消息所拥有的条件,生成代 理重加密密钥; 代理重加密模块,用于根据系统公开参数、原始密文以及代理重加密密钥,生成代理重 加密密文; 解密模块,用于根据密文是原始密文或重加密密文分别进行不同处理来恢复明文:若 为原始密文,则通过系统公开参数、用户的私钥、用户证书以及加密消息所拥有的条件,恢 复明文消息;若为代理重加密密文,则通过系统公开参数、用户的私钥以及用户证书,恢复 明文消息。
【文档编号】H04L29/06GK104363218SQ201410614744
【公开日】2015年2月18日 申请日期:2014年11月4日 优先权日:2014年11月4日
【发明者】李继国, 赵雪霞, 张亦辰, 陆阳, 王瑶, 李磊, 沙凤杰, 姚伟, 林啸南, 张全领, 汪海萍, 赵晶晶, 郭俊, 石岳蓉 申请人:河海大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1