CN101459511A - 层次结构的基于身份的公钥加密方法 - Google Patents

层次结构的基于身份的公钥加密方法 Download PDF

Info

Publication number
CN101459511A
CN101459511A CNA2007101792633A CN200710179263A CN101459511A CN 101459511 A CN101459511 A CN 101459511A CN A2007101792633 A CNA2007101792633 A CN A2007101792633A CN 200710179263 A CN200710179263 A CN 200710179263A CN 101459511 A CN101459511 A CN 101459511A
Authority
CN
China
Prior art keywords
private key
identity information
identity
prime
centerdot
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA2007101792633A
Other languages
English (en)
Other versions
CN101459511B (zh
Inventor
翁健
刘胜利
陈克非
张庆胜
郭宝安
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Aisino Corp
Original Assignee
Aisino Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Aisino Corp filed Critical Aisino Corp
Priority to CN2007101792633A priority Critical patent/CN101459511B/zh
Publication of CN101459511A publication Critical patent/CN101459511A/zh
Application granted granted Critical
Publication of CN101459511B publication Critical patent/CN101459511B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Mobile Radio Communication Systems (AREA)

Abstract

本发明为一种层次结构的基于身份的公钥加密方法,其包括的步骤在于,步骤a:建立系统所需要的系统参数;步骤b:针对给定的用户或私钥产生器的身份信息,生成与所述的用户或私钥产生器身份信息相对应的私钥;步骤c:利用所述的用户或私钥产生器的身份信息作为公钥,对给定的明文进行加密,得到相应的密文;步骤d:利用与所述的用户或私钥产生器身份信息相对应的私钥,对所述的密文进行解密,得到相应的明文。

Description

层次结构的基于身份的公钥加密方法
技术领域
本发明涉及的是一种加/解密算法,特别涉及的是一种层次结构的基于身份的公钥加密方法。
背景技术
传统的公钥加密方法中,用户的公钥一般是随机字符串,与自己的身份毫不相关。为了给一个用户发送加密的消息,发送方必须首先得到该用户经过认证后的公钥。公钥的认证一般都有CA(Certificate Authority)发放公钥证书来完成,而公钥证书正是把用户的身份信息与其公钥绑定起来的桥梁。基于身份的公钥加密体制的思想是直接利用用户的身份信息做为用户的公钥。这样任何人都可以直接利用用户的身份信息直接加密明文,省去了公钥的认证步骤,也省去了CA对公钥证书的繁琐的管理。基于身份的公钥加密体制的思想是由Shamir于1984年首先提出。但是直到2001年,真正实用的系统才有Boneh和Franklin以及Cocks开发出来。
自Boneh和Franklin的开创性工作以来,几乎所有的基于身份的公钥加密体制都是基于双线性配对(Bilinear Pairing)的。
现对双线性配对的概念进行说明:
双线性配对:设G和GT是两个循环群,两个群的阶都为p,其中p是一个至少160比特的大素数。不失一般性,现在假设这两个群都是乘法群。设双线性配对是一个从集合G×G到集合GT的一个映射,表示为e:G×G→GT,该映射具有如下性质:
双线性:对于任意g1,g2∈G和任意的整数a,b∈Z*p,有e(g1 a,g2 b)=e(g1,g2)ab
非退化性:存在g1,g2∈G使得e(g1,g2)≠1;
可计算性:对任意的g1,g2∈G,都可以快速地计算e(g1,g2)的值。
基于身份的公钥加密体制都有一个私钥产生中心(Prviate Key Generator,简称PKG)。PKG管理所有的用户,并向用户提供在线服务。如图1所示。对于每一个向PKG提交身份信息进行私钥查询的用户,该PKG首先负责对用户进行认证,用户认证通过后,PKG为用户生成与身份信息相对应的私钥,并经过安全信道向用户发放私钥。一般来说,为用户生成私钥需要一定的计算量。当系统中的用户数目增多后,用户的私钥查询需求增多,PKG就会异常繁忙,成为系统的瓶颈。
层次架构的基于身份的公钥体系设有多个PKG,以分担单个PKG的工作负荷和繁重业务。在一个具有l层的层次架构的体系下,实体为各个PKG和用户。可以用树来表示层次架构。最高一层是一个根PKG(第0层),为树根;最低一层第l层是各个用户,为叶子结点;中间共有l-1层中每一层都必有PKG,也可以有用户。除根PKG外,每个实体都有自己的身份信息,其完整的身份信息由树根至该实体的路径的各个身份信息联结而成。
图2是一个具有三层结构的基于身份的公钥体系。其中,各用户的完整身份信息如下:
用户A的完整的身份信息是:IDA
用户B的完整的身份信息是:
用户C的完整的身份信息是:
用户D的完整的身份信息是:
用户E的完整的身份信息是:
Figure A200710179263D00074
用户F的完整的身份信息是:
第一层的
Figure A200710179263D00076
的完整的身份信息是:
Figure A200710179263D00077
第二层的
Figure A200710179263D00078
的完整的身份信息是:
Figure A200710179263D00079
每一层PKG都直接负责管理其子结点,即其下层的子PKG和用户,也有权力越层管理其所有的子孙结点。这里所说的管理某实体,包括对该实体进行身份认证,并为该实体产生与其身份相对应的私钥,还要负责将私钥秘密传递给该实体。例如,在图2中根PKG(0)直接负责管理其子结点:用户A, PKG 1 ( 1 ) , PKG 2 ( 1 ) , . . . , PKG m ( 1 ) . 也有权力管理图2中所有的PKG和用户。
第一层的PKG直接负责管理子结点:用户B和
Figure A200710179263D000711
。也有权力管理用户IDC
并不是基于身份的公钥体制都可以扩展到层次架构的环境中。但是,层次架构的基于身份的公钥密码体制都可以蜕化为一般意义下的基于身份的公钥体制。
目前所提出的层次架构的基于身份的公钥密码体制中的密文以及解密负载都是随着层数l的增长而线性增长,这样以来保密通信的带宽和解密算法复杂度也随着层数的增加而线性增加。因此,如何缩短密文长度,减少解密负荷,减少通信带宽是一个亟需解决的问题。
发明内容
本发明的目的在于,提供一种层次结构的基于身份的公钥加密方法,其特征在于,其包括的步骤在于,
步骤a:建立系统所需要的系统参数;
步骤b:针对给定的用户或私钥产生器的身份信息,生成与所述的用户或私钥产生器身份信息相对应的私钥;
步骤c:利用所述的用户或私钥产生器的身份信息作为公钥,对给定的明文进行加密,得到相应的密文
步骤d:利用与所述的用户或私钥产生器身份信息相对应的私钥,对所述的密文进行解密,得到相应的明文;
较佳的,所述的步骤a:建立系统所需要的系统参数;其包括公开系统参数和秘密系统参数,其实现的步骤为:
步骤a1:设置安全参数λ,以及整个层次架构体系中的层数l;
步骤a2:选择一至少160比特的大素数p;
步骤a3:根据所述的安全参数λ,选择阶为p的两个群G和GT,且在所述的两个群上,存在双线性配对映射e;
步骤a4:随机选取集合Z* p上的元素β;
步骤a5:从群G中随机的选取一个元素w;
步骤a6:在群G上计算w1=wβ
步骤a7:从所述的群G中随机选取l+2个元素w2、h′、h1、...hl
步骤a8:计算Y=e(w,w2),其中e为所述的双线性配对映射;
计算系统主密钥msk: msk = w 2 1 β ;
步骤a9:获得所述的公开系统参数param:param=(p,G,GT,e,w1,Y,h′,h1,...hl);所述的秘密系统参数为系统主密钥msk;
较佳的,所述的步骤b针对给定的用户或私钥产生器的身份信息,生成与所述的实体的身份信息相对应的私钥;其包括两种情况:一种是由根密钥生成器为实体服务,根据实体的完整身份信息直接产生私钥;另一种情况是由与根节点同一路径上的父节点服务,根据父节点的私钥以及实体的完整信息,产生实体的私钥;
较佳的,所述的由根密钥生成器为实体服务,根据实体的完整身份信息直接产生私钥,其实现的步骤为:
步骤b1:获得步骤a提供的系统参数,即公开系统参数param、系统主密钥msk;步骤b2:获得第k层用户或私钥产生器的完整身份信息
Figure A200710179263D00091
Figure A200710179263D00092
其中k属于l的范围内,是从根私钥产生器到第k层用户或私钥产生器的路径中的所有身份的级联;
步骤b3:根据私钥产生器第0层为第k层用户或私钥产生器产生与其完整身份信息相对应的私钥;
较佳的,所述的步骤b3包括的步骤为:
步骤b31:随机选取集合Z* p上的任一元素r;
步骤b32:计算身份信息ID相对应的私钥
Figure A200710179263D00093
其中所述的
Figure A200710179263D00094
由群G中的l-k+2个元素构成,其中, sk ID Ik ( 1 ) = ( w 2 1 β · h ′ Π i = 1 k h i ID i ) r ;
sk ID Ik ( 2 ) = w 1 r ;
sk ID Ik ( 3 ) = h k + 1 r ;
sk ID Ik ( 4 ) = h k + 2 r ;
...
sk ID Ik ( l - k + 2 ) = h l r ;
步骤b33:输出与身份信息ID相对应的私钥:
sk ID Ik = ( sk ID Ik ( 1 ) , sk ID Ik ( 2 ) , . . . , sk ID Ik ( l - k + 2 ) ) = ( w 2 1 β · ( h ′ Π i = 1 k h i ID i ) r , w 1 r , h k + 1 r , . . . , h l r ) ;
较佳的,所述的由与根节点同一路径上的父节点服务,根据父节点的私钥以及实体的完整信息,产生实体的私钥;其实现的步骤为:
步骤b1:获得步骤a提供的系统参数,即公开系统参数param;
步骤b2:获得第k层用户或私钥产生器的完整身份信息IDIk,k大于1;
步骤b3:计算第k层用户或私钥产生器的父结点的身份信息为
Figure A200710179263D000911
Figure A200710179263D000912
相对应的私钥为
Figure A200710179263D000913
提取中所包含的l-k+3个元素, sk ID Ik - 1 = ( sk ID Ik - 1 ( 1 ) , sk ID Ik - 1 ( 2 ) , . . . , sk ID Ik - 1 ( l - k + 3 ) ) = ( w 2 1 β · ( h ′ Π i = 1 k - 1 h i ID i ) r , w 1 r , h k r , . . . , h l r )
步骤b4:随机选取集合Z* p上的任一元素rk计算
sk ID Ik - 1 ( 1 ) = sk ID Ik - 1 ( 1 ) · ( sk ID Ik - 1 ( 3 ) ) ID k · ( h ′ Π i = 1 k h i ID i ) r k = ( w 2 1 β · h ′ Π i = 1 k h i ID i ) r + r k
sk ID Ik ( 2 ) = sk ID Ik - 1 ( 2 ) · w 1 r k = w r + r k ;
sk ID Ik ( 3 ) = sk ID Ik - 1 ( 3 ) · h k + 1 r k = h k + 1 r + r k ;
sk ID Ik ( 4 ) = sk ID Ik - 1 ( 4 ) · h k + 2 r k = h k + 2 r + r k ;
...
sk ID Ik ( l - k + 2 ) = sk ID Ik - 1 ( l - k + 2 ) · h l r k = h l r + r k .
步骤b5:输出与身份信息ID相对应的私钥:
sk ID Ik = ( sk ID Ik ( 1 ) , sk ID Ik ( 2 ) , . . . , sk ID Ik ( l - k + 2 ) ) = ( w 2 1 β · ( h ′ Π i = 1 k - 1 h i ID i ) r + r k , w 1 r + r k , h k + 1 r + r k , . . . , h l r + r k ) ;
较佳的,所述的步骤c利用所述的用户或私钥产生器身份信息作为公钥,对给定的明文进行加密,得到相应的密文,其实现的步骤为:
步骤c1:获得接收方用户或私钥产生器的完整身份信息
Figure A200710179263D00107
Figure A200710179263D00108
作为公钥,待加密的明文信息记为m,其中m是GT中的一个元素,公开的系统参数param;
步骤c2:随机选取集合Z* p上的任一元素s;
步骤c3:计算第一部分密文 C 1 = w 1 s ;
步骤c4:计算第二部分密文C2=m·Ys
步骤c5:计算第三部分密文 C 3 = ( h ′ Π i = 1 k h i ID i ) s ;
步骤c6:输出密文C: C = ( C 1 , C 2 , C 3 ) = ( w 1 s , m · Y s , ( h ′ Π i = 1 k h i ID i ) s ) ;
较佳的,所述的步骤d利用与所述的用户或私钥产生器身份信息相对应的私钥,对所述的密文进行解密,得到相应的明文,其包括的步骤为:
步骤d1:获得密文C,公开的系统参数param以及接收方用户或私钥产生器的完整身份信息
Figure A200710179263D001012
作为公钥相对应的私钥
sk ID Ik = ( sk ID Ik ( 1 ) , sk ID Ik ( 2 ) , . . . , sk ID Ik ( l - k + 2 ) ) = ( w 2 1 β · ( h ′ Π i = 1 k h i ID i ) r + r k , w 1 r + r k , h k + 1 r + r k , . . . , h l r + r k ) ;
步骤d2:计算双线性配 e ′ = e ( C 3 , sk ID Ik ( 2 ) ) ;
步骤d3:计算双线性配 e ′ ′ = e ( C 1 , sk ID Ik ( 1 ) ) ;
步骤d4:计算明文 m = C 2 · e ′ e ′ ′ ;
步骤d5:输出明文m,m是群GT中的一元素构成。
本发明支持系统架构的动态调整,具有良好的可扩展性:
首先,新的实体动态地加入系统,加入时只需向实体的父结点认证自己的身份,并申请与自己身份信息相对应的私钥。
其次,系统架构中的每个实体的私钥的更新,可以通过在实体身份信息中添加时间戳和有效期来实现。当身份信息中的有效期到后,身份信息所对应的私钥就失效了。这时实体对身份信息中的时间戳和有效期进行更新。实体将更新后的身份信息提交给自己的父结点,由父结点为实体重新生成新的私钥。
再次,如果系统中已有的实体离开系统,该实体的身份信息中的有效期到期后,其父结点将不予对其私钥进行更新。
最后,如果系统由于实体的增加导致系统架构中的层数增加,系统可能会面临重新生成系统参数的过程。为了避免重新生成参数,在搭建系统时生成一些冗余参数。如系统本身的层数为l,但是在搭建系统时,可以假设系统为l′层,其中l′>l。也就是有l′-l的冗余,这样系统就可以支持系统架构中的层数扩展到l′层。
附图说明
图1为现有的基于身份的公钥体系的示意图;
图2为现有的具有三层次结构的基于身份的公钥体系的示意图;
图3为本发明层次结构的基于身份的公钥加密方法的流程图;
图4为本发明层次结构的基于身份的公钥加密方法中层次架构为k层实体的完整身份信息与其上层密钥生成器的身份间的关系示意图;
图5为本发明层次结构的基于身份的公钥加密方法中以一大学的层次结构为例的结构示意图。
具体实施方式
以下结合附图,对本发明上述的和另外的技术特征和优点作更详细的说明。
请参阅图3所示,其为本发明层次结构的基于身份的公钥加密方法的流程图;其包括的步骤在于,
步骤a:建立系统所需要的系统参数;
步骤b:针对给定的用户或私钥产生器的身份信息,生成与所述的用户或私钥产生器身份信息相对应的私钥;
步骤c:利用所述的用户或私钥产生器的身份信息作为公钥,对给定的明文进行加密,得到相应的密文;
步骤d:利用与所述的用户或私钥产生器身份信息相对应的私钥,对所述的密文进行解密,得到相应的明文。
其中,所述的步骤a:建立系统所需要的系统参数包括公开系统参数和秘密系统参数,其实现的步骤为:
步骤a1:设置安全参数λ,以及整个层次架构体系中的层数l;
步骤a2:选择一至少160比特的大素数p;
步骤a3:根据所述的安全参数λ,选择阶为p的两个群G和GT,且在所述的两个群上,存在双线性配对映射e;
步骤a4:随机选取集合Z* p上的元素β;
步骤a5:从群G中随机的选取一个元素w;
步骤a6:在群G上计算w1=wβ
步骤a7:从所述的群G中随机选取l+2个元素w2、h′、h1、...hl
步骤a8:计算Y=e(w,w2),其中e为所述的双线性配对映射;
计算系统主密钥msk: msk = w 2 1 β ;
步骤a9:获得所述的公开系统参数param:param=(p,G,GT,e,w1,Y,h′,h1,...hl);所述的秘密系统参数为系统主密钥msk;
其中,所述的步骤b针对给定的用户或私钥产生器的身份信息,生成与所述的实体的身份信息相对应的私钥;其包括两类情况:一种是由根密钥生成器为实体服务,根据实体的完整身份信息直接产生私钥;另一种情况是由与根节点同一路径上的父节点服务,根据父节点的私钥以及实体的完整信息,产生实体的私钥;
请参阅图4所示,其为本发明层次结构的基于身份的公钥加密方法中层次架构为k层实体的完整身份信息与其上层密钥生成器的身份间的关系示意图;其中,处于第k层的实体的祖先结点分别是根PKG,第一层的PKG,第二层的PKG,...,第k-1层的PKG。这里假设第k层实体在体系结构中的位置如图。从根PKG到实体的身份路径为所以实体的完整身份信息为
Figure A200710179263D00123
Figure A200710179263D00124
实体的父结点PKG的完整身份信息为第k层所在的实体的完整身份信息
Figure A200710179263D00126
,和其父结点PKG的完整身份信息
Figure A200710179263D00131
间的关系为
Figure A200710179263D00132
则针对于所述的由根密钥生成器为实体服务,根据实体的完整身份信息直接产生私钥,其实现的步骤为:
步骤b1:获得上述步骤a提供的系统参数,即公开系统参数param、系统主密钥msk;
步骤b2:获得第k层用户或私钥产生器的完整身份信息
Figure A200710179263D00134
其中k属于l的范围内,是从根私钥产生器到第k层用户或私钥产生器的路径中的所有身份的级联;
步骤b3:根据私钥产生器第0层为第k层用户或私钥产生器产生与其完整身份信息相对应的私钥;
对于所述的步骤b3包括的步骤细化为:
步骤b31:随机选取集合Z* p上的任一元素r;
步骤b32:计算身份信息ID相对应的私钥
Figure A200710179263D00135
其中所述的
Figure A200710179263D00136
由群G中的l-k+2个元素构成,其中, sk ID Ik ( 1 ) = ( w 2 1 β · h ′ Π i = 1 k h i ID i ) r ;
sk ID Ik ( 2 ) = w 1 r ;
sk ID Ik ( 3 ) = h k + 1 r ;
sk ID Ik ( 4 ) = h k + 2 r ;
...
sk ID Ik ( l - k + 2 ) = h l r ;
步骤b33:输出与身份信息ID相对应的私钥:
sk ID Ik = ( sk ID Ik ( 1 ) , sk ID Ik ( 2 ) , . . . , sk ID Ik ( l - k + 2 ) ) = ( w 2 1 β · ( h ′ Π i = 1 k h i ID i ) r , w 1 r , h k + 1 r , . . . , h l r ) ;
对于另一种类型而言,所述的由与根节点同一路径上的父节点服务,根据父节点的私钥以及实体的完整信息,产生实体私钥;其实现的步骤为:
步骤b1:获得步骤a提供的系统参数,即公开系统参数param;
步骤b2:获得第k层用户或私钥产生器的完整身份信息IDIk,k大于1;
步骤b3:计算第k层用户或私钥产生器的父结点的身份信息为
Figure A200710179263D001314
相对应的私钥为
Figure A200710179263D001315
提取
Figure A200710179263D001316
中所包含的l-k+3个元素, sk ID Ik - 1 = ( sk ID Ik - 1 ( 1 ) , sk ID Ik - 1 ( 2 ) , . . . , sk ID Ik - 1 ( l - k + 3 ) ) = ( w 2 1 β · ( h ′ Π i = 1 k - 1 h i ID i ) r , w 1 r , h k r , . . . , h l r )
步骤b4:随机选取集合Z* p上的任一元素rk计算;
sk ID Ik - 1 ( 1 ) = sk ID Ik - 1 ( 1 ) · ( sk ID Ik - 1 ( 3 ) ) ID k · ( h ′ Π i = 1 k h i ID i ) r k = ( w 2 1 β · h ′ Π i = 1 k h i ID i ) r + r k
sk ID Ik ( 2 ) = sk ID Ik - 1 ( 2 ) · w 1 r k = w r + r k ;
sk ID Ik ( 3 ) = sk ID Ik - 1 ( 3 ) · h k + 1 r k = h k + 1 r + r k ;
sk ID Ik ( 4 ) = sk ID Ik - 1 ( 4 ) · h k + 2 r k = h k + 2 r + r k ;
...
sk ID Ik ( l - k + 2 ) = sk ID Ik - 1 ( l - k + 2 ) · h l r k = h l r + r k .
步骤b5:输出与身份信息ID相对应的私钥:
sk ID Ik = ( sk ID Ik ( 1 ) , sk ID Ik ( 2 ) , . . . , sk ID Ik ( l - k + 2 ) ) = ( w 2 1 β · ( h ′ Π i = 1 k - 1 h i ID i ) r + r k , w 1 r + r k , h k + 1 r + r k , . . . , h l r + r k ) ;
其中,所述的步骤c利用所述的用户或私钥产生器身份信息作为公钥,对给定的明文进行加密,得到相应的密文,其实现的步骤为:
步骤c1:获得接收方用户或私钥产生器的完整身份信息
Figure A200710179263D00147
作为公钥,待加密的明文信息记为m,公开的系统参数param;
步骤c2:随机选取集合Z* p上的任一元素s;
步骤c3:计算第一部分密文 C 1 = w 1 s ;
步骤c4:计算第二部分密文C2=m·Ys
步骤c5:计算第三部分密文 C 3 = ( h ′ Π i = 1 k h i ID i ) s ;
步骤c6:输出密文C: C = ( C 1 , C 2 , C 3 ) = ( w 1 s , m · Y s , ( h ′ Π i = 1 k h i ID i ) s ) ;
对于所述的步骤d利用与所述的用户或私钥产生器身份信息相对应的私钥,对所述的密文进行解密,得到相应的明文,其包括的步骤为:
步骤d1:获得密文C,公开的系统参数param以及接收方用户或私钥产生器的完整身份信息
Figure A200710179263D001412
作为公钥相对应的私钥
sk ID Ik = ( sk ID Ik ( 1 ) , sk ID Ik ( 2 ) , . . . , sk ID Ik ( l - k + 2 ) ) = ( w 2 1 β · ( h ′ Π i = 1 k h i ID i ) r + r k , w 1 r + r k , h k + 1 r + r k , . . . , h l r + r k ) ;
步骤d2:计算双线性配 e ′ = e ( C 3 , sk ID Ik ( 2 ) ) ;
步骤d3:计算双线性配 e ′ ′ = e ( C 1 , sk ID Ik ( 1 ) ) ;
步骤d4:计算明文 m = C 2 · e ′ e ′ ′ ;
步骤d5:输出明文m,m是群GT中的一元素构成。
事实上,对于本发明所提出的层次结构的基于身份的公钥加密方法适用于任何组织机构。隶属于某组织机构的用户可以采用该组织机构的成员身份。当然任何用户也可以独立于任何组织机构运行基于身份的公钥加密体制。在这种情况下,层次结构的基于身份的公钥加密体方法就蜕化为层次数为1的基本的基于身份的公钥加密方法。
请参阅图5所示,其为本发明层次结构的基于身份的公钥加密方法中以一A大学的层次结构为例的结构示意图,该大学的层次结构的基于身份的公钥加密方法的应用如下所述:
以A大学作为根结点,调用上述的步骤a,生成系统参数,并公开系统的公开参数param;在公开参数param=(p,G,GT,e,w1,Y,h′,h1,...hl)中,p至少为160比特的大素数,G一般选择域Fq上超奇异椭圆曲线或其它代数类上的阶为p的一个代数群,Fq的大小由安全参数λ确定,e一般选择为超奇异椭圆曲线或其它代数类上的Weil配对或Tate配对,但是不拘限于Weil配对或Tate配对,e只要满足双线性配对的三个性质即可。
A大学直接管辖的各个学院和部门是其子结点,这些子结点向根PKG申请私钥。根PKG,即A大学为各个直接隶属的学院和部门生成私钥。如A1学院的完整身份是“A大学A1学院”,记为IDI1。A1学院直接管辖的各个系是A1学院的子结点。这些子结点向A1学院申请私钥。这时,A1学院是整个系统架构的第一层PKG。A1学院的A11系的完整身份是“A大学A1学院A11系”,记为IDI2。根据上面提到的对于步骤b具有两种类型,则对于获取A大学A1学院相对应的私钥
Figure A200710179263D0015113133QIETU
,我们调用上述的步骤b的第一种方式就可以获得对应的私钥,对于A大学A1学院A11系相对应的私钥
Figure A200710179263D0015113145QIETU
,由于此时k大于1,我们可以调用上述的步骤b的第二种方式就可以获得对应的私钥;
如果在所述的A11系里的各个员工向A11系申请私钥,例如张三是A11系的一个员工,那么张三的完整身份是“A大学A1学院A11系张三”,记为IDI3。这时,A11系是整个系统架构的第二层PKG,k大于1,则A11系为张三服务,调用上述的步骤b的第二种方式就可以获得对应的私钥;
依次类推,在A大学里的每个机构和每个员工根据自己在整个系统结构中的位置,确定自己的完整身份,并向父结点申请私钥。上一层的PKG为自己的子结点提供私钥生成服务。这样就根据A大学的现在机构搭建成了一个基于身份的层次架构。位于该层次架构的任何位置的实体调用上述步骤c,以接收方的完整身份信息为公钥,向其它实体发送加密后的消息。而接收方可以调用上述步骤d,恢复发方所传递的明文信息。对于图5中所示的层次架构中只有三层,但A大学在搭建系统时,可以设l>3,这样可以支持层次架构的动态扩充到l层。
以上所述仅为本发明的较佳实施例,对本发明而言仅仅是说明性的,而非限制性的。本专业技术人员理解,在本发明权利要求所限定的精神和范围内可对其进行许多改变,修改,甚至等效,但都将落入本发明的保护范围内。

Claims (8)

1、一种层次结构的基于身份的公钥加密方法,其特征在于,其包括的步骤在于,
步骤a:建立系统所需要的系统参数;
步骤b:针对给定的用户或私钥产生器的身份信息,生成与所述的用户或私钥产生器身份信息相对应的私钥;
步骤c:利用所述的用户或私钥产生器的身份信息作为公钥,对给定的明文进行加密,得到相应的密文;
步骤d:利用与所述的用户或私钥产生器身份信息相对应的私钥,对所述的密文进行解密,得到相应的明文。
2、根据权利要求1所述的层次结构的基于身份的公钥加密方法,其特征在于,所述的步骤a:建立系统所需要的系统参数;其包括公开系统参数和秘密系统参数,其实现的步骤为:
步骤a1:设置安全参数λ,以及整个层次架构体系中的层数l;
步骤a2:选择一至少160比特的大素数p;
步骤a3:根据所述的安全参数λ,选择阶为p的两个群G和GT,且在所述的两个群上,存在双线性配对映射e;
步骤a4:随机选取集合Z* p上的元素β;
步骤a5:从群G中随机的选取一个元素w;
步骤a6:在群G上计算w1=wβ
步骤a7:从所述的群G中随机选取l+2个元素w2、h′、h1、...hl
步骤a8:计算Y=e(w,w2),其中e为所述的双线性配对映射;
计算系统主密钥msk: msk = w 2 1 β ;
步骤a9:获得所述的公开系统参数param:param=(p,G,GT,e,w1,Y,h′,h1,...hl);所述的秘密系统参数为系统主密钥msk。
3、根据权利要求2所述的层次结构的基于身份的公钥加密方法,其特征在于,所述的步骤b针对给定的用户或私钥产生器的身份信息,生成与所述实体的身份信息相对应的私钥;其包括两种情况:一种是由根密钥生成器为实体服务,根据实体的完整身份信息直接产生私钥;另一种情况是由与根节点同一路径上的父节点服务,根据父节点的完整身份信息所对应的私钥以及实体的完整信息,产生实体的私钥。
4、根据权利要求3所述的层次结构的基于身份的公钥加密方法,其特征在于,所述的由根密钥生成器为实体服务,根据实体的完整身份信息直接产生私钥
其实现的步骤为:
步骤b1:获得步骤a提供的系统参数,即公开系统参数param、系统主密钥msk;
步骤b2:获得第k层用户或私钥产生器的完整身份信息
Figure A200710179263C00031
Figure A200710179263C00032
其中k属于l的范围内,是从根私钥产生器到第k层用户或私钥产生器的路径中的所有身份的级联;
步骤b3:根据私钥产生器第0层为第k层用户或私钥产生器产生与其完整身份信息相对应的私钥。
5、根据权利要求4所述的层次结构的基于身份的公钥加密方法,其特征在于,所述的步骤b3包括的步骤为:
步骤b31:随机选取集合Z* p上的任一元素r;
步骤b32:计算身份信息ID相对应的私钥其中所述的
Figure A200710179263C00034
由群G中的l-k+2个元素构成,其中, sk ID Ik ( 1 ) = ( w 2 1 β · h ′ Π i = 1 k h i ID i ) r ;
sk ID Ik ( 2 ) = w 1 r ;
sk ID Ik ( 3 ) = h k + 1 r ;
sk ID Ik ( 4 ) = h k + 2 r ;
..
sk ID Ik ( l - k + 2 ) = h l r ;
步骤b33:输出与身份信息ID相对应的私钥:
sk ID Ik = ( sk ID Ik ( 1 ) , sk ID Ik ( 2 ) , . . . , sk ID Ik ( l - k + 2 ) ) = ( w 2 1 β · ( h ′ Π i = 1 k h i ID i ) r , w 1 r , h k + 1 r , . . . , h l r ) .
6、根据权利要求3所述的层次结构的基于身份的公钥加密方法,其特征在于,所述的由与根节点同一路径上的父节点服务,根据父节点的私钥以及实体的完整信息,产生实体的私钥;其实现的步骤为:
步骤b1:获得步骤a提供的系统参数,即公开系统参数param;
步骤b2:获得第k层用户或私钥产生器的完整身份信息IDIk,k大于1;
步骤b3:计算第k层用户或私钥产生器的父结点的身份信息为
Figure A200710179263C000311
相对应的私钥为
Figure A200710179263C000312
提取
Figure A200710179263C000313
中所包含的l-k+3个元素, sk ID Ik - 1 = ( sk ID Ik - 1 ( 1 ) , sk ID Ik - 1 ( 2 ) , . . . , sk ID Ik - 1 ( l - k + 3 ) ) = ( w 2 1 β · ( h ′ Π i = 1 k - 1 h i ID i ) r , w 1 r , h k r , . . . , h l r ) .
步骤b4:随机选取集合Z* p上的任一元素rk计算
sk ID Ik - 1 ( 1 ) = sk ID Ik - 1 ( 1 ) · ( sk ID Ik - 1 ( 3 ) ) ID k · ( h ′ Π i = 1 k h i ID i ) r k = ( w 2 1 β · h ′ Π i = 1 k h i ID i ) r + r k
sk ID Ik ( 2 ) = sk ID Ik - 1 ( 2 ) · w 1 r k = w r + r k ;
sk ID Ik ( 3 ) = sk ID Ik - 1 ( 3 ) · h k + 1 r k = h k + 1 r + r k ;
sk ID Ik ( 4 ) = sk ID Ik - 1 ( 4 ) · h k + 2 r k = h k + 2 r + r k ;
sk ID Ik ( l - k + 2 ) = sk ID Ik - 1 ( l - k + 2 ) · h l r k = h l r + r k .
步骤b5:输出与身份信息ID相对应的私钥: sk ID Ik = ( sk ID Ik ( 1 ) , sk ID Ik ( 2 ) , . . . , sk ID Ik ( l - k + 2 ) ) = ( w 2 1 β · ( h ′ Π i = 1 k - 1 h i ID i ) r + r k , w 1 r + r k , h k + 1 r + r k , . . . , h l r + r k ) .
7、根据权利要求5或6所述的层次结构的基于身份的公钥加密方法,其特征在于,所述的步骤c利用所述的用户或私钥产生器身份信息作为公钥,对给定的明文进行加密,得到相应的密文,其实现的步骤为:
步骤c1:获得接收方用户或私钥产生器的完整身份信息
Figure A200710179263C00048
Figure A200710179263C00049
作为公钥,待加密的明文信息记为m,其中,m是群GT中的一个元素,公开的系统参数param;
步骤c2:随机选取集合z* p上的任一元素s;
步骤c3:计算第一部分密文 C 1 = w 1 s ;
步骤c4:计算第二部分密文C2=m·Ys
步骤c5:计算第三部分密文 C 3 = ( h ′ Π i = 1 k h i ID i ) s ;
步骤c6:输出密文C: C = ( C 1 , C 2 , C 3 ) = ( w 1 s , m · Y s , ( h ′ Π i = 1 k h i ID i ) s ) .
8、根据权利要求7所述的层次结构的基于身份的公钥加密方法,其特征在于,所述的步骤d利用与所述的用户或私钥产生器身份信息相对应的私钥,对所述的密文进行解密,得到相应的明文,其包括的步骤为:
步骤d1:获得密文C,公开的系统参数param以及接收方用户或私钥产生器的完整身份信息
Figure A200710179263C000413
作为公钥相对应的私钥 sk ID Ik = ( sk ID Ik ( 1 ) , sk ID Ik ( 2 ) , . . . , sk ID Ik ( l - k + 2 ) ) = ( w 2 1 β · ( h ′ Π i = 1 k h i ID i ) r + r k , w 1 r + r k , h k + 1 r + r k , . . . , h l r + r k ) ;
步骤d2:计算双线性配 e ′ = e ( C 3 , sk ID Ik ( 2 ) ) ;
步骤d3:计算双线性配 e ′ ′ = e ( C 1 , sk ID Ik ( 1 ) ) ;
步骤d4:计算明文 m = C 2 · e ′ e ′ ′ ;
步骤d5:输出明文m,m是群GT中的一元素构成。
CN2007101792633A 2007-12-12 2007-12-12 层次结构的基于身份的公钥加密方法 Active CN101459511B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2007101792633A CN101459511B (zh) 2007-12-12 2007-12-12 层次结构的基于身份的公钥加密方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2007101792633A CN101459511B (zh) 2007-12-12 2007-12-12 层次结构的基于身份的公钥加密方法

Publications (2)

Publication Number Publication Date
CN101459511A true CN101459511A (zh) 2009-06-17
CN101459511B CN101459511B (zh) 2011-04-13

Family

ID=40770156

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007101792633A Active CN101459511B (zh) 2007-12-12 2007-12-12 层次结构的基于身份的公钥加密方法

Country Status (1)

Country Link
CN (1) CN101459511B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104639319A (zh) * 2013-11-10 2015-05-20 航天信息股份有限公司 基于身份的代理重加密方法和系统
CN106130992A (zh) * 2016-06-30 2016-11-16 北京航空航天大学 抗选择打开攻击的层次身份基加密方案
CN103929299B (zh) * 2014-04-28 2017-05-10 王小峰 地址即公钥的自安全轻量级网络报文传输方法
CN107733649A (zh) * 2017-11-21 2018-02-23 武汉珈港科技有限公司 一种基于身份标识的层级化公钥信任模型构建方法
CN117714055A (zh) * 2024-02-05 2024-03-15 合肥工业大学 一种基于身份信息的车内网络通信方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1859090B (zh) * 2005-12-30 2010-05-05 上海交通大学 一种基于身份的密码方法和系统

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104639319A (zh) * 2013-11-10 2015-05-20 航天信息股份有限公司 基于身份的代理重加密方法和系统
CN104639319B (zh) * 2013-11-10 2019-04-23 航天信息股份有限公司 基于身份的代理重加密方法和系统
CN103929299B (zh) * 2014-04-28 2017-05-10 王小峰 地址即公钥的自安全轻量级网络报文传输方法
CN106130992A (zh) * 2016-06-30 2016-11-16 北京航空航天大学 抗选择打开攻击的层次身份基加密方案
CN106130992B (zh) * 2016-06-30 2019-10-22 北京航空航天大学 抗选择打开攻击的层次身份基加密方法
CN107733649A (zh) * 2017-11-21 2018-02-23 武汉珈港科技有限公司 一种基于身份标识的层级化公钥信任模型构建方法
CN117714055A (zh) * 2024-02-05 2024-03-15 合肥工业大学 一种基于身份信息的车内网络通信方法
CN117714055B (zh) * 2024-02-05 2024-04-12 合肥工业大学 一种基于身份信息的车内网络通信方法

Also Published As

Publication number Publication date
CN101459511B (zh) 2011-04-13

Similar Documents

Publication Publication Date Title
Li et al. Fine-grained access control system based on outsourced attribute-based encryption
CN104038341B (zh) 一种基于身份的跨系统代理重加密方法
CN102811125B (zh) 基于多变量密码体制的无证书多接收者签密方法
CN109962769B (zh) 基于门限盲签名的数据安全去重方法
CN104539610B (zh) 一种提高外包加密数据共享功能的代理重加密方法
CN110830236A (zh) 基于全域哈希的身份基加密方法
CN101459511B (zh) 层次结构的基于身份的公钥加密方法
CN106169996B (zh) 基于密钥超图和身份密码的多域光网络密钥管理方法
Ma et al. Server-aided fine-grained access control mechanism with robust revocation in cloud computing
CN103746811A (zh) 从身份公钥系统到证书公钥系统的匿名签密方法
Hong et al. An efficient and traceable KP-ABS scheme with untrusted attribute authority in cloud computing
CN103269272B (zh) 一种基于短期证书的密钥封装方法
Dua et al. A study of applications based on elliptic curve cryptography
CN101616001B (zh) 一种减少密文长度的基于身份的加密方法
Shi et al. Baguena: a practical proof of stake protocol with a robust delegation mechanism
CN114244567B (zh) 一种云环境中支持电路结构的cp-abe方法
Kapil et al. Identity-based key management in MANETs using public key cryptography
Imine et al. Immediate attribute revocation in decentralized attribute-based encryption access control
Meng et al. A verifiable dynamic threshold key management scheme based on bilinear pairing without a trusted party in mobile ad hoc network
Ma et al. Opportunistic node authentication in intermittently connected mobile ad hoc networks
He et al. An Efficient and Provably Secure Certificateless Key Insulated Encryption with Applications to Mobile Internet.
Daza et al. On dynamic distribution of private keys over manets
CN104168113A (zh) 一种n层CA结构的基于证书加密的方法及系统
Zhu et al. Fully secure identity based key-insulated signcryption in the standard model
Li et al. Key management using certificateless public key cryptography in ad hoc networks

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant