CN105306212A - 一种身份隐藏且强安全的签密方法 - Google Patents

一种身份隐藏且强安全的签密方法 Download PDF

Info

Publication number
CN105306212A
CN105306212A CN201510546068.4A CN201510546068A CN105306212A CN 105306212 A CN105306212 A CN 105306212A CN 201510546068 A CN201510546068 A CN 201510546068A CN 105306212 A CN105306212 A CN 105306212A
Authority
CN
China
Prior art keywords
equipment
aux
key
cert
data
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
CN201510546068.4A
Other languages
English (en)
Other versions
CN105306212B (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.)
Fudan University
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to CN201510546068.4A priority Critical patent/CN105306212B/zh
Publication of CN105306212A publication Critical patent/CN105306212A/zh
Application granted granted Critical
Publication of CN105306212B publication Critical patent/CN105306212B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Storage Device Security (AREA)

Abstract

本发明提供了一种身份隐藏且强安全的签密方法,包括:第一设备计算X′=AXd,其中X=gx和d=hd(X,auxd),并根据DH-指数x、私钥a以及第二设备的公钥B=gb确定预先共享密钥S,基于S确定KA,并根据KA确定CA=AE(KA,(IA,A,CERTA,X,DataA)),并将{X′,CA}发送给第二设备;第二设备根据收到的X′以及第二设备的私钥b确定预先共享密钥S,基于S确定KA,并根据KA对CA进行解密得到(IA,A,CERTA,X,DataA);若公钥证书CERTA有效且X′=AXd有效则接受DataA。在发明的签密方法中,第一设备的身份和公钥信息得到了隐藏,并且第一设备仅需运行2.5个模指数运算,而第二设备仅需运行1.5个模指数运算。另外,本发明方法耗费的带宽比现有签密方案更少,并且临时DH-指数x的泄露不会影响发明方案的安全性。

Description

一种身份隐藏且强安全的签密方法
技术领域
本发明涉及密码技术领域,具体地说,涉及一种身份隐藏且强安全的签密方法。
背景技术
数字签名和公钥加密是密码理论及应用的核心内容。签密是将数字签名和公钥加密的功能合二为一,并且并分开的签名和加密的效率大为提升。但是,目前存在的所有签密方案均需公开传输用户的身份和公钥信息。而在移动互联时代,在很多应用中用户的身份和公钥证书信息往往属于敏感信息,因此发展身份隐藏的签密方法具有重要的理论及应用意义。
目前主流并且被ISO标准化的签密方案是YuliangZheng给出的签密方案。假设第一用户的公钥和私钥为(A=ga,a),第二用户的公钥和私钥为(B=gb,b),Zheng的签密方案运行过程如下:
第一用户随机选取x∈Zq,计算K=KDF(Bx,IA||IB),r=H(DataA,A,B,Bx)其中H是一个哈希函数,s=x/(r+a)∈Zq,和CA=E(K,DataA),并将{IA,A,CERTA,CA,r,s}作为签密发送给第二用户;
第二用户收到{IA,A,CERTA,CA,r,s}后,计算K=KDF((Agr)sb,IA||IB),利用K解密CA得到DataA,若r=H(DataA,A,B,(Agr)sb)则接受DataA
注意在Zheng的签密方案中第一用户的公钥和身份信息需明文传输,则在用户隐私需保护的应用中难以应用。为了是的Zheng的签密方案隐藏第一用户的身份和公钥信息,第一用户需要额外计算和传输X=gx,而第二用户则需额外计算Xb。但是这种修改后的签密方案的安全性需要重新分析,并且效率较差:第一用户至少需运行2格模指数运算,而第二用户需运行3个模指数运算。另外,Zheng的签密方案需要额外传输(r,s),从而占用额外的带宽。还有,对于Zheng的签密方案临时DH-指数x的泄露,将使得安全性完全被攻破。
因此,在移动互联大规模普及和应用的背景下,亟需一种更为高效的且身份隐藏的签密方法。
发明内容
为解决上述问题,本发明提供了一种身份隐藏且强安全的签密方法,所述方法包括:
第一设备根据其生成的DH-指数x∈Zq和第一设备的公钥A=ga∈G,第一辅助信息auxA其可为空的数据集合,以及第一设备需加密传输的数据集合DataA,确定第一参数X′=AXd∈G或X′=AdX∈G,其中X=gx∈G,d=h(X,auxd),是一个转换函数,1≤Ld≤|q|,|q|表示q的二进制长度, aux d ⊆ aux A ∪ { I A , A , CERT A , I B , B , CERT B } ∪ Data A , g表示有限群G′的循环子群G的阶为q的生成元,a∈Zq是第一设备的私钥,IA表示第一设备的身份,CERTA是第一设备的公钥证书,CERTB是第二设备的公钥证书,IB表示第二设备的身份,B=gb∈G是第二设备的公钥,b∈Zq是第二设备的私钥,所述第一设备根据(a,x,IB,B,CERTB)以及辅助信息auxA和auxd确定预先共享密钥S,根据S以及{X′,auxA,IA,A,IB,B}的一个子集利用密钥导出函数KDF确定第一设备和第二设备的加密密钥KA和KB以及辅助密钥K′,其中KA和KB相等或不等且K′可为空,第一设备计算CA=AE(KA,(IA,A,CERTA,X,DataA)),其中AE是一个对称加密算法,第一设备将{X′,auxA,CA}发送给第二设备;其中若仅需第一设备向第二设备发送加密信息,可以令KA=KB并令辅助密钥K′为空;若发明签密方法用于认证密钥协商,可以利用辅助密钥K′以及{X′,auxA,IA,A,IB,B,DataA}的一个子集导出会话密钥;
收到第一设备发送过来的{X′,auxA,CA)后,第二设备根据其私钥b∈Zq以及{X′,auxA),确定预先共享密钥S,根据S以及{X′,auxA,IA,A,IB,B}的一个子集利用密钥导出函数KDF确定第一设备和第二设备的加密密钥KA和KB以及辅助密钥K′,所述第二设备利用KA解密接收到的所述CA得到(IA,A,CERTA,X,DataA),验证公钥证书CERTA和第一参数X′的有效性,若验证结果不正确则终止运行,若验证结果正确则接受DataA,并可用第二设备的加密密钥KB来加密DataB,其中DataB为第二设备需加密传输至第一设备的可为空的数据集合,或者利用辅助密钥K′以及{X′,auxA,IA,A,IB,B,DataA}的一个子集导出会话密钥。
根据本发明的一个实施例,
为空或包含一个时间戳和/或一个第一设备选取的随机数rA和/或第二设备的身份和/或公钥信息,其中rA∈auxA或rA∈DataA,hd是一个哈希函数或hd的输出是X的x-轴坐标或X的x-轴坐标的一个函数;在实际应用中,可以将第二设备的身份和/或公钥信息和/或DataA部分或全部也作为hd输入的一部分;
和/或,auxA包含第一设备生成的随机数和/或时间戳和/或第一设备的身份信息和/或第一设备的IP地址信息和/或第二设备的IP地址信息和/或第二设备的身份信息,或auxA为空;
和/或,根据所需达到的安全强度需要,x的长度|x|可变,以及d的长度Ld可变,即:0<|x|≤|q|,0<Ld≤|q|,,其中|q|表示的是q的长度,或x=hx(x′,auxx),其中hx:{0,1}*→{0,1}|x|是一个哈希函数,x′∈{0,1}*是第一设备选取的保密的随机数, aux x ⊆ aux A ∪ { I A , A , CERT A , I B , B , CERT B } ;
和/或,所述第二设备确定出S后,还判断S是否为G′中的单位元,如果S为单位元,则停止执行后续步骤,否则继续后续步骤;和/或,所述第一设备确定出S后,还判断S是否为G′中的单位元,如果S为单位元,则重新计算生成第一参数X′直到S≠lG,否则继续后续步骤;
和/或,AE是一个对称认证加密算法。比如,AE是一个对称认证加密算法,AE可以是确定待状态或随机的算法,并可是带有联合信息的认证加密函数(authenticatedencryptionwithassociateddata,AEAD)并可以提供消息长度隐藏功能。
根据本发明的一个实施例,
|x|=[|q|/2]或|x|=[|q|/2]+1或|x|=[|q|/4]或|x|=|q|;和/或Ld≤[|q|/2],其中对于一个实数α,若α是小数则|[α]表示的是α的向上或向下取整。
根据本发明的一个实施例,
所述第一设备和/或第二设备所述根据如下表达式确定第一设备和第二设备的认证加密密钥KA和KB
{KA,KB,K′}←KDF(S,aux)
aux ⊆ { X ′ , aux A , I B , B , I A , A }
其中,KDF是密钥导出函数,K′∈{0,1}*表示辅助密钥,可为空;
所述第一设备和第二设备由K′或S以及 aux K ⊆ { X ′ , I A , I B , A , B , X , Data A , aux A } 导出会话密钥。
根据本发明的一个实施例,
所述第二设备根据如下表达式确定S:
S=X′tb
所述第一设备根据如下表达式确定S:
S=B(a+xd)t或S=B(ad+x)t
其中,t表示伴随因子,即群G′的阶除以群G的阶的商。
根据本发明的一个实施例,
所述第二设备根据如下表达式确定S:
S=X′b
所述第一设备根据如下表达式确定S:
S=B(a+xd)或S=B(ad+x)
根据本发明的一个实施例,
所述第二设备在在确定S前,先检测第一参数X′∈G是否成立,若不成立,则停止执行后续步骤;
且/或,所述第一设备在在确定S前,先检测第二参数B∈G是否成立,若不成立,则停止执行后续步骤。
根据本发明的一个实施例,
所述第二设备验证第一参数X′的有效性的方法如下:根据方法约定计算,然后验证X′=AXd∈G′或X′=AdX∈G′。
在现有的签密方法中,第一设备的身份和公钥信息需明文传输,或第一用户至少运行2个模指数运算,第二用户至少运行3个模指数运算。而在本发明所提供的签密方法中,第一用户的身份和公钥信息进行了隐藏;并且第一设备仅需运行2.5个模指数运算,而第二设备仅需运行1.5个模指数运算。另外,本发明方法耗费的带宽比现有签密方案更少,并且临时DH-指数x的泄露不会影响发明方案的安全性。这不仅保护了第一设备的身份隐私,也极大地减少了各个设备的数据计算量,提高了计算和传输效率,同时更强化了安全性,并在应用上具有更为优良的灵活性。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要的附图做简单的介绍:
图1是根据本发明一个实施例的签密方法运行的流程图。
具体实施方式
以下将结合附图及实施例来详细说明本发明的实施方式,借此对本发明如何应用技术手段来解决技术问题,并达成技术效果的实现过程能充分理解并据以实施。需要说明的是,只要不构成冲突,本发明中的各个实施例以及各实施例中的各个特征可以相互结合,所形成的技术方案均在本发明的保护范围之内。
同时,在以下说明中,出于解释的目的而阐述了许多具体细节,以提供对本发明实施例的彻底理解。然而,对本领域的技术人员来说显而易见的是,本发明可以不用这里的具体细节或者所描述的特定方式来实施。
另外,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机***中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤(尤其是在验证一组数据的有效性时,数据有效性验证的顺序是可变的)。
在密码技术中,G表示一个有限群G′的一个循环子群,其中有限群G′和循环子群G的阶分别为N和q,g是循环子群G的生成元。ll表示有限群G′的单位元,其中,G/lG表示循环子群G中除了单位元lG之外的所有元素所构成的集合,G′/lG表示由有限群G′减去单位元lG之后其他元素的集合(即有限群G′中非lG的集合)。对于任意元素X∈G′,X-1表示元素X相对于有限群G′的逆元,即XX-1=lG
一般而言,循环子群G的阶q为一个大的素数。典型地,|q|为256或512,其中|q|表示q以2进制表示时的长度。Zq为数字集合{0,1,2,...,q-1},而则表示数字集合{1,2,...,q-1}。
为了表述的方便,本发明中,采用乘法表示(multiplicativerepresentation)群上的操作,即有限群G′和循环子群G为乘法群。当然,本方法也可以等价地应用到加法群上,例如椭圆曲线以及其他代数群或具体的群、有限域、复数或复合模(compositemoduli)等。
一般而言,对于乘法群上的操作,指数上的操作是对q的求模,而群上元素的操作是对N或N+1求模操作或其他操作以保证操作的结果是有限群G′或循环子群G中的元素。例如,gx通常指的是gxmodq,gxgy通常表示的是gxgy∈G′,x+y∈Zq表示的是(x+y)modq,xy∈Zq表示的是(xy)modq。
本实施例中,参数G、q和g,所使用的认证加密算法AE及其密钥长度,所使用的AE、KDF等算法,第一参数X′的具体计算方式,第二参数Y′的具体计算方式,参数Ld,Le,L,hd,he会话密钥长度,以及auxA,auxB,aux,auxK,auxh,auxe,DataA,DataB,具体取值和设置方式等可以在发明方法运行之前确定并在运行方法的用户或设备之间达成一致,抑或是运行发明方法的用户和设备在协议运行之前或之中交换和协商这些参数并达成一致,本发明不限于此。
如果离散对数假设在循环子群G上成立,即给定X=gx∈G(其中,x从数字集合中随机选取,LA≤|q|标示0-1串的长度),没有概率多项式时间的算法能够以不可忽略的概率由X求出x。
在后续的描述中,采用IA和IB来标示不同用户或设备的逻辑或区别性的身份(例如名字、设备序列号、email、IP地址或是方法运行中的角色等)。而这些身份标示可可能伴随、包含或包含于一个数字证书。
本实施例中,具有身份标示IA的第一设备具有与之对应的公钥A。本实施例中,A=ga∈G。其中,a标示第一设备的私钥,其可以由第一设备在 Z q * = { 1,2 , . . . , q - 1 } 中随机选取。
相应地,本实施例中,具有具有身份标示IB的第二设备具有与之对应的公钥B。本实施例中,B=gb∈G。其中,b标示第二设备的私钥,其可以由第二设备在 Z q * = { 1,2 , . . . , q - 1 } 中随机选取。
需要指出的是,在没有特别说明的情况下,公钥A与第一设备的绑定以及公钥B与第二设备的绑定,是由一个可信第三方机构来执行。例如对于第一设备,可信第三方机构通常会检查第一设备的身份标示IA的有效性以及对应公钥A的有效性,然后对(IA,A)做一个数字签名,并将(IA,A)以及可信第三方所生成的数字前景形成一个针对(IA,A)的公钥证书,即为CERTA
图1示出了本实施例所提供的签密方法的流程图。
如图1所示,在本实施例中,第一设备首先根据其公钥A和第一设备的DH密钥成分X的离散对数(即DH-指数)x,确定第一参数X′。本实施例中,第一设备的公钥A可以采用如下表达式确定的道:
A=ga(1)
其中,a表示第一设备的私钥。
第一参数X′可以根据如下表达式计算得到:
X=gx,X′=AXd,d=hd(IA,A,X,tA)(2)
其中tA是一个时间戳信息,d的长度,即Ld,设置为|q|/2。其中,其中(IA,A)可以用CERTA或CERTA的哈希来替换。在实际应用中,可以将第二设备的身份和/或公钥信息以及DataA的全部或部分也作为hd输入的一部分。
得到参数X′后,第一设备计算
S=B(a+xd)t(3)
其中,t表示伴随因子,它是群G′的阶除以群G的阶的商。若S=lG则第一设备重新计算第一参数X′直到S≠lG。若S≠lG,则计算
KA←KDF(S,X′||IB)(4)
其中,KDF表示密钥导出函数。一般而言,KDF既然可以是一个哈希函数或哈希函数序列(例如HMAC,HKDF等),也可以是一个以预先共享密钥S为随机种子的伪随机函数。第二设备计算
CA=AE(KA,(IA,A,CERTA,X,tA,DataA))(5)
其中,DataA表示第一设备需要进行加密传输的可为空的部分数据,AE是一个认证加密函数,其可以是确定的、或随机的、或带状态的,并可是带有联合信息的认证加密函数(authenticatedencryptionwithassociateddata,AEAD)并可以提供消息长度隐藏功能。若AE是带有联合信息的认证加密函数,X′和/或auxA的部分(比如第一和/或第二用户的IP地址)或全部可以作为联合信息的一部分。
本实施例中,DataA为除用户身份IA、公钥A、公钥证书CERTA以外的其他与协议执行相关的信息的一个子集或序列,其可以为空或包含重复元素。本实施例中,其它与协议执行相关的信息包括以下所列项中的任一项或几项:
用户需传输或认证的消息,全部或部分***参数,参数{|x|,Lh,L},参数协议初始者和响应者的标示、IP地址、协议版本,安全参数和密钥参数,协议的会话标志符,用户交换的随机数,时间戳,cookie,认识数值,以及其他协议会话需要传输的信息(例如参数X′和/或参数Y′)等。
需要指出的是,本实施例中,AE(KA,(IA,A,CERTA,X,tA,DataA)指的是先将集合{IA,A,CERTA,X,tA,DataA}中的所有元素按照预设顺序(该预设顺序可以任意,但是需要协议交换的双方均实现知晓并达成一致)连接,例如得到MA=IA||A||CERTA||X||tA||DataA;随后将MA按照预设编码规则编码成二进制,并将得到的二进制编码利用KA进行认证加密。
第一设备将{X′,CA,auxA}发送给第二设备。其中,auxA表示第一设备生成的辅助信息(即第一辅助信息)。本实施例中,第一辅助信息auxA为除第一设备的身份标示、公钥以及公钥证书信息之外的其他与协议执行相关的信息的一个子集或序列。
需要指出的是,在本发明的不同实施例宗,第一辅助信息auxA既可以为空,也可以包含重复元素,本发明不限于此。当第一辅助信息auxA为空时,第一设备也就是将第一参数X′发送给第二设备。当第一辅助信息auxA不为空时,第一辅助信息auxA所包含的信息可以包括以下所列项中的任一项或几项:第一设备的IP地址、第二设备的IP地址、第一设备发送的其他随机数和会话标识符sid等。并且,auxA的一个子集或全部可以作为hd的输入一部分,和/或auxA不公开传输,而是auxA的一个子集或全部作为DataA
第二设备接收到第一设备发送来的{X′,auxA,CA}后,计算
S=X′tb(6)
若S=lG,第二设备终止方法运行;若S≠lG,第二设备计算
KA←KDF(S,X′||IB)(7)
(IA,A,CERTA,X,tA,DataA)←DE(KA,CA)(8)
其中,DE表示对应于认证加密函数AE的解密函数。第二设备计算计算d=hd(IA,A,X,tA),检查tA及CERTA的有效性,且X′=AXd是否成立,若成立,接受DataA
本实施例中,KA∈{0,1}L表示第一设备使用的认证加密的密钥,其用于认证加密第一设备发送给第二设备的信息,其中L表示的是认证加密函数密钥的长度。KB∈{0,1}L表示第二设备使用的认证加密的密钥,其用于认证加密第二设备发送给第一设备的信息。K′∈{0,1}*是额外导出密钥。需要指出的是,根据应用场景,额外导出密钥K′可以为空。在本发明的不同实施例中,密钥KA与密钥KB既可以相同,也可以不同。需要说明的是,在本发明的不同实施例中,会话密钥和认证密钥既可以由同一个密钥导出函数在相同的输入上导出,也可以由同一密钥导出函数在不同的输入上分别导出。此外,会话密钥和认证密钥还可以由不同的密钥导出函数在相同的输入上或不同的输入上分别导出。在图-1所示的实施例中,会话密钥可以由K′和auxK={X′,IA,IB}导出,或 { I A , I B } ⊆ aux K ⊆ { X ′ , X , I A , I B , A , B , Data A , aux A } . 在应用中,auxK还可以包含rA和/或rB,其中rA∈auxA或rA∈DataA,rB∈auxB或rB∈DataB。在图-1所示的实施例中,DataA包含一个时间戳信息tA
需要指出的是,在上述描述中,第一设备和第二设备还可以采用其他合理的方式来计算预先共享密钥S,本发明不限于此。
例如在本发明的其他实施例中,第二设备还可以采用如下表达式来计算预先共享密钥S:
S=X′b(9)
相应地,第一设备则根据如下表达式计算预先共享密钥S:
S=Ba+xd(10)
需要说明的是,在该实施例中,第一设备和/或第二设备还在得到预先共享密钥S后,可不对预先共享密钥S是否为单位元进行检验的,但是此时第二设备需要在计算预先共享密钥S前检查确认X′∈G是否成立。如果成立,则继续进行后续步骤,否则终止执行后续步骤。
同时,还需要指出的是,在本发明的其它实施例中,还可以采用其它合理方式来计算第一参数X′,本发明同样不限于此。例如在本发明的一个实施例中,第一设备可以根据如下表达式计算第一参数X′:
X′=AdX(11)
此时,在该实施例中,第一设备将根据如下表达式计算预先共享密钥S:
S=B(ad+x)t(12)
在该实施例中,第二设备在得到(IA,A,CERTA,X)后,对第一设备的公钥证书CERTA、第一参数X′进行验证时,会对公钥证书CERTA的有效性进行验证,并验证X′=AdX∈G′是否成立。
需要说明的是,在本实施例中,DH-指数x满足如下表达式:
|x|=[|q|/2]+1(13)
即,DH-指数x等于有限群G′的循环子群G的阶q的二进制长度的一半取整加一(在不同实施例中,可以为向上取整,也可以为向下取整)。
需要说明的是,在本发明的其他实施例中,DH-指数x的二进制长度还可以为其他合理值,本发明不限于此。例如在本发明的其他实施例中,DH-指数x和DH-指数y长度还可以满足如下表达式:
|x|=[|q|/4]或|x|=|q|(14)
需要说明的是,在本实施例中,上述参数、函数、算法、用户角色标示以及会话标示符号的表示方法、密钥导出机制以及参数auxA,auxK等,均可以由协议运行双方(即第一设备和第二设备)基于预设机制协商确定。然而参数|x|和d的长度可以有第一设备单独确定。
在现有的签密方法中,第一设备的身份和公钥信息需明文传输,或第一用户至少运行2个模指数运算,第二用户至少运行3个模指数运算。而在本发明所提供的签密方法中,第一用户的身份和公钥信息进行了隐藏;并且第一设备仅需运行2.5个模指数运算,而第二设备仅需运行1.5个模指数运算。这不仅保护了第一设备的身份隐私,也极大地减少了各个设备的数据计算量,提高了计算效率,节省了设备的硬件资源,并在应用上具有更为优良的灵活性。
应该理解的是,本发明所公开的实施例不限于这里所公开的特定处理步骤,而应当延伸到相关领域的普通技术人员所理解的这些特征的等同替代。还应当理解的是,在此使用的术语仅用于描述特定实施例的目的,而并不意味着限制。
说明书中提到的“一个实施例”或“实施例”意指结合实施例描述的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,说明书通篇各个地方出现的短语“一个实施例”或“实施例”并不一定均指同一个实施例。
虽然上述示例用于说明本发明在一个或多个应用中的原理,但对于本领域的技术人员来说,在不背离本发明的原理和思想的情况下,明显可以在形式上、用法及实施的细节上作各种修改而不用付出创造性劳动。因此,本发明由所附的权利要求书来限定。

Claims (8)

1.一种身份隐藏且强安全的签密方法,其特征在于,所述方法包括:
第一设备根据其生成的DH-指数x∈Zq和第一设备的公钥A=ga∈G,第一辅助信息auxA其可为空的数据集合,以及第一设备需加密传输的数据集合DataA,确定第一参数X′=AXd∈G或X′=AdX∈G,其中X=gx∈G,d=hd(X,auxd),是一个转换函数,1≤Ld≤|q|,|q|表示q的二进制长度, aux d ⊆ aux A ∪ { I A , A , CERT A , I B , B , CERT B } ∪ Data A , g表示有限群G′的循环子群G的阶为q的生成元,a∈Zq是第一设备的私钥,IA表示第一设备的身份,CERTA是第一设备的公钥证书,CERTB是第二设备的公钥证书,IB表示第二设备的身份,B=gb∈G是第二设备的公钥,b∈Zq是第二设备的私钥,所述第一设备根据(a,x,IB,B,CERTB)以及辅助信息auxA和auxd确定预先共享密钥S,根据S以及{X′auxA,IA,A,IB,B}的一个子集利用密钥导出函数KDF确定第一设备和第二设备的加密密钥KA和KB以及辅助密钥K′,其中KA和KB相等或不等且K′可为空,第一设备计算CA=AE(KA,(IA,A,CERTA,X,DataA)),其中AE是一个对称加密算法,第一设备将{X′,auxA,CA}发送给第二设备;
收到第一设备发送过来的{X′,auxA,CA)后,第二设备根据其私钥b∈Zq以及{X′,auxA),确定预先共享密钥S,根据S以及{X′,auxA,IA,A,IB,B}的一个子集利用密钥导出函数KDF确定第一设备和第二设备的加密密钥KA和KB以及辅助密钥K′,所述第二设备利用KA解密接收到的所述CA得到(IA,A,CERTA,X,DataA),验证公钥证书CERTA和第一参数X′的有效性,若验证结果不正确则终止运行,若验证结果正确则接受DataA
2.如权利要求1所述的方法,其特征在于,
d=hd(IA,A,X,aux′d),aux′d为空或包含一个时间戳和/或一个第一设备选取的随机数rA和/或第二设备的身份和/或公钥信息,其中rA∈auxA或rA∈DataA,hd是一个哈希函数或hd的输出是X的x-轴坐标或X的x-轴坐标的一个函数;
和/或,auxA包含第一设备生成的随机数和/或时间戳和/或第一设备的身份信息和/或第一设备的IP地址信息和/或第二设备的IP地址信息和/或第二设备的身份信息,或auxA为空;
和/或,根据所需达到的安全强度需要,x的长度|x|可变,以及d的长度Ld可变,即:0<|x|≤|q|,0<Ld≤|q|,其中|q|表示的是q的长度,或x=hx(x′,auxx),其中hx:{0,1}*→{0,1}|x|是一个哈希函数,x′∈{0,1}*是第一设备选取的保密的随机数, aux x ⊆ aux A ∪ { I A , A , CERT A , I B , B , CERT B } ;
和/或,所述第二设备确定出S后,还判断S是否为G′中的单位元,如果S为单位元,则停止执行后续步骤,否则继续后续步骤;和/或,所述第一设备确定出S后,还判断S是否为G′中的单位元,如果S为单位元,则重新计算生成第一参数X′直到S≠1G,否则继续后续步骤;
和/或,AE是一个对称认证加密算法。
3.如权利要求1或2所述的方法,其特征在于,
|X|=[|q|/2]或|X|=[|q|/2]+1或|X|=[|q|/4]或|X|=|q|,和/或Ld≤[|q|/2],其中对于一个实数α,若α是小数则|[α]表示的是α的向上或向下取整。
4.如权利要求1~3中任一项所述的方法,其特征在于,
所述第一设备和/或第二设备所述根据如下表达式确定第一设备和第二设备的认证加密密钥KA和KB
{KA,KB,K′}←KDF(S,aux)
aux ⊆ { X ′ , aux A , I B , B , I A , A }
其中,KDF是密钥导出函数,K′∈{0,1}*表示辅助密钥,可为空;
所述第一设备和第二设备由K′或S以及 aux K ⊆ { X ′ , I A , I B , A , B , X , Data A , aux A } 导出会话密钥。
5.如权利要求4所述的方法,其特征在于,
所述第二设备根据如下表达式确定S:
S=X′tb
所述第一设备根据如下表达式确定S:
S=B(a+xd)t或S=B(ad+x)t
其中,t表示伴随因子,即群G′的阶除以群G的阶的商。
6.如权利要求4所述的方法,其特征在于,
所述第二设备根据如下表达式确定S:
S=X′b
所述第一设备根据如下表达式确定S:
S=B(a+xd)或S=B(ad+x)
7.如权利要求6所述的方法,其特征在于,
所述第二设备在在确定S前,先检测第一参数X′∈G是否成立,若不成立,则停止执行后续步骤;
且/或,所述第一设备在在确定S前,先检测第二参数B∈G是否成立,若不成立,则停止执行后续步骤。
8.如权利要求5~7中任一项所述的方法,其特征在于,
所述第二设备验证第一参数X′的有效性的方法如下:根据方法约定计算d=hd(IA,A,X,aux′d),然后验证X′=AXd∈G′或X′=AdX∈G′。
CN201510546068.4A 2015-08-31 2015-08-31 一种身份隐藏且强安全的签密方法 Active CN105306212B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510546068.4A CN105306212B (zh) 2015-08-31 2015-08-31 一种身份隐藏且强安全的签密方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510546068.4A CN105306212B (zh) 2015-08-31 2015-08-31 一种身份隐藏且强安全的签密方法

Publications (2)

Publication Number Publication Date
CN105306212A true CN105306212A (zh) 2016-02-03
CN105306212B CN105306212B (zh) 2019-09-10

Family

ID=55203010

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510546068.4A Active CN105306212B (zh) 2015-08-31 2015-08-31 一种身份隐藏且强安全的签密方法

Country Status (1)

Country Link
CN (1) CN105306212B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105577370A (zh) * 2016-02-29 2016-05-11 赵运磊 一种应用于客户-服务器环境的认证密钥协商方法
CN106453253A (zh) * 2016-09-06 2017-02-22 赵运磊 一种高效的基于身份的匿签密方法
CN110417722A (zh) * 2019-03-21 2019-11-05 腾讯科技(深圳)有限公司 一种业务数据通信方法、通信设备及存储介质
WO2020103631A1 (zh) * 2018-11-23 2020-05-28 上海扈民区块链科技有限公司 一种基于非对称双线性对的匿签密方法
CN111726346A (zh) * 2020-06-15 2020-09-29 哈工大机器人(合肥)国际创新研究院 数据安全传输方法、装置及***

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101626364A (zh) * 2008-07-08 2010-01-13 赵运磊 一类可基于口令、抗秘密数据泄露的认证和密钥交换方法
JP2012103655A (ja) * 2010-11-13 2012-05-31 Masahiro Yagisawa 耐量子コンピュータ性をもつディジタル署名方式
CN102769530A (zh) * 2012-07-02 2012-11-07 赵运磊 一种计算高效的在线/离线数字签名方法
US20150003615A1 (en) * 2013-06-27 2015-01-01 Infosec Global Inc. Key agreement protocol

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101626364A (zh) * 2008-07-08 2010-01-13 赵运磊 一类可基于口令、抗秘密数据泄露的认证和密钥交换方法
JP2012103655A (ja) * 2010-11-13 2012-05-31 Masahiro Yagisawa 耐量子コンピュータ性をもつディジタル署名方式
CN102769530A (zh) * 2012-07-02 2012-11-07 赵运磊 一种计算高效的在线/离线数字签名方法
US20150003615A1 (en) * 2013-06-27 2015-01-01 Infosec Global Inc. Key agreement protocol

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
YUNLEI ZHAO ETC.: "Privacy-Preserving Authenticated Key-Exchange Over Internet", 《IEEE TRANSACTIONS ON INFORMATION FORENSICS AND SECURITY》 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105577370A (zh) * 2016-02-29 2016-05-11 赵运磊 一种应用于客户-服务器环境的认证密钥协商方法
CN106453253A (zh) * 2016-09-06 2017-02-22 赵运磊 一种高效的基于身份的匿签密方法
CN106453253B (zh) * 2016-09-06 2019-10-25 上海扈民区块链科技有限公司 一种高效的基于身份的匿签密方法
WO2020103631A1 (zh) * 2018-11-23 2020-05-28 上海扈民区块链科技有限公司 一种基于非对称双线性对的匿签密方法
CN110417722A (zh) * 2019-03-21 2019-11-05 腾讯科技(深圳)有限公司 一种业务数据通信方法、通信设备及存储介质
CN110417722B (zh) * 2019-03-21 2021-08-31 腾讯科技(深圳)有限公司 一种业务数据通信方法、通信设备及存储介质
CN111726346A (zh) * 2020-06-15 2020-09-29 哈工大机器人(合肥)国际创新研究院 数据安全传输方法、装置及***
CN111726346B (zh) * 2020-06-15 2022-11-11 合肥哈工轩辕智能科技有限公司 数据安全传输方法、装置及***

Also Published As

Publication number Publication date
CN105306212B (zh) 2019-09-10

Similar Documents

Publication Publication Date Title
CN109525386B (zh) 一种基于Paillier同态加密私有交集和的方法
CN106961336B (zh) 一种基于sm2算法的密钥分量托管方法和***
CN104270249B (zh) 一种从无证书环境到基于身份环境的签密方法
EP1675299B1 (en) Authentication method using bilinear mappings
CN101931529B (zh) 一种数据加密方法、数据解密方法及节点
CN107437993A (zh) 一种基于无证书两方认证密钥协商方法和装置
US9705683B2 (en) Verifiable implicit certificates
CN107425971B (zh) 无证书的数据加/解密方法和装置、终端
KR19980703838A (ko) 암호 키의 컴퓨터-보조식 교환 방법
CN104301108A (zh) 一种从基于身份环境到无证书环境的签密方法
CN105306212A (zh) 一种身份隐藏且强安全的签密方法
CN108632031B (zh) 密钥生成装置及方法、加密装置及方法
CN105337736A (zh) 全同态消息认证方法、装置及***
CN105577370A (zh) 一种应用于客户-服务器环境的认证密钥协商方法
CN110545169B (zh) 基于非对称密钥池和隐式证书的区块链方法和***
CN105099671A (zh) 一种身份隐藏且非延展安全的认证密钥协商方法
CN105162585B (zh) 一种隐私保护的会话密钥协商方法
CN105577377A (zh) 带密钥协商的基于身份的认证方法和***
CN104767611A (zh) 一种从公钥基础设施环境到无证书环境的签密方法
CN109831305B (zh) 基于非对称密钥池的抗量子计算签密方法和***
CN106453253A (zh) 一种高效的基于身份的匿签密方法
CN105530089A (zh) 属性基加密方法和装置
CN104902471B (zh) 无线传感器网络中基于身份的密钥交换设计方法
CN110324357A (zh) 数据发送方法及装置、数据接收方法及装置
CN115883212A (zh) 信息处理方法、装置、电子设备和存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20190221

Address after: Room 345, No. 5, 786 Lane, Xinzhong Road, Xinhe Town, Chongming District, Shanghai

Applicant after: SHANGHAI HUMIN BLOCKCHAIN TECHNOLOGY Co.,Ltd.

Address before: 200433 Fudan University, 220 Handan Road, Yangpu District, Fudan University

Applicant before: Zhao Yunlei

GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220826

Address after: Room 717, School of Computer Science, Fudan University (Jiangwan Campus), No. 2005, Songhu Road, Yangpu District, Shanghai, 200438

Patentee after: Zhao Yunlei

Address before: Room 345, No.5, Lane 786, Xinzhong Road, Xinhe Town, Chongming District, Shanghai 202156

Patentee before: SHANGHAI HUMIN BLOCKCHAIN TECHNOLOGY Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20240118

Address after: 200433 No. 220, Handan Road, Shanghai, Yangpu District

Patentee after: FUDAN University

Address before: Room 717, School of Computer Science, Fudan University (Jiangwan Campus), No. 2005, Songhu Road, Yangpu District, Shanghai, 200438

Patentee before: Zhao Yunlei