基于身份的代理重加密方法和系统的制作方法_2

文档序号:8322030阅读:来源:国知局
钥dID传输给所述用户。
[0043]所述的消息发送方,具体用于选取待发送的明文信息M,其中M e Gt,
[0044]随机选取非零参数S e Zp,计算C1 = Mvs, C2 = sP, C3 = SUaPJsR1,其中Ua为委托者的身份信息;
[0045]计算密文消息为CT= (C1, C2, C3),将密文消息CT发送给委托者。
[0046]所述的委托者,具体用于随机选取消息K e Gt,和参数t e Zp,用所述受委托者的身份 Ub 来加密消息 K 得到(C4, C5, C5),其中 C4=Kvt,,G5=tP, C6=tUBP1+tR1,
[0047]将重加密密钥dA —B=(d' 1; d2,C4, C5, C6)和密文消息CT=(C1; C2, C3)发送给所述代理者,其中d' fdi+H⑷,(屯,d2)为所述委托者的私钥。
[0048]所述的代理者,具体用于计算C'd2)/e(C2,d' 用所述重加密密钥dA —B重新加密所述密文消息CT,得到重加密密文(C' 1; C1 2,C4,C5,C6),其中C' 2=C2,将所述重加密密文发送给所述受委托者。
[0049]所述的受委托者,用于收到所述重加密密文(C' 1; Ci 2,C4,C5,C6)后,对于部分密文消息化4,(:5,(:6),计算1(=(^((:6,42)/6((:5,(^),其中(dB1,dB2)为所述受委托者的私钥。
[0050]计算得到明文信息M=C' ie(C' 2,H(K))。
[0051]由上述本发明的实施例提供的技术方案可以看出,本发明实施例在现有的基于身份的加密方案基础上构造出了基于身份的重加密方案,委托者即密文接收者可以将重加密密钥给代理者,代理者使用重加密密钥对密文消息进行重加密,受委托者可以使用自己的私钥对重加密密文进行解密得到明文信息。从而实现了代理重加密功能。代理重加密可以应用于邮件,委托,访问控制等。此方案是易于实现,而且代理者不能获得委托者的密钥和明文信息,受委托者可以通过自己的私钥从新的密文中获取明文信息,是安全的而且有效的。
【附图说明】
[0052]为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0053]图1为本发明实施例一提供的一种基于身份的代理重加密方法的处理流程图;
[0054]图2为本发明实施例二提供的一种基于身份的代理重加密系统的结构图,图中,密钥生成中心210、消息发送方220、委托者230、代理者240和受委托者250。
【具体实施方式】
[0055]为便于对本发明实施例的理解,下面将结合附图以几个具体实施例为例做进一步的解释说明,且各个实施例并不构成对本发明实施例的限定。
[0056]本发明实施例所述技术方案涉及的实体如下:
[0057]密钥生成中心:密钥生成中心选择安全参数,基于安全参数选择合适的椭圆曲线以及其上的双线性配对,并选择相关的参数,得到系统的公共参数和秘密私钥,公开系统公共参数,保存好秘密私钥。根据用户的身份,选择相关参数,生成基于用户身份的私钥,并将该私钥通过安全通道传送给用户。
[0058]消息发送方:消息发送方选择要发送的消息,使用接收者用户的身份对消息进行加密得到密文消息,并将密文消息传送给委托者。
[0059]委托者:即密文消息接收者,委托者选择受委托者,使用受委托者的身份和自己的私钥生成重加密密钥,并将重加密密钥和密文消息交给代理者。
[0060]代理者:代理者使用委托者传输过来的重加密密钥,收到委托者的密文消息,使用重加密密钥对密文消息进行重加密,得到重加密密文,并将该重加密密文传送给受委托者。
[0061]受委托者:收到重加密密文后,使用自己的私钥对重加密密文解密得到明文信息。
[0062]实施例一
[0063]该实施例提供了一种基于身份的代理重加密方法的处理流程如图1所示,包括如下的处理步骤:
[0064]步骤S110、密钥生成中心选择安全参数,基于安全参数生成并公开系统参数。
[0065]密钥生成中心基于安全参数k,选取定义在素数阶有限域上的椭圆曲线E,构造椭圆曲线E上的一个非对称性配对e =G1XG2 — Gt,其中G1和G2为素数阶P的循环群,G1的生成元为P,G2的生成元为Q。随机选取参数α,β,Y e Zp,其中Zp = {O, I,..., p-1}。选取安全的哈希函数H:GT — G2 ;
[0066]记P1 = α P,Q1 = a Q, R1 = y P, S1 = Y Q, V = e (P, Q) α 0。
[0067]设定主密钥为α β Q。系统公开参数为(G1, G2, e,P,Q,P1, Q1, R1, S1, H,H,v)。
[0068]步骤S120、密钥生成中心生成用户的密钥,并发送给用户。
[0069]设用户的身份Uid e Zp,其中Zp={0,1,…,p-1},随机选取25中非零参数r,计算(I1=O β Q+rUjnQi+rS^ d2=rQ0所述用户为委托者和受委托者。
[0070]密钥生成中心生成用户的私钥为d2),将用户私钥dID传输给上述用户。
[0071]步骤S130、消息发送方加密明文信息得到密文消息,将密文消息发送给委托者。
[0072]消息发送方选取待发送的明文信息M,其中M e GT。
[0073]消息发送方随机选取非零参数S e Zp,计算C1 = Mvs, C2 = sP, C3 = SUaPJsR1^中Ua为密文消息接收者A的身份,消息M隐藏在C1中。
[0074]消息发送方计算密文消息为CT = (C1, C2, C3)将密文消息CT发送给委托者A。
[0075]步骤S140、委托者利用受委托者的身份信息和委托者的私钥生成重加密密钥,将所述重加密密钥和密文消息发送给代理者。
[0076]委托者A随机选取消息K e Gt,和参数t e ZP,用受委托者B的身份Ub来加密消息K得到(C4, C5, C6),其中C4=Kvt,,C5=tP, CftUR+tRp将随机消息K隐藏在C4中。
[0077]委托者将重加密密钥dA —B=(d' 1; d2,C4, C5, C6)和密文消息CT = (C1, C2, C3)发送给代理者,其中d' i = ClJH(K) ,(Clpd2)为委托者A的私钥,这样委托者A的部分私钥Cl1被随机消息K所隐藏。
[0078]步骤S150、代理者用所述重加密密钥重新加密所述密文消息,得到重加密密文,将所述重加密密文发送给受委托者。
[0079]代理者计算C' ! = 0^(03, d2)/e (C2, Cli J ;得到与随机消息K相关的信息C' !
[0080]代理者用上述重加密密钥44重新加密上述密文消息CT,得到重加密密文(C' 1;C' 2,C4,C5,C6),其中 c' 2=c2
[0081 ] 代理者将重加密密文发送给受委托者。
[0082]步骤S160、受委托者利用自己的私钥解密所述重加密密文,计算得到所述明文信肩、O
[0083]受委托者B收到上述重加密密文(C' 1; C1 2,C4,C5,C6)后,对于部分密文消息(C4, C5, C6),可使用计算K=C4e(C6,dB2)/e(C5, dB1),其中(dB1,dB2)为受委托者的私钥。
[0084]受委托者计算得到明文信
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1