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

文档序号:8322030阅读:1037来源:国知局
基于身份的代理重加密方法和系统的制作方法
【技术领域】
[0001]本发明涉及密码学技术领域,尤其涉及一种基于身份的代理重加密方法和系统。
【背景技术】
[0002]基于身份的密码学是由Shamir于CRYPTO’84中提出,直到Cocks使用模RSA合数的二次剩余性质给出了基于身份的加密方案,和Boneh与Franklin使用椭圆曲线上双线性配对给出基于身份的加密方案后,基于身份的密码学,特别是基于椭圆曲线上双线性配对的基于身份的密码学,得到了飞速发展和应用。基于身份的密码体制与传统公钥密码体制相比较,不需要证书体制,可以方便地利用身份信息对消息加密并传送。
[0003]随着应用需求的不断提高,信息量的不断增长,迫切需要公钥密码体制满足新的特点。代理重加密方案起源于Mambo和Okamoto提出的委托解密权利,随后代理重加密方案由Blaze, Bleumer和Strauss首先给出,此方案是建立在基于Elgamal加密基础上的。在一个代理重加密方案中,代理者可以将发送给一个接收者的密文重新加密变成发送给另一个接收者的密文,委托者可以通过代理者将密文转化为受委托者的密文。因此,开发一种安全、有效的基于身份的重加密方案是十分有必要的。

【发明内容】

[0004]本发明的实施例提供了一种基于身份的代理重加密方法和系统,以实现安全、有效的基于身份的重加密方案。
[0005]本发明提供了如下方案:
[0006]一种基于身份的代理重加密方法,包括:
[0007]密钥生成中心选择安全参数,基于所述安全参数生成并公开系统参数,根据所述系统参数和委托者、受委托者的身份信息分别生成委托者、受委托者的私钥;
[0008]消息发送方加密明文信息得到密文消息,将所述密文消息发送给所述委托者,所述委托者利用受委托者的身份信息和委托者的私钥生成重加密密钥,将所述重加密密钥和密文消息发送给代理者;
[0009]所述代理者用所述重加密密钥重新加密所述密文消息,得到重加密密文,将所述重加密密文发送给受委托者;
[0010]所述受委托者利用自己的私钥解密所述重加密密文,计算得到所述明文信息。
[0011]所述密钥生成中心选择安全参数,基于所述安全参数生成并公开系统参数,包括:
[0012]密钥生成中心基于安全参数k,选取定义在素数阶有限域上的椭圆曲线E,构造椭圆曲线E上的一个非对称性配对^G1 XG2 — Gt,,其中G1和G2为素数阶P的循环群,G1的生成元为P,G2的生成元为Q,随机选取参数α,β,Y e Zp,其中Zp = {O, I,…,p_l},选取安全的哈希函数H:GT — G2 ;
[0013]记P1 = α P,Q1 = a Q, R1 = y P, S1 = Y Q, V = e (P, Q) α 0 ;
[0014]设定主密钥为α β Q,公开参数为(G1, G2, e,P,Q,P1, Q1, R1, S1, H,v)。
[0015]所述根据所述系统参数和委托者、受委托者的身份信息分别生成委托者、受委托者的私钥,包括:
[0016]设用户的身份Uid e Zp,其中Zp={0,1,…,P-1},随机选取25中非零参数r,计算(I1=O β Q+rUjnQi+rS^ d2=rQ,所述用户为委托者和受委托者;
[0017]密钥生成中心生成所述用户的私钥为dID= (Clpd2),将所述用户的私钥dID传输给所述用户。
[0018]所述消息发送方加密明文信息得到密文消息,将所述密文消息发送给委托者,包括:
[0019]所述消息发送方选取待发送的明文信息M,其中M e Gt ;
[0020]所述消息发送方随机选取非零参数s e Zp,计算C1 = Mvs, C2 = sP, C3 = SUaPJsR1,其中Ua为委托者的身份信息;
[0021]所述消息发送方计算密文消息为CT = (C1, C2, C3),将密文消息CT发送给所述委托者。
[0022]所述委托者利用受委托者的身份信息和委托者的私钥生成重加密密钥,将所述重加密密钥和密文消息发送给代理者,包括:
[0023]所述委托者A随机选取消息K e Gt,和参数t e Zp,用所述受委托者B的身份Ub来加密消息 K 得到(C4, C5, C6),其中 C4=Kvt,,C5=tP, C6=tUBP1+tR1 ;
[0024]所述委托者将重加密密钥dA —B=(d' 1; d2,C4, C5, C6)和密文消息CT = (C1, C2, C3)发送给所述代理者,其中d' !=屯+H⑷,(屯,d2)为所述委托者的私钥。
[0025]所述代理者用所述重加密密钥重新加密所述密文消息,得到重加密密文,将所述重加密密文发送给受委托者,包括:
[0026]所述代理者计算C' I = (^(C3, d2)/e(C2, (Γ J ;
[0027]所述代理者用所述重加密密钥dA —B重新加密所述密文消息CT,得到重加密密文(C' ,,C' 2,C4C5, C6),其中 c' 2=c2 ;
[0028]所述代理者将所述重加密密文发送给所述受委托者。
[0029]所述受委托者利用自己的私钥解密重加密密文,计算得到所述明文信息,包括:
[0030]所述受委托者B收到所述重加密密文(C'2,C4,C5,C6)后,对于部分密文消息(C4, C5, C6),计算 K=C4e (C6, dB2)/e(C5, dB1),其中(dB1,dB2)为受委托者的私钥;
[0031]所述受委托者计算得到明文信息M=C' ie(C' 2,H(K))。
[0032]一种基于身份的代理重加密系统,包括:密钥生成中心、消息发送方、委托者、代理者和受委托者,
[0033]所述的密钥生成中心,用于选择安全参数,基于所述安全参数生成并公开系统参数,根据所述系统参数和委托者、受委托者的身份信息分别生成委托者、受委托者的私钥,并将委托者、受委托者的私钥分别发送给所述委托者、受委托者;
[0034]所述的消息发送方,用于加密明文信息得到密文消息,将所述密文消息发送给所述委托者;
[0035]所述的委托者,用于利用所述受委托者的身份信息和委托者的私钥生成重加密密钥,将所述重加密密钥和密文消息发送给所述代理者;
[0036]所述的代理者,用于用所述重加密密钥重新加密所述密文消息,得到重加密密文,将所述重加密密文发送给所述受委托者;
[0037]所述的受委托者,利用自己的私钥解密重加密密文,计算得到所述明文信息。
[0038]所述的密钥生成中心,具体用于基于安全参数k,选取定义在素数阶有限域上的椭圆曲线E,构造椭圆曲线E上的一个非对称性配对e =G1XG2 — Gt,其中G1和G2为素数阶P的循环群,G1的生成元为P,G2的生成元为Q,随机选取参数α,β,Y e Zp,其中Zp= {0,1,…,P-1},选取安全的哈希函数H:GT — G2 ;
[0039]记P1 = α P, Q1 = a Q, R1 = y P, S1 = Y Q, V=E (P, Q) α 0 ;
[0040]设定主密钥为α β Q,公开参数为(G1, G2, e,P,Q,P1, Q1, R1, S1, H,v);
[0041]设用户的身份Uid e Zp,其中Zp = {0,1,..., p-ι},随机选取Zp中非零参数r,计算(I1=Ct β Q+rUjnQi+rS^ d2=rQ,所述用户为委托者和受委托者;
[0042]生成所述用户的私钥为dID= (Cl1, d2),将所述用户的私
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1