CN101166088A - 基于用户身份标识的加解密方法 - Google Patents

基于用户身份标识的加解密方法 Download PDF

Info

Publication number
CN101166088A
CN101166088A CNA2007101225661A CN200710122566A CN101166088A CN 101166088 A CN101166088 A CN 101166088A CN A2007101225661 A CNA2007101225661 A CN A2007101225661A CN 200710122566 A CN200710122566 A CN 200710122566A CN 101166088 A CN101166088 A CN 101166088A
Authority
CN
China
Prior art keywords
key
time
user
devices
key devices
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.)
Pending
Application number
CNA2007101225661A
Other languages
English (en)
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 CNA2007101225661A priority Critical patent/CN101166088A/zh
Publication of CN101166088A publication Critical patent/CN101166088A/zh
Pending legal-status Critical Current

Links

Images

Abstract

本发明为一种基于用户身份标识的加解密方法,其包括的步骤为:步骤a:产生基于用户身份标识的加解密系统的系统参数,生成至少两个主密钥分量;步骤b:提供多级密钥设备,密钥服务器向符合身份标识要求用户的各级密钥设备中设置种子密钥和参数;步骤c:每级密钥设备根据上一级密钥设备的帮助密钥生成和更新本级密钥设备的帮助密钥;步骤d:在最后一级密钥设备处生成用户私钥;其是根据最后一级密钥设备之前的密钥设备生成的所述的帮助密钥实现的;步骤e:根据用户的公钥加密明文产生密文;步骤f:通过用户私钥解密密文变成明文。实现了避免单一主密钥被破解,使整个系统被破解的风险;保证了用户私钥的频繁更新,减轻了密钥服务器的负担;计算量小,存贮空间也小。

Description

基于用户身份标识的加解密方法
技术领域
本发明涉及的是一种加解密方法,特别涉及的是一种基于用户身份标识的加解密方法。
背景技术
PKI技术是一种成熟的公钥密码技术,近10年来获得了广泛的应用,如现在的网上银行,网上证券、电子商务等等都基于PKI技术,来保证数据传输的安全性。我国2004颁布的《电子签名法)》也是基于PKI技术。在公钥密码技术中,用户有两把密钥,一把密钥为用户独有,称为用户私钥;一把密钥公开给大家,称为公钥,利用用户公钥就可以给该用户发送加密信息,但在PKI技术中用户公钥是一串没有意义的随机数字,因而要将公钥和标志用户身份标识的信息绑定起来,形成数字证书,才方便大家查询,一旦用户数量过多的情况,用户繁琐的数字证书管理问题成了PKI系统运行的瓶颈。
为了解决繁琐的数字证书管理问题,早在1984年,RSA公钥密码技术的发明者之一Adi Shamir教授就提出了基于身份加密(Identity-Based Encryption)的思想,IBE是基于身份加密的缩写,它的最大特点是利用标志用户身份标识的信息(如:用户的身份证号、电子邮件地址、QQ号、手机号等等)直接作为用户公钥,不采用数字证书的概念,因而避免了繁琐的数字证书管理问题。但在那时还没有具体方法在实际中实现这一思想,IBE技术成为密码学界未解决的主要问题之一。
2001年,基于椭圆曲线密码和Weil配对数学理论,斯坦福大学计算机科学技术系的教授Dan Boneh和加州大学戴维斯分院的教授Matt Franklin分别发明了具体可实施的IBE算法,该算法又简称为D.B/M.F算法。
D.B/M.F算法方案的安全性建立在CDH(Computation Diffie-Hellman)困难问题的一个变形之上,称为BDH(Bilinear Diffie-Hellman)困难问题。D.B/M.F算法的核心是使用了超奇异椭圆曲线上的一个双线性映射Weil Pairing。描述如下:
1、设p是一个大素数,p≡2 mod 3,并且存在大素数q,使得p+1能被q整除,但不能被q2整除,记为p=1q-1;
2、E/GF(p)是在有限域GF(p)上构造的椭圆曲线:y2=x3+1,P是该曲线上阶为q的点,也称为基点,定义加法循环群G1利用P的点积方法生成;定义乘法循环群G2利用P的乘幂的方法生成;
3、BDH问题:对于随机的a,b,c∈Zq *,已知(P,aP,bP,cP)来计算ê(P,P)abc∈G2。注意到E/GF(p)是超奇异椭圆曲线。“ê”是由修改的Weil Pairing变来的映射,ê:G1×G1→G2,满足以下三条性质:
1)双线性性:
对于所有P,Q∈G1,和所有的a,b∈Z有:ê(aP,bQ)=ê(P,Q)ab,其中Z是整数集;
2)非退化性:如果P是G1的生成元,则ê(P,P)∈GF(p2)*是G2的生成元。在群G中如果存在有P∈G使得G={Pk|k∈Z},则称G为循环群,称P为G的生成元;
3)可计算性:对于任何P,Q∈G1,存在一个有效的算法来计算ê(P,Q)∈G2。
Weil Pairing的存在本来是对超奇异椭圆曲线上的密码体制的威胁,也就是说,G中的离散对数问题可轻易地简化成GF(p2)*中的离散对数问题。E/GF(p)是超奇异椭圆曲线,所以为使G中的离散对数问题难解,必须要求p的长度至少为512比特。
D.B/M.F算法方案分为四个执行阶段:系统参数建立阶段(Setup)、用户私钥生成阶段(Extract)、加密阶段(Encrypt),以及解密阶段(Decrypt),其中,
所述的系统参数建立阶段,包括的内容是:
可信第三方密钥服务器进行如下步骤产生D.B/M.F的系统参数:
1)首先选择一个至少512比特长的大素数p,找一条满足BDH安全假设的超奇异椭圆曲线E/GF(p),P是曲线E的基点,基点的阶是大素数q,q的长度至少为160比特,定义q阶加法循环群G1、q阶乘法循环群G2,以及双线性配对ê:G1×G1→G2;
2)定义hash函数H2:GF(p2)→{0,1}n,及一个用于将用户身份ID映射到G1*上元素的函数H1,这里的G1*表示G1去除O元素;
3)明文空间是:M={0,1}n,密文空间是C=G1*×{0,1}n
4)随机选择s∈Zq *作为系统主密钥(master key),并令Ppub=sP;
5)保密主密钥s,公开公共参数param=<q,G1,G2,ê,n,P,Ppub,H1,H2>。
所述用户私钥生成阶段,其包括的步骤为:
身份标识为ID∈{0,1}n的用户向密码服务器申请自己的解密私钥,密码服务器需要做以下工作:
1)计算用户公钥QID:QID=H1(ID)
2)产生用户私钥dID:dID=sQID
所述的加密阶段,其包括的步骤为:
随机选取r∈Zq *,用QID加密明文M,产生密文C:
1)令gID=ê(QID,Ppub)∈G2;
2)C=<rP,MH2(gID r)>
所述的解密阶段,其包括的步骤为:
用dID解密密文C=<U,V>,获取明文M:
1)检查U是否是E/GF(p)中的点,如果不是就拒绝该密文;
2)计算得出M=VH2(ê(dID,U));
其中,加解密的一致性是由下面的等式保证的:
ê(dID,U)=ê(sQID,rP)=ê(QID,sP)r=ê(QID,Ppub)r=gID r
该方案根据椭圆曲线密码和双线性映射理论实现具体可实施的IBE方案,解决了密码学的一大难题。但这个系统中也存在一些问题:(1)主密钥一旦被破解,黑客可计算出任何人的私钥,则系统即被攻破;(2)密钥管理的问题没有很好的解决。IBE技术和PKI技术相比的优点是无证书管理问题,但缺点是密钥管理没有PKI那样方便、安全。PKI技术的私钥可以在客户端自行随机产生,为CA服务器端所不知,然后计算生成公钥,结合着自己的身份等相关信息到CA申请数字证书;而D.B/M.F的IBE方案的用户私钥由密钥服务器统一计算并分发,D.B/M.F方案在密钥更新过程中要求用户身份信息不被改变,采用将用户身份信息和时间信息连接,诸如ID||T的形式,作为用户公钥,这样经过一定的时间密钥就要更新一次,如果设定T是年,则用户私钥要每年更新一次,为了减少用户私钥被破解的风险,时间段T要尽量短一些,比如可设置T为天,用户私钥每天更新一次,这样即使黑客盗取了用户私钥,他也只能解密当天的加密信息,但这样频繁地通过密码服务器更新用户私钥,又极大地增加了密码服务器的负担。
以手机为例:保密手机可以通过IBE技术来实现,每个手机号都是唯一的,可作为标识用户的身份信息,在密码系统中,作为公开密钥,用户的手机号不会轻易的变化。出于密码安全需要,要求用户的私钥每天都更新一次,如果采用D.B/M.F的IBE算法,用户每天都要和密码服务器交互,这样势必密码服务器的负荷过重,就不能体现IBE技术公钥管理方便,计算量小的优越性。
为解决上述问题,本发明创作者经过长时间的研究和实践终于获得了本创作。
发明内容
本发明的目的在于,提供一种基于用户身份标识的加解密方法,用以克服上述缺陷。
为实现上述目的,本发明采用的技术方案在于,提供一种基于用户身份标识的加解密方法,其包括的步骤为:
步骤a:产生基于用户身份标识的加解密系统的系统参数,生成至少两个主密钥分量;
步骤b:提供多级密钥设备,密钥服务器向符合身份标识要求用户的各级密钥设备中设置种子密钥和参数;
步骤c:每级密钥设备根据上一级密钥设备的帮助密钥生成和更新本级密钥设备的帮助密钥;
步骤d:在最后一级密钥设备处生成用户私钥;其是根据最后一级密钥设备之前的密钥设备生成的所述的帮助密钥实现的;
步骤e:根据用户的公钥加密明文产生密文;
步骤f:通过用户私钥解密密文变成明文;
较佳的,所述的步骤a:产生基于用户身份标识的加解密系统的系统参数,生成至少两个主密钥分量,其包括的步骤为:
步骤a1:选择一至少512比特长的大素数p和满足BDH安全假设的超奇异椭圆曲线E/GF(p),其中,P是曲线E的基点,基点的阶是大素数q,q的长度至少为160比特,定义q阶加法循环群G1、q阶乘法循环群G2,以及双线性配对ê:G1×G1→G2;
步骤a2:定义hash函数H2:GF(p2)→{0,1}n,及一用于将用户身份ID映射到G1*上元素的函数H1,其中,G1*表示G1去除O元素;
步骤a3:确定明文空间M、密文空间是C,其中,M={0,1}n、C=G1*×{0,1}n
步骤a4:根据实际需要,确定用户私钥更新的级数m,随机选择m个主密分量:s1,s2,...sm∈Zq *,并令Ppub=(s1+s2+...+sm)P;
步骤a5:保密各个主密钥分量si,其中i=1,2,...,m,公开公共参数param=<q,G1,G2,ê,n,P,Ppub,H1,H2>;
步骤a6:执行步骤b;
较佳的,所述的步骤b:提供多级密钥设备,密钥服务器向符合身份标识要求用户的各级密钥设备中设置种子密钥和参数,其包括的步骤为:
步骤b1:计算用户公钥QID,其中QID=H1(ID);
步骤b2:各级密钥设备分别设置种子密钥:siQID,其中i=1,2,...,m;
步骤b3:将系统参数p设置到各级密钥设备中;
步骤c:每级密钥设备根据上一级密钥设备的帮助密钥生成和更新本级密钥设备的帮助密钥,是在与密钥服务器脱线的情况下完成的,第i级中间设备的帮助密钥为:
HK = ( &Sigma; j = 1 i S j ) Q ID - &Sigma; j = 1 i r j P t j
相关的中间计算结果为:riP
其中,j=1,2,...,m-1,ri为各级密钥设备产生的随机数,Ptj为各级密钥设备根据相应的时间段,经过hash函数H1运算得到的G1*中的元素,
P t 1 = H 1 ( ID | | T 1 ( time ) )
P t 2 = H 1 ( ID | | T 1 ( time ) | | T 2 ( time ) )
Figure S2007101225661D00054
P t m - 1 = H 1 ( ID | | T 1 ( time ) | | T 2 ( time ) | | L T m - 1 ( time ) )
其中,Tj(time)表示对时间进行相应的运算,取出其中相应的时间段的信息,标识本级密钥更新一次的时间,其中,第i密钥设备帮助密钥更新的时间大于第i-1密钥设备帮助密钥更新的时间;
较佳的,所述的密钥设备为硬件智能卡或UsbKey;
步骤d:在最后一级密钥设备处生成用户私钥;其是根据最后一级密钥设备之前的密钥设备生成的所述的帮助密钥实现的;用户私钥为:
d ID = ( &Sigma; j = 1 m S j ) Q ID - &Sigma; j = 1 m r j P t j
相关的计算结果为:
riP,(i=1,2,L,m)
其中:
P t 1 = H 1 ( ID | | T 1 ( time ) )
P t 2 = H 1 ( ID | | T 1 ( time ) | | T 2 ( time ) )
Figure S2007101225661D00064
P t m - 1 = H 1 ( ID | | T 1 ( time ) | | T 2 ( time ) | | L T m - 1 ( time ) )
P t m = H 1 ( ID | | T 1 ( time ) | | T 2 ( time ) | | L T m - 1 ( time ) | | T m ( time ) ) ; Tj(time)表示对时间进行相应的运算,取出其中相应的时间段的信息,标识本级密钥更新一次的时间,用户私钥更新相对频繁;
步骤e:根据用户的公钥加密明文产生密文,其包括的步骤为:
步骤e1:令gID=ê(QID,Ppub)=ê(QID,(s1+s2+...+sm)P)∈G2;
步骤e2: C = < rP , r P t 1 , r P t 2 , L , r P t m , M &CirclePlus; H 2 ( g ID r ) > , 其中i=1,2,L,m,
P t 1 = H 1 ( ID | | T 1 ( time ) )
P t 2 = H 1 ( ID | | T 1 ( time ) | | T 2 ( time ) )
Figure S2007101225661D000610
P t m - 1 = H 1 ( ID | | T 1 ( time ) | | T 2 ( time ) | | L T m - 1 ( time ) )
P t m = H 1 ( ID | | T 1 ( time ) | | T 2 ( time ) | | L T m - 1 ( time ) | | T m ( time ) ) ;
Tj(time)表示对时间进行相应的运算,取出其中相应的时间段的信息,标识本级密钥更新一次的时间;
步骤f:通过用户私钥解密密文变成明文,其包括的步骤为:
步骤f1:检查U是否是E/GF(p)中的点,如果不是就拒绝该密文;
步骤f2:计算得出明文 M = W &CirclePlus; H 2 ( e ^ ( d ID , U ) e ^ ( r P t 1 , r 1 P ) . . . e ^ ( r P t m , r m P ) ) ; 其中,加解密的一致性是由下面的等式保证的:
e ^ ( d ID , U ) e ^ ( r P t 1 , r 1 P ) . . . e ^ ( r P t m , r m P ) = e ^ ( ( s 1 + s 2 + . . . + s m ) Q ID , rP ) = g ID r
其中密文C=<U,V1,V2,...,Vm,W>。
与现有技术比较本发明的有益效果在于,首先引入了多个主密钥分量,避免单一主密钥被破解,从而导致整个系统被破解的风险;
其次采用多级密钥更新装置,既保证了用户私钥的频繁更新,又极大地减轻了密码服务器的负担;
最后本发明还具有计算量小,需要的存贮空间也小的优点。
附图说明
图1为本发明基于用户身份标识的加解密方法的流程图;
图2为本发明基于用户身份标识的加解密方法中步骤a的流程图;
图3为本发明基于用户身份标识的加解密方法中步骤b的流程图。
具体实施方式
以下结合附图,对本发明上述的和另外的技术特征和优点作更详细的说明。
请参阅图1所示,其为本发明基于用户身份标识的加解密方法的流程图;其包括得步骤为:
步骤a:产生基于用户身份标识的加解密系统的系统参数,生成至少两个主密钥分量;
步骤b:提供多级密钥设备,密钥服务器向符合身份标识要求用户的各级密钥设备中设置种子密钥和参数;
步骤c:每级密钥设备根据上一级密钥设备的帮助密钥生成和更新本级密钥设备的帮助密钥;
步骤d:在最后一级密钥设备处生成用户私钥;其是根据最后一级密钥设备之前的密钥设备生成的所述的帮助密钥实现的;
步骤e:根据用户的公钥加密明文产生密文;
步骤f:通过用户私钥解密密文变成明文;
其中,所述的步骤a二产生基于用户身份标识的加解密系统的系统参数,生成至少两个主密钥分量,请参阅图2所示,其包括的步骤为:
步骤a1:选择一至少512比特长的大素数p和满足BDH安全假设的超奇异椭圆曲线E/GF(p),其中,P是曲线E的基点,基点的阶是大素数q,q的长度至少为160比特,定义q阶加法循环群G1、q阶乘法循环群G2,以及双线性配对ê:G1×G1→G2;
步骤a1:定义hash函数H2:GF(p2)→{0,1}n,及一用于将用户身份ID映射到G1*上元素的函数H1,其中,G1*表示G1去除O元素;
步骤a2:确定明文空间M、密文空间是C,其中,M={0,1}n、C=G1*×{0,1}n
步骤a3:根据实际需要,确定用户私钥更新的级数m,随机选择m个主密分量:s1,s2,...sm∈Zq *,并令Ppub=(s1+s2+...+sm)P;
步骤a4:保密各个主密钥分量si,其中i=1,2,...,m,公开公共参数param=<q,G1,G2,ê,n,P,Ppub,H1,H2>;
步骤a5:执行步骤b;
对于本发明的步骤a而言,其与现有的D.B/M.F算法技术对比,主要是增加了主密钥分量。
对于所述的步骤b:提供多级密钥设备,密钥服务器向符合身份标识要求用户的各级密钥设备中设置种子密钥和参数,请参阅图3所示,其包括的步骤为:
步骤b1:计算用户公钥QID,其中QID=H1(ID);
步骤b2:各级密钥设备分别设置种子密钥:siQID,其中i=1,2,...,m;
步骤b3:将系统参数p设置到各级密钥设备中;
对于本发明所述的步骤c:每级密钥设备根据上一级密钥设备的帮助密钥生成和更新本级密钥设备的帮助密钥,是在与密钥服务器脱线的情况下完成的,第i级中间设备的帮助密钥为:
HK = ( &Sigma; j = 1 i S j ) Q ID - &Sigma; j = 1 i r j P t j
相关的中间计算结果为:ri P
其中,j=1,2,...,m-1,ri为各级密钥设备产生的随机数,Ptj为各级密钥设备根据相应的时间段,经过hash函数H1运算得到的G1*中的元素,
P t 1 = H 1 ( ID | | T 1 ( time ) )
P t 2 = H 1 ( ID | | T 1 ( time ) | | T 2 ( time ) )
P t m - 1 = H 1 ( ID | | T 1 ( time ) | | T 2 ( time ) | | L T m - 1 ( time ) )
这里的Tj(time)表示对时间进行相应的运算,取出其中相应的时间段的信息,标识本级密钥更新一次的时间,如果T1(time)=year,表示经过运算取出时间中的年份信息,表明第一级密钥设备每年更新一次,以此类推,级数越靠前的密钥设备帮助密钥更新的时间段越长,即第i级密钥设备帮助密钥更新的时间小于第i-1级密钥设备帮助密钥更新的时间;所需要的安全性也更高,所述的密钥设备采用硬件智能卡或UsbKey,这类比较安全的硬件介质。
对于所述的步骤d:在最后一级密钥设备处生成用户私钥;其是根据最后一级密钥设备之前的密钥设备生成的所述的帮助密钥实现的;其是出于方便使用的考虑,用户私钥可以导入到比如PC、终端等比较不安全的设备上,因为用户私钥更新比较频繁,比如规定每天对用户私钥更新一次,如果黑客截获了用户私钥,他也只能在一天内破解用户的机密信息,第二天他所截获的用户私钥就再也没什么用处,其中所述的用户私钥为:
d ID = ( &Sigma; j = 1 m S j ) Q ID - &Sigma; j = 1 m r j P t j
相关的计算结果为:
riP,(i=1,2,L,m)
其中:
P t 1 = H 1 ( ID | | T 1 ( time ) )
P t 2 = H 1 ( ID | | T 1 ( time ) | | T 2 ( time ) )
Figure S2007101225661D00096
P t m - 1 = H 1 ( ID | | T 1 ( time ) | | T 2 ( time ) | | L T m - 1 ( time ) )
P t m = H 1 ( ID | | T 1 ( time ) | | T 2 ( time ) | | L T m - 1 ( time ) | | T m ( time ) ) ;
Tj(time)表示对时间进行相应的运算,取出其中相应的时间段的信息,标识本级密钥更新一次的时间,用户私钥更新相对频繁;
对于所述的步骤e与步骤f而言,其与现有的D.B/M.F算法技术对比,区别主要是由于步骤a以及步骤b中增加了主密钥分量以及在密钥设备上设置种子密钥和参数的技术特征所引起的后续处理的改变,所述的步骤e:根据用户的公钥加密明文产生密丈,其包括的步骤为:
步骤e1:令gID=ê(QID,Ppub)=ê(QID,(s1+s2+...+sm)P)∈G2;
步骤e2: C = < rP , r P t 1 , r P t 2 , L , r P t m , M &CirclePlus; H 2 ( g ID r ) > , 其中i=1,2,L,m,
P t 1 = H 1 ( ID | | T 1 ( time ) )
P t 2 = H 1 ( ID | | T 1 ( time ) | | T 2 ( time ) )
Figure S2007101225661D00104
P t m - 1 = H 1 ( ID | | T 1 ( time ) | | T 2 ( time ) | | L T m - 1 ( time ) )
P t m = H 1 ( ID | | T 1 ( time ) | | T 2 ( time ) | | L T m - 1 ( time ) | | T m ( time ) )
Tj(time)表示对时间进行相应的运算,取出其中相应的时间段的信息,标识本级密钥更新一次的时间;
对于所述的步骤f:通过用户私钥解密密文变成明文,其包括的步骤为:
步骤f1:检查U是否是E/GF(p)中的点,如果不是就拒绝该密文;
步骤f2:计算得出明文 M = W &CirclePlus; H 2 ( e ^ ( d ID , U ) e ^ ( r P t 1 , r 1 P ) . . . e ^ ( r P t m , r m P ) ) ; 其中,加解密的一致性是由下面的等式保证的:
e ^ ( d ID , U ) e ^ ( r P t 1 , r 1 P ) . . . e ^ ( r P t m , r m P ) = e ^ ( ( s 1 + s 2 + . . . + s m ) Q ID , rP ) = g ID r
其中密文C=<U,V1,V2,...,Vm,W>。每一级的密钥更新设备只储存一个帮助密钥,第i级密钥更新设备储存i个有关运算结果。
为了使本领域技术人员更清楚,我们仍以保密手机为例,采用本发明的方法,通过三个主密钥分量(s1、s2和s3),结合发明内容步骤a中的参数P(P是曲线E的基点),将s1P设置到第一级密钥设备,s2P设置在到第二级密钥设备,将s3P设置到用户手机,这里的密钥设备采用硬件智能卡或Usb Key的硬件介质形式,设置后的密钥生成和更新都是在和密钥服务器脱线的情况下进行的,按时间分三级,其中:
T1(time)=year,T2(time)=month,T3(time)=day。
也就是说,第一级密钥设备的帮助密钥自行每年更新一次,第二级密钥设备的帮助密钥依赖于第一级帮助密钥每月更新一次,用户私钥依赖于第二级帮助密钥每天更新一次。
综上,本发明引入多个主密钥分量,避免单一主密钥被破解,从而导致整个系统被破解的风险;在用户密钥管理中,采用按时间分级的模式,既保持了用户私钥在较短时间得以更新,从而最大限度地避免了密钥被破解的风险,而且只有种子密钥和参数设置需要和密钥服务器交互,其他的密钥更新都是在密钥服务器脱线的情况下完成的,所以又极大地减轻了密钥服务器的负担;另外,本发明的每一级帮助密钥的更新只需要进行一次关键的点积运算,每一级的中间结果也只需要进行一次关键的点积运算;因此具有计算量小,需要的储存空间也小的特点。
以上所述仅为本发明的较佳实施例,对本发明而言仅仅是说明性的,而非限制性的。本专业技术人员理解,在本发明权利要求所限定的精神和范围内可对其进行许多改变,修改,甚至等效,但都将落入本发明的保护范围内。

Claims (8)

1.一种基于用户身份标识的加解密方法,其特征在于,其包括的步骤为:
步骤a:产生基于用户身份标识的加解密系统的系统参数,生成至少两个主密钥分量;
步骤b:提供多级密钥设备,密钥服务器向符合身份标识要求用户的各级密钥设备中设置种子密钥和参数;
步骤c:每级密钥设备根据上一级密钥设备的帮助密钥生成和更新本级密钥设备的帮助密钥;
步骤d:在最后一级密钥设备处生成用户私钥;其是根据最后一级密钥设备之前的密钥设备生成的所述的帮助密钥实现的;
步骤e:根据用户的公钥加密明文产生密文;
步骤f:通过用户私钥解密密文变成明文。
2.根据权利要求1所述的基于用户身份标识的加解密方法,其特征在于,所述的步骤a:产生基于用户身份标识的加解密系统的系统参数,生成至少两个主密钥分量,其包括的步骤为:
步骤a1:选择一至少512比特长的大素数p和满足BDH安全假设的超奇异椭圆曲线E/GF(p),其中,P是曲线E的基点,基点的阶是大素数q,q的长度至少为160比特,定义q阶加法循环群G1、q阶乘法循环群G2,以及双线性配对ê:G1×G1→G2;
步骤a2:定义hash函数H2:GF(p2)→{0,1}n,及一用于将用户身份ID映射到G1*上元素的函数H1,其中,G1*表示G1去除O元素;
步骤a3:确定明文空间M、密文空间是C,其中,M={0,1}n、C=G1*×{0,1}n
步骤a4:根据实际需要,确定用户私钥更新的级数m,随机选择m个主密分量:s1,s2,...sm∈Zq *,并令Ppub=(s1+s2+...+sm)P;
步骤a5:保密各个主密钥分量si,其中i=1,2,...,m,公开公共参数param=<q,G1,G2,ê,n,P,Ppub,H1,H2>;
步骤a6:执行步骤b。
3.根据权利要求1或2所述的基于用户身份标识的加解密方法,其特征在于,所述的步骤b:提供多级密钥设备,密钥服务器向符合身份标识要求用户的各级密钥设备中设置种子密钥和参数,其包括的步骤为:
步骤b1:计算用户公钥QID,其中QID=H1(ID);
步骤b2:各级密钥设备分别设置种子密钥:siQID,其中i=1,2,...,m;
步骤b3:将系统参数p设置到各级密钥设备中。
4.根据权利要求1所述的基于用户身份标识的加解密方法,其特征在于,所述的步骤c:每级密钥设备根据上一级密钥设备的帮助密钥生成和更新本级密钥设备的帮助密钥,是在与密钥服务器脱线的情况下完成的,第i级中间设备的帮助密钥为:
HK = ( &Sigma; j = 1 i S j ) Q ID - &Sigma; j = 1 i r j P t j
相关的中间计算结果为:riP
其中,j=1,2,...,m-1,rj为各级密钥设备产生的随机数,Ptj为各级密钥设备根据相应的时间段,经过hash函数H1运算得到的G1*中的元素,
P t 1 = H 1 ( ID | | T 1 ( time ) )
P t 2 = H 1 ( ID | | T 1 ( time ) | | T 2 ( time ) )
Figure S2007101225661C00024
P t m - 1 = H 1 ( ID | | T 1 ( time ) | | T 2 ( time ) | | L T m - 1 ( time ) )
其中,Tj(time)表示对时间进行相应的运算,取出其中相应的时间段的信息,标识本级密钥更新一次的时间,其中,第i级密钥设备帮助密钥更新的时间大于第i-1级密钥设备帮助密钥更新的时间。
5.根据权利要求1或4所述的基于用户身份标识的加解密方法,其特征在于,所述的密钥设备为硬件智能卡或UsbKey。
6.根据权利要求1或4所述的基于用户身份标识的加解密方法,其特征在于,所述的步骤d:在最后一级密钥设备处生成用户私钥;其是根据最后一级密钥设备之前的密钥设备生成的所述的帮助密钥实现的;用户私钥为:
d ID = ( &Sigma; j = 1 m S j ) Q ID - &Sigma; j = 1 m r j P t j
相关的中间计算结果为:
rjP,(i=1,2,L,m)
其中:
P t 1 = H 1 ( ID | | T 1 ( time ) )
P t 2 = H 1 ( ID | | T 1 ( time ) | | T 2 ( time ) )
Figure S2007101225661C00033
P t m - 1 = H 1 ( ID | | T 1 ( time ) | | T 2 ( time ) | | L T m - 1 ( time ) )
P t m = H 1 ( ID | | T 1 ( time ) | | T 2 ( time ) | | L T m - 1 ( time ) | | T m ( time ) ) ;
Tj(time)表示对时间进行相应的运算,取出其中相应的时间段的信息,标识本级密钥更新一次的时间。
7.根据权利要求1所述的基于用户身份标识的加解密方法,其特征在于,所述的步骤e:根据用户的公钥加密明文产生密文,其包括的步骤为:
步骤e1:令gID=ê(QID,Ppub)=ê(QID,(s1+s2+...+sm)P)∈G2;
步骤e2: C = < rP , r P t 1 , r P t 2 , L , r P t m , M &CirclePlus; H 2 ( g ID r ) > , 其中i=1,2,L,m,
P t 1 = H 1 ( ID | | T 1 ( time ) )
P t 2 = H 1 ( ID | | T 1 ( time ) | | T 2 ( time ) )
Figure S2007101225661C00039
P t m - 1 = H 1 ( ID | | T 1 ( time ) | | T 2 ( time ) | | L T m - 1 ( time ) )
P t m = H 1 ( ID | | T 1 ( time ) | | T 2 ( time ) | | L T m - 1 ( time ) | | T m ( time ) )
Tj(time)表示对时间进行相应的运算,取出其中相应的时间段的信息,标识本级密钥更新一次的时间。
8.根据权利要求1所述的基于用户身份标识的加解密方法,其特征在于,所述的步骤f:通过用户私钥解密密文变成明文,其包括的步骤为:
步骤f1:检查U是否是E/GF(p)中的点,如果不是就拒绝该密文;
步骤f2:计算得出明文 M = W &CirclePlus; H 2 ( e ^ ( d ID , U ) e ^ ( r P t 1 , r 1 P ) . . . e ^ ( r P t m , r m P ) ) ;
其中,加解密的一致性是由下面的等式保证的:
e ^ ( d ID , U ) e ^ ( r P t 1 , r 1 P ) . . . e ^ ( r P t m , r m P ) = e ^ ( ( s 1 + s 2 + . . . + s m ) Q ID , rP ) = g ID r
其中密文C=<U,V1,V2,...,Vm,W>。
CNA2007101225661A 2007-09-27 2007-09-27 基于用户身份标识的加解密方法 Pending CN101166088A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNA2007101225661A CN101166088A (zh) 2007-09-27 2007-09-27 基于用户身份标识的加解密方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNA2007101225661A CN101166088A (zh) 2007-09-27 2007-09-27 基于用户身份标识的加解密方法

Publications (1)

Publication Number Publication Date
CN101166088A true CN101166088A (zh) 2008-04-23

Family

ID=39334596

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2007101225661A Pending CN101166088A (zh) 2007-09-27 2007-09-27 基于用户身份标识的加解密方法

Country Status (1)

Country Link
CN (1) CN101166088A (zh)

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009155781A1 (zh) * 2008-06-24 2009-12-30 香港城市大学 实现信息加密传输的方法和系统
CN101789865A (zh) * 2010-03-04 2010-07-28 深圳市华信安创科技有限公司 一种用于加密的专用服务器及加密方法
WO2011085666A1 (en) * 2010-01-13 2011-07-21 Huawei Technologies Co., Ltd. System and method for securing wireless transmissions
CN102546161A (zh) * 2010-12-08 2012-07-04 索尼公司 可撤销的基于密文政策的属性基密码方法、设备和系统
CN102811125A (zh) * 2012-08-16 2012-12-05 西北工业大学 基于多变量密码体制的无证书多接收者签密方法
CN103023648A (zh) * 2012-11-27 2013-04-03 中国科学技术大学苏州研究院 基于椭圆曲线离散对数问题的无证书签名方法
CN103929303A (zh) * 2013-01-11 2014-07-16 华立仪表集团股份有限公司 一种计量自动化系统的密钥管理设备
CN104850801A (zh) * 2015-06-09 2015-08-19 广东欧珀移动通信有限公司 文件加密方法及装置
CN104980273A (zh) * 2014-04-04 2015-10-14 华为技术有限公司 加解密方法和装置
CN105391723A (zh) * 2015-11-24 2016-03-09 无锡江南计算技术研究所 一种基于硬件的多级密钥协商方法
CN105577373A (zh) * 2015-12-15 2016-05-11 四川长虹电器股份有限公司 标识密匙的生成方法
CN105635049A (zh) * 2014-10-29 2016-06-01 航天信息股份有限公司 基于客户端标识密码的防伪税控方法和装置
CN105743646A (zh) * 2016-02-03 2016-07-06 四川长虹电器股份有限公司 一种基于身份的加密方法及系统
CN106549754A (zh) * 2016-11-24 2017-03-29 北京爱接力科技发展有限公司 管理密钥的方法和装置
CN107017987A (zh) * 2017-03-15 2017-08-04 深圳奥联信息安全技术有限公司 一种安全密码技术中选择双线性对的椭圆曲线方法
CN107483203A (zh) * 2017-07-13 2017-12-15 深圳市盛路物联通讯技术有限公司 物联网接入点接收数据的分时段加密方法及装置
CN108141367A (zh) * 2015-09-30 2018-06-08 微软技术许可有限责任公司 代码签署服务
CN109818741A (zh) * 2017-11-22 2019-05-28 航天信息股份有限公司 一种基于椭圆曲线的解密计算方法及装置
CN110166254A (zh) * 2019-05-27 2019-08-23 国家电网有限公司 利用智能合约实现基于身份的密钥管理方案及装置
CN110266478A (zh) * 2019-05-31 2019-09-20 联想(北京)有限公司 一种信息处理方法、电子设备
CN110855597A (zh) * 2018-08-20 2020-02-28 北京京东金融科技控股有限公司 消息传输方法、服务器及客户端
CN112187454A (zh) * 2020-09-14 2021-01-05 国网浙江省电力有限公司信息通信分公司 基于区块链的密钥管理方法及系统
CN111368317B (zh) * 2020-03-04 2021-03-19 江苏经贸职业技术学院 一种计算机数据加密系统及方法
CN112702352A (zh) * 2020-12-28 2021-04-23 杭州趣链科技有限公司 基于rsa的加密邮件过滤方法

Cited By (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8499156B2 (en) 2008-06-24 2013-07-30 City University Of Hong Kong Method for implementing encryption and transmission of information and system thereof
WO2009155781A1 (zh) * 2008-06-24 2009-12-30 香港城市大学 实现信息加密传输的方法和系统
CN102687546A (zh) * 2010-01-13 2012-09-19 华为技术有限公司 用于确保无线传输安全的系统和方法
US8468343B2 (en) 2010-01-13 2013-06-18 Futurewei Technologies, Inc. System and method for securing wireless transmissions
WO2011085666A1 (en) * 2010-01-13 2011-07-21 Huawei Technologies Co., Ltd. System and method for securing wireless transmissions
RU2542578C2 (ru) * 2010-01-13 2015-02-20 Хуавэй Текнолоджиз Ко., Лтд. Система и способ обеспечения защиты беспроводных передач
CN102687546B (zh) * 2010-01-13 2014-12-03 华为技术有限公司 用于确保无线传输安全的系统和方法
CN101789865A (zh) * 2010-03-04 2010-07-28 深圳市华信安创科技有限公司 一种用于加密的专用服务器及加密方法
CN102546161A (zh) * 2010-12-08 2012-07-04 索尼公司 可撤销的基于密文政策的属性基密码方法、设备和系统
CN102811125B (zh) * 2012-08-16 2015-01-28 西北工业大学 基于多变量密码体制的无证书多接收者签密方法
CN102811125A (zh) * 2012-08-16 2012-12-05 西北工业大学 基于多变量密码体制的无证书多接收者签密方法
CN103023648A (zh) * 2012-11-27 2013-04-03 中国科学技术大学苏州研究院 基于椭圆曲线离散对数问题的无证书签名方法
CN103023648B (zh) * 2012-11-27 2015-10-07 中国科学技术大学苏州研究院 基于椭圆曲线离散对数问题的无证书签名方法
CN103929303A (zh) * 2013-01-11 2014-07-16 华立仪表集团股份有限公司 一种计量自动化系统的密钥管理设备
CN103929303B (zh) * 2013-01-11 2018-06-26 华立科技股份有限公司 一种计量自动化系统的密钥管理设备
CN104980273A (zh) * 2014-04-04 2015-10-14 华为技术有限公司 加解密方法和装置
CN105635049B (zh) * 2014-10-29 2019-07-09 航天信息股份有限公司 基于客户端标识密码的防伪税控方法和装置
CN105635049A (zh) * 2014-10-29 2016-06-01 航天信息股份有限公司 基于客户端标识密码的防伪税控方法和装置
CN104850801A (zh) * 2015-06-09 2015-08-19 广东欧珀移动通信有限公司 文件加密方法及装置
CN104850801B (zh) * 2015-06-09 2018-03-13 广东欧珀移动通信有限公司 文件加密方法及装置
CN108141367A (zh) * 2015-09-30 2018-06-08 微软技术许可有限责任公司 代码签署服务
CN105391723A (zh) * 2015-11-24 2016-03-09 无锡江南计算技术研究所 一种基于硬件的多级密钥协商方法
CN105391723B (zh) * 2015-11-24 2018-07-06 无锡江南计算技术研究所 一种基于硬件的多级密钥协商方法
CN105577373A (zh) * 2015-12-15 2016-05-11 四川长虹电器股份有限公司 标识密匙的生成方法
CN105577373B (zh) * 2015-12-15 2018-10-19 四川长虹电器股份有限公司 标识密匙的生成方法
CN105743646A (zh) * 2016-02-03 2016-07-06 四川长虹电器股份有限公司 一种基于身份的加密方法及系统
CN105743646B (zh) * 2016-02-03 2019-05-10 四川长虹电器股份有限公司 一种基于身份的加密方法及系统
CN106549754A (zh) * 2016-11-24 2017-03-29 北京爱接力科技发展有限公司 管理密钥的方法和装置
CN107017987A (zh) * 2017-03-15 2017-08-04 深圳奥联信息安全技术有限公司 一种安全密码技术中选择双线性对的椭圆曲线方法
CN107483203A (zh) * 2017-07-13 2017-12-15 深圳市盛路物联通讯技术有限公司 物联网接入点接收数据的分时段加密方法及装置
CN107483203B (zh) * 2017-07-13 2020-09-04 深圳市盛路物联通讯技术有限公司 物联网接入点接收数据的分时段加密方法及装置
CN109818741A (zh) * 2017-11-22 2019-05-28 航天信息股份有限公司 一种基于椭圆曲线的解密计算方法及装置
CN110855597A (zh) * 2018-08-20 2020-02-28 北京京东金融科技控股有限公司 消息传输方法、服务器及客户端
CN110166254A (zh) * 2019-05-27 2019-08-23 国家电网有限公司 利用智能合约实现基于身份的密钥管理方案及装置
CN110266478A (zh) * 2019-05-31 2019-09-20 联想(北京)有限公司 一种信息处理方法、电子设备
CN111368317B (zh) * 2020-03-04 2021-03-19 江苏经贸职业技术学院 一种计算机数据加密系统及方法
CN112187454A (zh) * 2020-09-14 2021-01-05 国网浙江省电力有限公司信息通信分公司 基于区块链的密钥管理方法及系统
CN112187454B (zh) * 2020-09-14 2022-12-02 国网浙江省电力有限公司 基于区块链的密钥管理方法及系统
CN112702352A (zh) * 2020-12-28 2021-04-23 杭州趣链科技有限公司 基于rsa的加密邮件过滤方法
CN112702352B (zh) * 2020-12-28 2022-07-05 杭州趣链科技有限公司 基于rsa的加密邮件过滤方法

Similar Documents

Publication Publication Date Title
CN101166088A (zh) 基于用户身份标识的加解密方法
CN112822014B (zh) 数据处理方法、装置、电子设备及存储介质
CN102546181B (zh) 基于密钥池的云存储加解密方法
CN1859090B (zh) 一种基于身份的密码方法和系统
CN104639315B (zh) 基于身份密码和指纹识别双重认证的方法和装置
CN105024994A (zh) 无对运算的安全无证书混合签密方法
CN110120939B (zh) 一种基于异构系统的可否认认证的加密方法和系统
CN101471776A (zh) 基于用户身份标识防止pkg伪造签名的方法
CN110830236A (zh) 基于全域哈希的身份基加密方法
CN104767612A (zh) 一种从无证书环境到公钥基础设施环境的签密方法
CN107005408A (zh) 公共密钥加密系统
CN109194474A (zh) 一种数据传输方法及装置
CN108462575A (zh) 基于无可信中心门限混合加密的上传数据加密方法
CN104135473A (zh) 一种由密文策略的属性基加密实现身份基广播加密的方法
CN104158880A (zh) 一种用户端云数据共享解决方法
CN108989049A (zh) 一种无双线性配对的代理重加密系统及加密方法
CN112733177A (zh) 基于全域哈希的层次标识密码加密方法
CN116112244A (zh) 一种基于区块链和属性基加密的访问控制方法
Hodowu et al. An enhancement of data security in cloud computing with an implementation of a two-level cryptographic technique, using AES and ECC algorithm
KR101575681B1 (ko) 속성 기반 암호화 방법
CN116318696B (zh) 一种双方无初始信任情况下代理重加密数字资产授权方法
CN112995215A (zh) 解密系统、方法、装置、电子设备及存储介质
Habib et al. Public key exchange scheme that is addressable (PKA)
CN105530089B (zh) 属性基加密方法和装置
EP2395698B1 (en) Implicit certificate generation in the case of weak pseudo-random number generators

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Open date: 20080423