CN107682145B - 真实匿名的无证书多消息多接收者签密方法 - Google Patents
真实匿名的无证书多消息多接收者签密方法 Download PDFInfo
- Publication number
- CN107682145B CN107682145B CN201710815077.8A CN201710815077A CN107682145B CN 107682145 B CN107682145 B CN 107682145B CN 201710815077 A CN201710815077 A CN 201710815077A CN 107682145 B CN107682145 B CN 107682145B
- Authority
- CN
- China
- Prior art keywords
- indicate
- sender
- key
- recipient
- indicates
- 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.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3066—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3242—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Algebra (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Power Engineering (AREA)
- Computing Systems (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种真实匿名的无证书多消息多接收者签密方法,用于解决现有无证书多消息多接收者签密方法实用性差的技术问题。技术方案是用户选择一个秘密值作为部分私钥,并用这个秘密值来计算部分公钥,然后将部分公钥和自己的身份信息发送给密钥生成中心KGC。密钥生成中心生成对应的部分私钥和对应的部分公钥验证参数,然后通过安全信道发送给用户。用户收到对应的部分私钥和对应的部分公钥之后,验证其合法性,若能通过验证,则继续计算出自己的公钥和私钥,并公开公钥,否则停止操作;签密过程中不仅不包含发送者和接收者的身份信息,而且对要发送的多个不同的消息进行整体加密,只有授权的接收者可以解密验证密文消息,实用性好,效率高。
Description
技术领域
本发明涉及一种无证书多消息多接收者签密方法,特别是涉及一种真实匿名的无证书多消息多接收者签密方法。
背景技术
文献“周彦伟,杨波,张文政.匿名的无证书多接收者签密机制.电子学报,2016,44(8):1784-1790.”中提出了一种匿名的无证书多消息多接收者签密方法。该方法存在以下缺点:该方法密文信息中不包括接收者的身份信息,但是攻击者可以通过密文参数和公开参数判断一个身份是否为合法的接收者的身份;将签密算法设计在椭圆曲线上,但是椭圆曲线的数乘运算比较多,导致加密过程中运算效率较低;未考虑发送者的匿名性;另外接收者只需解密自己的部分,若密文遭到破坏,可能导致部分接收者可以解密,部分不能解密。
发明内容
为了克服现有无证书多消息多接收者签密方法实用性差的不足,本发明提供一种真实匿名的无证书多消息多接收者签密方法。该方法的用户选择一个秘密值作为部分私钥,并用这个秘密值来计算部分公钥,然后用户将部分公钥和自己的身份信息发送给密钥生成中心KGC。密钥生成中心KGC根据收到的用户的身份信息和用户的部分公钥生成对应的部分私钥和对应的部分公钥验证参数,然后通过安全信道发送给用户。用户收到对应的部分私钥和对应的部分公钥之后,验证其合法性,若能通过验证,则继续计算出自己的公钥和私钥,并公开公钥,否则停止操作;签密过程中不仅不包含发送者和接收者的身份信息,而且对要发送的多个不同的消息进行整体加密,只有授权的接收者可以解密验证密文消息,实用性好且运算效率高。
本发明解决其技术问题所采用的技术方案是:一种真实匿名的无证书多消息多接收者签密方法,其特点是包括以下步骤:
(1)用户注册:
用户包括接收者和发送者,通过执行下列步骤获取自己的公钥和私钥。
(1a)用户随机选取一个整数严格保密并作为自己的秘密值x;
(1b)按照下式,用户计算验证份额D:
D=xP
其中,D表示用户的验证份额,x表示用户的秘密值,P表示密钥生成中心KGC选取的椭圆曲线E的一个生成元;
(1c)用户将自己的验证份额D和自己的身份信息ID发送给密钥生成中心KGC;
(1d)密钥生成中心KGC收到用户的验证份额D和身份信息ID后,随机选取一个整数r,按照下式计算用户的部分私钥验证参数W:
W=rP
其中,W表示用户的部分私钥验证参数,r表示密钥生成中心KGC随机选取的整数,P表示密钥生成中心KGC选取的椭圆曲线E的一个生成元;
(1e)按照下式,密钥生成中心KGC计算用户的公钥PK:
PK=D+H0(ID,D,W)W
其中,PK表示用户的公钥,D表示用户的验证份额,H0表示密钥生成中心KGC选取的密码单向哈希函数,ID表示用户的身份信息,W表示用户的部分私钥验证参数;
(1f)按照下式,密钥生成中心KGC计算用户的部分私钥y:
y=s+rH0(ID,D,W)
其中,y表示用户的部分私钥,s表示密钥生成中心KGC选取的密码***主密钥,r表示密钥生成中心KGC随机选取的整数,H0表示密钥生成中心KGC选取的密码单向哈希函数,ID表示用户的身份信息,D表示用户的验证份额,W表示用户的部分私钥验证参数;
(1g)密钥生成中心KGC将用户的部分私钥y和部分私钥验证参数W发送给用户;
(1h)按照下式,用户生成自己的私钥SK:
SK=(x,y)
其中,SK表示用户的私钥,x表示用户的秘密值,y表示用户的部分私钥;
(1i)用户判断收到的部分私钥y和部分私钥验证参数W是否满足如下等式,若是,则执行步骤(1j),否则,则执行步骤(1k):
yP=H0(ID,D,W)P+Ppub
其中,y表示用户的部分私钥,P表示密钥生成中心KGC选取的椭圆曲线E的一个生成元,H0表示密钥生成中心KGC选取的密码单向哈希函数,ID表示用户的身份信息,D表示用户的验证份额,W表示用户的部分私钥验证参数,Ppub表示密钥生成中心KGC生成的密码***公钥;
(1j)密钥生成中心KGC对外公布用户的公钥PK,用户秘密保存自己的私钥SK,之后退出用户注册过程;
(1k)用户向密钥生成中心KGC报错,并退出用户注册过程;
(2)发送者签密:
(2a)发送者S判断自己是否已经执行步骤(1)的用户注册过程,并获取自己的公钥PKS和私钥SKS,若是,则执行步骤(2b),否则,发送者S执行步骤(1)获取自己的公钥PKS和私钥SKS后,执行步骤(2b);
(2b)发送者S在已注册的用户中随机选取n个作为接收者R1,R2,…,Rn,其中,n表示大于0的整数;
(2c)发送者S随机选取整数t,按照下式,发送者S计算每一个接收者Ri的公钥隐藏信息Ki:
Ki=t(PKi+Ppub)
其中,Ki表示第i个接收者Ri的公钥隐藏信息,i=1,2,…,n,n表示发送者S在已注册的用户中随机选取的接收者的数目,t表示发送者随机选取的整数,PKi表示第i个接收者Ri的公钥,Ppub表示密钥生成中心KGC生成的密码***公钥;
(2d)按照下式,发送者S计算发送者的签密验证份额T:
T=tP
其中,T表示发送者的签密验证份额,t表示发送者随机选取的整数,P表示密钥生成中心KGC选取的椭圆曲线E的一个生成元;
(2e)按照下式,发送者S计算每一个接收者Ri的伪身份值αi:
αi=H1(IDi,Ki,T)
其中,αi表示第i个接收者Ri的伪身份值,i=1,2,…,n,n表示发送者S在已注册的用户中随机选取的接收者的数目,H1表示密钥生成中心KGC选取的密码单向哈希函数,IDi表示第i个接收者Ri的身份信息,Ki表示第i个接收者Ri的公钥隐藏信息,T表示发送者的签密验证份额;
(2f)发送者S随机选取整数θ作为伪密钥后,按照下式,发送者S构造接收者身份信息混合值f(u):
其中,f(u)表示接收者身份信息混合值,u表示自变量,∏表示连乘操作,n表示发送者S在已注册的用户中随机选取的接收者的数目,i表示计数游标,αi表示第i个接收者Ri的伪身份值,θ表示发送者S随机选取的伪密钥,mod表示求模操作,q表示密钥生成中心KGC选取的大素数,c0,c1,…,cn-1表示接收者身份信息混合值f(u)的系数;
(2g)按照下式,发送者S计算明文混合值M:
其中,M表示明文混合值,H2表示密钥生成中心KGC选取的密码单向哈希函数,αi表示第i个接收者Ri的伪身份值,i=1,2,…,n,n表示发送者S在已注册的用户中随机选取的接收者的数目,T表示发送者S的签密验证份额,||表示链接操作,H3表示密钥生成中心KGC选取的密码单向哈希函数,⊕表示逐位异或操作,mi表示要发送给第i个接收者Ri的明文,i=1,2,…,n;
(2h)按照下式,发送者S计算加密消息密文V:
其中,V表示加密消息密文,Ek表示密钥生成中心KGC选取的对称加密算法,H4表示密钥生成中心KGC选取的密码单向哈希函数,θ表示发送者S随机选取的伪密钥,M表示明文混合值;
(2i)按照下式,发送者S计算发送者的身份隐藏参数h:
h=H5(T,IDs,M)
其中,h表示发送者S的身份隐藏参数,H5表示密钥生成中心KGC选取的密码单向哈希函数,T表示发送者S的签密验证份额,IDs表示发送者S的身份信息,M表示明文混合值;
(2j)按照下式,发送者S计算发送者的身份验证参数k:
k=H6(c0,c1,…,cn-1,T,V)
其中,k表示发送者S的身份验证参数,H6表示密钥生成中心KGC选取的密码单向哈希函数,c0,c1,…,cn-1表示接收者身份信息混合值f(u)的系数,T表示发送者S的签密验证份额,V表示加密消息密文;
(2k)按照下式,发送者S计算发送者的伪私钥w:
其中,w表示发送者S的伪私钥,k表示发送者S的身份验证参数,t表示发送者S随机选取的整数,xS表示发送者S的秘密值,yS表示发送者的部分私钥,h表示发送者S的身份隐藏参数;
(2l)按照下式,发送者S计算发送者的公钥隐藏参数U:
U=w(PKS+Ppub+hP)+Ppub
其中,U表示发送者S的公钥隐藏参数,w表示发送者S的伪私钥,PKS表示发送者S的公钥,Ppub表示密钥生成中心KGC生成的***公钥,h表示发送者S的身份隐藏参数,P表示密钥生成中心KGC选取的椭圆曲线E的一个生成元;
(2m)按照下式,发送者S计算密文有效性参数Λ:
Λ=H7(M,θ,c0,c1,…,cn-1,V,T,U)
其中,Λ表示密文有效性参数,H7表示密钥生成中心KGC选取的密码单向哈希函数,M表示明文混合值,θ表示发送者S随机选取的伪密钥,c0,c1,…,cn-1表示接收者的身份信息混合值f(u)的系数,V表示加密消息密文,T表示发送者S的签密验证份额,U表示发送者S的公钥隐藏参数;
(2n)发送者S将接收者的身份信息混合值f(u)的系数c0,c1,…,cn-1、发送者的签密验证份额T、加密消息密文V、发送者的公钥隐藏参数U和密文有效性参数Λ构成签密密文C,并对签密密文C进行广播;
(3)接收者解签密:
每个接收者Ri通过以下步骤进行解签密,其中i=1,2,…,n:
(3a)接收者Ri计算发送者S的身份验证参数k:
k=H6(c0,c1,…,cn-1,T,V)
其中,k表示发送者S的身份验证参数,H6表示密钥生成中心KGC选取的密码单向哈希函数,c0,c1,…,cn-1表示接收者身份信息混合值f(u)的系数,T表示发送者S的签密验证份额,V表示加密消息密文;
(3b)接收者Ri验证下式是否相等,如果相等则执行(3c),否则退出解签密过程:
U=kT+Ppub
其中,U表示发送者S的公钥隐藏参数,k表示发送者S的身份验证参数,T表示发送者S的签密验证份额,Ppub表示密钥生成中心KGC生成的密码***公钥;
(3c)按照下式,接收者Ri计算公钥隐藏信息Ki:
Ki=(xi+yi)T
其中,Ki表示第i个接收者Ri的公钥隐藏信息,xi表示第i个接收者Ri的秘密值,yi表示第i个接收者Ri的部分私钥,T表示发送者S的签密验证份额;
(3d)按照下式,接收者Ri计算伪身份值αi:
αi=H1(IDi,Ki,T)
其中,αi表示第i个接收者Ri的伪身份值,H1表示密钥生成中心KGC选取的密码单向哈希函数,IDi表示第i个接收者Ri的身份信息,Ki表示第i个接收者Ri的公钥隐藏信息,T表示发送者S的签密验证份额;
(3e)按照下式,接收者Ri计算发送者S随机选取的伪密钥θ:
θ=f(αi)
其中,θ表示发送者S随机选取的伪密钥,f(u)表示接收者的身份信息混合值,u表示自变量,αi表示第i个接收者Ri的伪身份值;
(3f)按照下式,接收者Ri计算明文混合值M:
其中,M表示明文混合值,Dk表示密钥生成中心KGC选取的对称解密算法,H4表示密钥生成中心KGC选取的密码单向哈希函数,θ表示发送者S随机选取的伪密钥,V表示加密消息密文;
(3g)按照下式,接收者Ri计算权限参数Λ′:
Λ′=H7(M,θ,c0,c1,…,cn-1,V,T,U)
其中,Λ′表示权限参数,H7表示密钥生成中心KGC选取的密码单向哈希函数,M表示明文混合值,θ表示发送者S随机选取的伪密钥,c0,c1,…,cn-1表示接收者身份信息混合值f(u)的系数,V表示加密消息密文,T表示发送者S的签密验证份额,U表示发送者S的公钥隐藏参数;
(3h)接收者判断权限参数Λ′与密文有效性参数Λ是否相等;若是,则执行步骤(3i),否则,解密失败,退出解签密过程;
(3i)接收者计算H2(αi,T)和H3(αi),根据H2(αi,T)找出明文混合值M中对应的H2(αi,T)||H3(αi)⊕mi,计算mi=(H2(αi)⊕mi)⊕H3(αi),并退出接收者解签密过程;
其中,H2表示密钥生成中心KGC选取的密码单向哈希函数,αi表示第i个接收者Ri的伪身份值,T表示发送者S的签密验证份额,H3表示密钥生成中心KGC选取的密码单向哈希函数,M表示明文混合值,||表示链接操作,⊕表示逐位异或操作,mi表示要发送给第i个接收者的明文。
本发明的有益效果是:该方法的用户选择一个秘密值作为部分私钥,并用这个秘密值来计算部分公钥,然后用户将部分公钥和自己的身份信息发送给密钥生成中心KGC。密钥生成中心KGC根据收到的用户的身份信息和用户的部分公钥生成对应的部分私钥和对应的部分公钥验证参数,然后通过安全信道发送给用户。用户收到对应的部分私钥和对应的部分公钥之后,验证其合法性,若能通过验证,则继续计算出自己的公钥和私钥,并公开公钥,否则停止操作;签密过程中不仅不包含发送者和接收者的身份信息,而且对要发送的多个不同的消息进行整体加密,只有授权的接收者可以解密验证密文消息,实用性好且运算效率高。
下面结合具体实施方式对本发明作详细说明。
具体实施方式
名词解释:
KGC:密钥生成中心,为可信第三方,负责产生发送者和接收者的公私钥;
λ:密钥生成中心KGC选取的安全参数;
q:密钥生成中心KGC选取的大素数;
Gq:密钥生成中心KGC选取的一个有限域;
E:密钥生成中心KGC在有限域GFq上选取的一条椭圆曲线;
P:密钥生成中心KGC选取的椭圆曲线E的一个生成元;
s:密钥生成中心KGC选取的密码***主密钥;
Ppub:密钥生成中心KGC生成的密码***公钥;
∈:限定域符号,例如A∈B,就是A属于B;
Hj:密钥生成中心KGC选取的密码单向哈希函数,其中j=0,1,2,3,4,5,6,7;
A→B:定义域A到值域B的映射;
{0,1}*:任意长的“0”或“1”构成的串;
×:笛卡尔乘积;
Zq *:基于大素数q构成的非零乘法群;
k:对称密钥;
Ek:密钥生成中心KGC选取的对称加密算法;
Dk:密钥生成中心KGC选取的对称解密算法;
params:密码***参数;
x:用户的秘密值;
D:用户的验证份额;
ID:用户的身份信息;
r:密钥生成中心KGC随机选取的整数;
W:用户的部分私钥验证参数;
PK:用户的公钥;
y:用户的部分私钥;
SK:用户的私钥;
S:发送者;
xS:发送者S的秘密值;
DS:发送者S的验证份额;
IDS:发送者的身份信息;
rs:密钥生成中心KGC为发送者S随机选取的整数;
WS:发送者的部分私钥验证参数;
PKS:发送者S的公钥;
yS:发送者S的部分私钥;
SKS:发送者S的私钥;
n:发送者S在已注册的用户中随机选取的接收者的数目;
Ri:第i个接收者,i=1,2,…,n;
xi:第i个接收者Ri的秘密值,i=1,2,…,n;
Di:第i个接收者Ri的验证份额,i=1,2,…,n;
IDi:第i个接收者Ri的身份信息,i=1,2,…,n;
ri:密钥生成中心KGC为接收者Ri随机选取的整数,i=1,2,…,n;
Wi:第i个接收者Ri的部分私钥验证参数,i=1,2,…,n;
PKi:第i个接收者Ri的公钥,i=1,2,…,n;
yi:第i个接收者Ri的部分私钥,i=1,2,…,n;
SKi:第i个接收者Ri的私钥,i=1,2,…,n;
t:发送者S随机选取的整数;
T:发送者S的签密验证份额;
Ki:第i个接收者Ri的公钥隐藏信息,i=1,2,…,n;
αi:第i个接收者Ri的伪身份值,i=1,2,…,n;
f(u):接收者身份信息混合值,其中u表示自变量;
∏:连乘操作;
θ:发送者S随机选取的伪密钥;
mod:求模操作;
c0,c1,…,cn-1:接收者身份信息混合值f(u)的系数;
M:明文混合值;
⊕:逐位异或操作;
||:链接操作
mi:要发送给第i个接收者Ri的明文;
V:加密消息密文;
h:发送者S的身份隐藏参数;
k:发送者S的身份验证参数;
w:发送者S的伪私钥;
U:发送者S的公钥隐藏参数;
Λ:密文有效性参数;
C:签密密文;
Λ′:权限参数。
本发明真实匿名的无证书多消息多接收者签密方法具体步骤如下:
(1)用户注册:
用户注册步骤中的用户包括接收者和发送者,均需通过执行下列步骤获取自己的公钥和私钥。
(1a)用户随机选取一个整数严格保密并作为自己的秘密值x;
(1b)按照下式,用户计算验证份额D:
D=xP
其中,D表示用户的验证份额,x表示用户的秘密值,P表示密钥生成中心KGC选取的椭圆曲线E的一个生成元;
(1c)用户将自己的验证份额D和自己的身份信息ID发送给密钥生成中心KGC;
(1d)密钥生成中心KGC收到用户的验证份额D和身份信息ID后,随机选取一个整数r,按照下式计算用户的部分私钥验证参数W:
W=rP
其中,W表示用户的部分私钥验证参数,r表示密钥生成中心KGC随机选取的整数,P表示密钥生成中心KGC选取的椭圆曲线E的一个生成元;
(1e)按照下式,密钥生成中心KGC计算用户的公钥PK:
PK=D+H0(ID,D,W)W
其中,PK表示用户的公钥,D表示用户的验证份额,H0表示密钥生成中心KGC选取的密码单向哈希函数,ID表示用户的身份信息,W表示用户的部分私钥验证参数;
(1f)按照下式,密钥生成中心KGC计算用户的部分私钥y:
y=s+rH0(ID,D,W)
其中,y表示用户的部分私钥,s表示密钥生成中心KGC选取的密码***主密钥,r表示密钥生成中心KGC随机选取的整数,H0表示密钥生成中心KGC选取的密码单向哈希函数,ID表示用户的身份信息,D表示用户的验证份额,W表示用户的部分私钥验证参数;
(1g)密钥生成中心KGC将用户的部分私钥y和部分私钥验证参数W发送给用户;
(1h)按照下式,用户生成自己的私钥SK:
SK=(x,y)
其中,SK表示用户的私钥,x表示用户的秘密值,y表示用户的部分私钥;
(1i)用户判断收到的部分私钥y和部分私钥验证参数W是否满足如下等式,若是,则执行步骤(1j),否则,则执行步骤(1k):
yP=H0(ID,D,W)P+Ppub
其中,y表示用户的部分私钥,P表示密钥生成中心KGC选取的椭圆曲线E的一个生成元,H0表示密钥生成中心KGC选取的密码单向哈希函数,ID表示用户的身份信息,D表示用户的验证份额,W表示用户的部分私钥验证参数,Ppub表示密钥生成中心KGC生成的密码***公钥;
(1j)密钥生成中心KGC对外公布用户的公钥PK,用户秘密保存自己的私钥SK,之后退出用户注册过程;
(1k)用户向密钥生成中心KGC报错,并退出用户注册过程;
(2)发送者签密:
(2a)发送者S判断自己是否已经执行步骤(1)的用户注册过程,并获取自己的公钥PKS和私钥SKS,若是,则执行步骤(2b),否则,发送者S执行步骤(1)获取自己的公钥PKS和私钥SKS后,执行步骤(2b);
(2b)发送者S在已注册的用户中随机选取n个作为接收者R1,R2,…,Rn,其中,n表示大于0的整数;
(2c)发送者S随机选取整数t,按照下式,发送者S计算每一个接收者Ri的公钥隐藏信息Ki:
Ki=t(PKi+Ppub)
其中,Ki表示第i个接收者Ri的公钥隐藏信息,i=1,2,…,n,n表示发送者S在已注册的用户中随机选取的接收者的数目,t表示发送者随机选取的整数,PKi表示第i个接收者Ri的公钥,Ppub表示密钥生成中心KGC生成的密码***公钥;
(2d)按照下式,发送者S计算发送者的签密验证份额T:
T=tP
其中,T表示发送者的签密验证份额,t表示发送者随机选取的整数,P表示密钥生成中心KGC选取的椭圆曲线E的一个生成元;
(2e)按照下式,发送者S计算每一个接收者Ri的伪身份值αi:
αi=H1(IDi,Ki,T)
其中,αi表示第i个接收者Ri的伪身份值,i=1,2,…,n,n表示发送者S在已注册的用户中随机选取的接收者的数目,H1表示密钥生成中心KGC选取的密码单向哈希函数,IDi表示第i个接收者Ri的身份信息,Ki表示第i个接收者Ri的公钥隐藏信息,T表示发送者的签密验证份额;
(2f)发送者S随机选取整数θ作为伪密钥后,按照下式,发送者S构造接收者身份信息混合值f(u):
其中,f(u)表示接收者身份信息混合值,u表示自变量,∏表示连乘操作,n表示发送者S在已注册的用户中随机选取的接收者的数目,i表示计数游标,αi表示第i个接收者Ri的伪身份值,θ表示发送者S随机选取的伪密钥,mod表示求模操作,q表示密钥生成中心KGC选取的大素数,c0,c1,…,cn-1表示接收者身份信息混合值f(u)的系数;
(2g)按照下式,发送者S计算明文混合值M:
M=(H2(α1,T)||H3(α1)⊕m1,...,H2(αi,T)||H3(αi)⊕mi,...,H2(αn,T)||H3(αn)⊕mn)
其中,M表示明文混合值,H2表示密钥生成中心KGC选取的密码单向哈希函数,αi表示第i个接收者Ri的伪身份值,i=1,2,…,n,n表示发送者S在已注册的用户中随机选取的接收者的数目,T表示发送者S的签密验证份额,||表示链接操作,H3表示密钥生成中心KGC选取的密码单向哈希函数,⊕表示逐位异或操作,mi表示要发送给第i个接收者Ri的明文,i=1,2,…,n;
(2h)按照下式,发送者S计算加密消息密文V:
其中,V表示加密消息密文,Ek表示密钥生成中心KGC选取的对称加密算法,H4表示密钥生成中心KGC选取的密码单向哈希函数,θ表示发送者S随机选取的伪密钥,M表示明文混合值;
(2i)按照下式,发送者S计算发送者的身份隐藏参数h:
h=H5(T,IDs,M)
其中,h表示发送者S的身份隐藏参数,H5表示密钥生成中心KGC选取的密码单向哈希函数,T表示发送者S的签密验证份额,IDs表示发送者S的身份信息,M表示明文混合值;
(2j)按照下式,发送者S计算发送者的身份验证参数k:
k=H6(c0,c1,…,cn-1,T,V)
其中,k表示发送者S的身份验证参数,H6表示密钥生成中心KGC选取的密码单向哈希函数,c0,c1,…,cn-1表示接收者身份信息混合值f(u)的系数,T表示发送者S的签密验证份额,V表示加密消息密文;
(2k)按照下式,发送者S计算发送者的伪私钥w:
其中,w表示发送者S的伪私钥,k表示发送者S的身份验证参数,t表示发送者S随机选取的整数,xS表示发送者S的秘密值,yS表示发送者的部分私钥,h表示发送者S的身份隐藏参数;
(2l)按照下式,发送者S计算发送者的公钥隐藏参数U:
U=w(PKS+Ppub+hP)+Ppub
其中,U表示发送者S的公钥隐藏参数,w表示发送者S的伪私钥,PKS表示发送者S的公钥,Ppub表示密钥生成中心KGC生成的***公钥,h表示发送者S的身份隐藏参数,P表示密钥生成中心KGC选取的椭圆曲线E的一个生成元;
(2m)按照下式,发送者S计算密文有效性参数Λ:
Λ=H7(M,θ,c0,c1,…,cn-1,V,T,U)
其中,Λ表示密文有效性参数,H7表示密钥生成中心KGC选取的密码单向哈希函数,M表示明文混合值,θ表示发送者S随机选取的伪密钥,c0,c1,…,cn-1表示接收者的身份信息混合值f(u)的系数,V表示加密消息密文,T表示发送者S的签密验证份额,U表示发送者S的公钥隐藏参数;
(2n)发送者S将接收者的身份信息混合值f(u)的系数c0,c1,…,cn-1、发送者的签密验证份额T、加密消息密文V、发送者的公钥隐藏参数U和密文有效性参数Λ构成签密密文C,并对签密密文C进行广播;
(3)接收者解签密:
每个接收者Ri通过以下步骤进行解签密,其中i=1,2,…,n:
(3a)接收者Ri计算发送者S的身份验证参数k:
k=H6(c0,c1,…,cn-1,T,V)
其中,k表示发送者S的身份验证参数,H6表示密钥生成中心KGC选取的密码单向哈希函数,c0,c1,…,cn-1表示接收者身份信息混合值f(u)的系数,T表示发送者S的签密验证份额,V表示加密消息密文;
(3b)接收者Ri验证下式是否相等,如果相等则执行(3c),否则退出解签密过程:
U=kT+Ppub
其中,U表示发送者S的公钥隐藏参数,k表示发送者S的身份验证参数,T表示发送者S的签密验证份额,Ppub表示密钥生成中心KGC生成的密码***公钥;
(3c)按照下式,接收者Ri计算公钥隐藏信息Ki:
Ki=(xi+yi)T
其中,Ki表示第i个接收者Ri的公钥隐藏信息,xi表示第i个接收者Ri的秘密值,yi表示第i个接收者Ri的部分私钥,T表示发送者S的签密验证份额;
(3d)按照下式,接收者Ri计算伪身份值αi:
αi=H1(IDi,Ki,T)
其中,αi表示第i个接收者Ri的伪身份值,H1表示密钥生成中心KGC选取的密码单向哈希函数,IDi表示第i个接收者Ri的身份信息,Ki表示第i个接收者Ri的公钥隐藏信息,T表示发送者S的签密验证份额;
(3e)按照下式,接收者Ri计算发送者S随机选取的伪密钥θ:
θ=f(αi)
其中,θ表示发送者S随机选取的伪密钥,f(u)表示接收者的身份信息混合值,u表示自变量,αi表示第i个接收者Ri的伪身份值;
(3f)按照下式,接收者Ri计算明文混合值M:
M=DH4(θ)(V)
其中,M表示明文混合值,Dk表示密钥生成中心KGC选取的对称解密算法,H4表示密钥生成中心KGC选取的密码单向哈希函数,θ表示发送者S随机选取的伪密钥,V表示加密消息密文;
(3g)按照下式,接收者Ri计算权限参数Λ′:
Λ′=H7(M,θ,c0,c1,…,cn-1,V,T,U)
其中,Λ′表示权限参数,H7表示密钥生成中心KGC选取的密码单向哈希函数,M表示明文混合值,θ表示发送者S随机选取的伪密钥,c0,c1,…,cn-1表示接收者身份信息混合值f(u)的系数,V表示加密消息密文,T表示发送者S的签密验证份额,U表示发送者S的公钥隐藏参数;
(3h)接收者判断权限参数Λ′与密文有效性参数Λ是否相等;若是,则执行步骤(3i),否则,解密失败,退出解签密过程;
(3i)接收者计算H2(αi,T)和H3(αi),根据H2(αi,T)找出明文混合值M中对应的H2(αi,T)||H3(αi)⊕mi,计算mi=(H2(αi)⊕mi)⊕H3(αi),并退出接收者解签密过程;
其中,H2表示密钥生成中心KGC选取的密码单向哈希函数,αi表示第i个接收者Ri的伪身份值,T表示发送者S的签密验证份额,H3表示密钥生成中心KGC选取的密码单向哈希函数,M表示明文混合值,||表示链接操作,⊕表示逐位异或操作,mi表示要发送给第i个接收者的明文。
应用实施例。
步骤1,密钥生成中心KGC生成***参数。
密钥生成中心KGC根据***安全参数λ选取大素数q,选取一个有限域Gq,并选取一条在有限域Gq上的安全椭圆曲线E,P为密钥生成中心KGC选取的椭圆曲线E的一个生成元;随机选密码***主密钥s∈Zq *并秘密保存,其中,∈表示限定域符号,Zq *表示基于大素数q构成的非零乘法群;构造8个密码单向哈希函数,分别记为:
H0:{0,1}*×Gq×Gq→Zq *;H1:{0,1}*×Gq×Gq→Zq *;H2:Gq×Zq *→{0,1}*;
H3:Zq *→{0,1}*;H4:Zq *→{0,1}*;
H5:Gq×{0,1}*×{0,1}*→Zq *;H6:Zq *×Zq *×…×Zq *×Gq×Gq→Zq *;
H7:{0,1}*×Zq *×Zq *×…×Zq *×{0,1}*×Zq *×Gq×Gq→Zq *;
其中,H0,H1,H2,H3,H4,H5,H6,H7表示密钥生成中心KGC构造的8个密码单向哈希函数,A→B表示定义域A到值域B的映射,{0,1}*表示任意长的“0”或“1”构成的串,Gq表示密钥生成中心KGC选取的一个有限域,×表示笛卡尔乘积,Zq *表示基于大素数q构成的非零乘法群;
密钥生成中心KGC从现有的对称加密算法中任意选取一种对称加密算法Ek(如AES),并选取与该对称加密算法对应的对称解密算法Dk;
密钥生成中心KGC构造并公开密码***参数,密码***参数的构造方法为:params=<Gq,E,P,Ppub,H0,H1,H2,H3,H4,H5,H6,H7,Ek,Dk>;同时密钥生成中心KGC秘密保存密码***主密钥s。
步骤2,发送者注册。
第一步,发送者S随机选取一个整数严格保密并作为自己的秘密值xS∈Zq *,发送者S计算自己的验证份额DS为:DS=xSP,其中,xS表示发送者S的秘密值,∈表示限定域符号,Zq *表示基于大素数q构成的非零乘法群,P表示密钥生成中心KGC选取的椭圆曲线E的一个生成元。
第二步,发送者S将自己的验证份额DS和身份信息IDS发送给密钥生成中心KGC。密钥生成中心KGC接收发送者S的验证份额Vs和身份信息IDS后,随机选取整数rS,按照下式计算发送者的部分私钥验证参数WS:
WS=rSP
其中,WS表示发送者S的部分私钥验证参数,rS表示密钥生成中心KGC随机选取的整数,P表示密钥生成中心KGC选取的椭圆曲线E的一个生成元;
按照下式,密钥生成中心KGC计算发送者的公钥PKS:
PKS=DS+H0(IDS,DS,WS)WS
其中,PKS表示发送者S的公钥,DS表示发送者S的验证份额,H0表示密钥生成中心KGC选取的密码单向哈希函数,IDS表示发送者S的身份信息,WS表示发送者S的部分私钥验证参数;
按照下式,密钥生成中心KGC计算发送者的部分私钥yS:
yS=s+rSH0(IDS,DS,WS)
其中,yS表示发送者的部分私钥,s表示密钥生成中心KGC选取的密码***主密钥,rS表示密钥生成中心KGC随机选取的整数,H0表示密钥生成中心KGC选取的密码单向哈希函数,IDS表示发送者的身份信息,DS表示发送者的验证份额,WS表示发送者的部分私钥验证参数;
密钥生成中心KGC将发送者S的部分私钥验证参数WS和发送者S的部分私钥yS发送给发送者S。
发送者S接收自己的部分私钥验证参数WS和部分私钥yS后,按照下式,生成自己的私钥SKS:
SKS=(xS,yS)
其中,SKS表示发送者的私钥,xS表示发送者S的秘密值,yS表示发送者S的部分私钥;
发送者S判断自己的部分私钥yS是否满足验证条件,若是,则通知密钥生成中心KGC执行本步骤的第三步,否则,向密钥生成中心KGC报错,并退出发送者注册过程。
发送者S的部分私钥yS的验证条件是指判断如下等式是否成立,若等式成立,则表示满足部分私钥yS的验证条件,若等式不成立,则表示不满足部分私钥yS的验证条件:
ySP=H0(IDS,DS,WS)P+Ppub
其中,yS表示发送者S的部分私钥,P表示密钥生成中心KGC选取的椭圆曲线E的一个生成元,H0表示密钥生成中心KGC选取的密码单向哈希函数,IDS表示发送者S的身份信息,DS表示发送者S的验证份额,WS表示发送者S的部分公钥验证参数,Ppub表示密钥生成中心KGC生成的密码***公钥;。
第三步,密钥生成中心KGC对外公布发送者S的公钥PKS,发送者S秘密保存自己的私钥SKS,并退出发送者注册过程。
步骤3,接收者注册。
第一步,接收者Ri随机选取xi∈Zq *作为自己的秘密值,按照下式计算自己的验证份额Di:
Di=xiP
其中,xi表示接收者Ri的私钥,∈表示限定域符号,Zq *表示基于大素数q构成的非零乘法群,P表示密钥生成中心KGC选取的椭圆曲线E的一个生成元;
第二步,接收者Ri将自己的验证份额Di和身份信息IDi发送给密钥生成中心KGC。密钥生成中心KGC接收到接收者Ri的验证份额Di和身份信息IDi后,随机选取整数ri,按照下式计算接收者Ri的部分私钥验证参数Wi:
Wi=riP
其中,Wi表示接收者的部分私钥验证参数,ri表示密钥生成中心KGC随机选取的整数,P表示密钥生成中心KGC选取的椭圆曲线E的一个生成元;
按照下式,密钥生成中心KGC计算接收者Ri的公钥PKi:
PKi=Di+H0(IDi,Di,Wi)Wi
其中,PKi表示发送者的公钥,Di表示接收者的验证份额,H0表示密码单向哈希函数,IDi表示接收者Ri的身份信息,Wi表示接收者的部分私钥验证参数;
按照下式,密钥生成中心KGC计算接收者Ri的部分私钥yi:
yi=s+riH0(IDi,Di,Wi)
其中,yi表示接收者Ri的部分私钥,s表示密钥生成中心KGC选取的密码***主密钥,ri表示密钥生成中心KGC随机选取的整数,H0表示密钥生成中心KGC选取的密码单向哈希函数,IDi表示接收者Ri的身份信息,Di表示接收者Ri的验证份额,Wi表示接收者Ri的部分私钥验证参数;
密钥生成中心KGC将接收者Ri的部分私钥验证参数Wi、接收者Ri的部分私钥yi发送给接收者Ri。
接收者S接收自己的部分私钥验证参数Wi和部分私钥yi后,按照下式,生成自己的私钥SKi:
SKi=(xi,yi)
其中,SKi表示接收者的私钥,xi表示第i个接收者Ri的秘密值,yi表示接收者Ri的部分私钥;
接收者Ri判断自己的部分私钥ys是否满足验证条件,若是,则通知密钥生成中心KGC执行本步骤的第三步,否则,向密钥生成中心KGC报错,并退出接收者注册过程。
接收者Ri的部分私钥yi的验证条件是指判断如下等式是否成立,若等式成立,则表示满足部分私钥yi的验证条件,若等式不成立,则表示不满足部分私钥yi的验证条件:
ySP=H0(IDS,DS,WS)P+Ppub
其中,yi表示接收者Ri的部分私钥,P表示密钥生成中心KGC选取的椭圆曲线E的一个生成元,H0表示密钥生成中心KGC选取的密码单向哈希函数,IDi表示接收者Ri的身份信息,Di表示接收者Ri的验证份额,Wi表示接收者Ri的部分公钥验证参数,Ppub表示密钥生成中心KGC生成的密码***公钥;
第三步,密钥生成中心KGC对外公布接收者Ri的公钥PKi,接收者Ri秘密保存自己的私钥SKi,并退出接收者注册过程。
步骤4,发送者签密。
发送者S执行步骤2进行注册并获取自己的公钥PKS和私钥SKS之后,在步骤3已注册的用户中,随机选取n个接收者R1,R2,…,Rn,并计算每一个接收者Ri的公钥隐藏信息Ki=t(PKi+Ppub)、发送者的签密验证份额T=tP和每一个接收者的伪身份值αi=H1(IDi,Ki,T),其中,Ki表示第i个接收者Ri的公钥隐藏信息,i=1,2,…,n,n表示发送者S在已注册的用户中随机选取的接收者的数目,t表示发送者随机选取的整数,PKi表示第i个接收者Ri的公钥,Ppub表示密钥生成中心KGC生成的密码***公钥,P表示密钥生成中心KGC选取的椭圆曲线E的一个生成元,IDi表示第i个接收者Ri的身份信息。
发送者S随机选取θ∈Zq *作为伪密钥,构造接收者身份信息混合值:其中,∈表示限定域符号,q表示密钥生成中心KGC选取的大素数,Zq *表示基于大素数q构成的非零乘法群,f(u)表示接收者身份信息混合值,u表示自变量,∏表示连乘操作,n表示发送者S在已注册的用户中随机选取的接收者的数目,i表示计数游标,αi表示第i个接收者Ri的伪身份值,θ表示发送者S随机选取的伪密钥,mod表示求模操作,c0,c1,…,cn-1表示接收者身份信息混合值f(u)的系数;
发送者S计算明文混合值M=(H2(α1,T)||H3(α1)⊕m1,...,H2(αi,T)||H3(αi)⊕mi,...,H2(αn,T)||H3(αn)⊕mn),其中,H2表示密钥生成中心KGC选取的密码单向哈希函数,αi表示第i个接收者Ri的伪身份值,i=1,2,…,n,n表示发送者S在已注册的用户中随机选取的接收者的数目,T表示发送者的签密验证份额,||表示链接操作,H3表示密钥生成中心KGC选取的密码单向哈希函数,⊕表示逐位异或操作,mi表示要发送给第i个接收者的明文;
发送者S计算加密消息密文其中,Ek表示密钥生成中心KGC选取的对称加密算法,H4表示密钥生成中心KGC选取的密码单向哈希函数,θ表示发送者S随机选取的伪密钥,M表示明文混合值;
发送者S计算发送者的身份隐藏参数h=H5(T,IDs,M),其中,H5表示密钥生成中心KGC选取的密码单向哈希函数,T表示发送者的签密验证份额,IDs表示发送者的身份信息,M表示明文混合值;
发送者S计算发送者的身份验证参数k=H6(c0,c1,…,cn-1,T,V),其中,H6表示密钥生成中心KGC选取的密码单向哈希函数,c0,c1,…,cn-1表示接收者身份信息混合值f(u)的系数,T表示发送者的签密验证份额,V表示加密消息密文;
发送者S计算发送者的伪私钥其中,k表示发送者S的身份验证参数,t表示发送者S随机选取的整数,xS表示发送者S的秘密值,yS表示发送者S的部分私钥,h表示发送者S的身份隐藏参数;
发送者S计算发送者的公钥隐藏参数U=w(PKS+Ppub+hP)+Ppub,其中,w表示发送者S的伪私钥,PKS表示发送者S的公钥,Ppub表示密钥生成中心KGC生成的密码***公钥,h表示发送者S的身份隐藏参数,P表示密钥生成中心KGC选取的椭圆曲线E的一个生成元;
发送者S计算密文有效性参数Λ=H7(M,θ,c0,c1,…,cn-1,V,T,U),其中,H7表示密钥生成中心KGC选取的密码单向哈希函数,M表示明文混合值,θ表示发送者S随机选取的伪密钥,c0,c1,…,cn-1表示接收者身份信息混合值f(u)的系数,V表示加密消息密文,T表示发送者S的签密验证份额,U表示发送者S的公钥隐藏参数;
发送者S将接收者身份信息混合值f(u)的系数c0,c1,…,cn-1、发送者的签密验证份额T,加密消息密文V、发送者的公钥隐藏参数U和密文有效性参数Λ构成签密密文C=<c0,c1,…,cn-1,T,V,U,Λ>,并对签密密文C进行广播。
步骤5,接收者解签密。
接收者Ri执行步骤3进行注册并获取自己的公钥PKi和私钥SKi后,按照下式,接收者Ri验证下式是否相等,如果相等则执行(2d),否则退出解签密过程:
U=kT+Ppub
其中,U表示发送者S的公钥隐藏参数,k表示发送者S的身份验证参数,T表示发送者S的签密验证份额,Ppub表示密钥生成中心KGC生成的密码***公钥;
按照下式,接收者Ri计算公钥隐藏信息Ki:
Ki=(xi+yi)T
其中,Ki表示表示第i个接收者Ri的公钥隐藏信息,i=1,2,…,n,n表示发送者S在已注册的用户中随机选取的接收者的数目,xi表示第i个接收者Ri的秘密值,yi表示第i个接收者Ri的部分私钥,T表示发送者S的签密验证份额;
按照下式,接收者Ri计算伪身份值αi:
αi=H1(IDi,Ki,T)
其中,αi表示第i个接收者Ri的伪身份值,i=1,2,…,n,n表示发送者S在已注册的用户中随机选取的接收者的数目,H1表示密钥生成中心KGC选取的密码单向哈希函数,IDi表示第i个接收者Ri的身份信息,Ki表示第i个接收者Ri的公钥隐藏信息,T表示发送者S的签密验证份额;
按照下式,接收者Ri计算发送者S随机选取的伪密钥θ:
θ=f(αi)
其中,θ表示发送者S随机选取的伪密钥,f(u)表示接收者身份信息混合值,u表示自变量,αi表示第i个接收者Ri的伪身份值;
按照下式,接收者Ri计算明文混合值M:
M=DH4(θ)(V)
其中,M表示明文混合值,Dk表示对称解密算法,H4表示密钥生成中心KGC选取的密码单向哈希函数,θ表示发送者S随机选取的伪密钥,V表示加密消息密文;
按照下式,接收者Ri计算权限参数Λ′:
Λ′=H7(M,θ,c0,c1,…,cn-1,V,T,U)
其中,Λ′表示权限参数,H7表示密钥生成中心KGC选取的密码单向哈希函数,M表示明文混合值,θ表示发送者S随机选取的伪密钥,c0,c1,…,cn-1表示接收者身份信息混合值f(u)的系数,V表示加密消息密文,T表示发送者的签密验证份额,U表示发送者S的公钥隐藏参数;
接收者判断权限参数Λ′与密文有效性参数Λ是否相等;若是,则继续往下执行,否则,解密失败,退出解签密过程;
接收者计算H2(αi,T)和H3(αi),根据H2(αi,T)找出明文混合值M中对应的H2(αi,T)||H3(αi)⊕mi,计算mi=(H2(α3)⊕mi)⊕H3(αi),接收者Ri接受明文消息mi,并退出接收者解密过程;
其中,H2表示密钥生成中心KGC选取的密码单向哈希函数,αi表示第i个接收者Ri的伪身份值,n表示发送者S在已注册的用户中随机选取的接收者的数目,i=1,2,…,n,T表示发送者的签密验证份额,H3表示密钥生成中心KGC选取的密码单向哈希函数,M表示明文混合值,||表示链接操作,⊕表示逐位异或操作,mi表示要发送给第i个接收者的明文。
Claims (1)
1.一种真实匿名的无证书多消息多接收者签密方法,其特征在于包括以下步骤:
(1)用户注册:
用户包括接收者和发送者,通过执行下列步骤获取自己的公钥和私钥;
(1a)用户随机选取一个整数严格保密并作为自己的秘密值x;
(1b)按照下式,用户计算验证份额D:
D=xP
其中,D表示用户的验证份额,x表示用户的秘密值,P表示密钥生成中心KGC选取的椭圆曲线E的一个生成元;
(1c)用户将自己的验证份额D和自己的身份信息ID发送给密钥生成中心KGC;
(1d)密钥生成中心KGC收到用户的验证份额D和身份信息ID后,随机选取一个整数r,按照下式计算用户的部分私钥验证参数W:
W=rP
其中,W表示用户的部分私钥验证参数,r表示密钥生成中心KGC随机选取的整数,P表示密钥生成中心KGC选取的椭圆曲线E的一个生成元;
(1e)按照下式,密钥生成中心KGC计算用户的公钥PK:
PK=D+H0(ID,D,W)W
其中,PK表示用户的公钥,D表示用户的验证份额,H0表示密钥生成中心KGC选取的密码单向哈希函数,ID表示用户的身份信息,W表示用户的部分私钥验证参数;
(1f)按照下式,密钥生成中心KGC计算用户的部分私钥y:
y=s+rH0(ID,D,W)
其中,y表示用户的部分私钥,s表示密钥生成中心KGC选取的密码***主密钥,r表示密钥生成中心KGC随机选取的整数,H0表示密钥生成中心KGC选取的密码单向哈希函数,ID表示用户的身份信息,D表示用户的验证份额,W表示用户的部分私钥验证参数;
(1g)密钥生成中心KGC将用户的部分私钥y和部分私钥验证参数W发送给用户;
(1h)按照下式,用户生成自己的私钥SK:
SK=(x,y)
其中,SK表示用户的私钥,x表示用户的秘密值,y表示用户的部分私钥;
(1i)用户判断收到的部分私钥y和部分私钥验证参数W是否满足如下等式,若是,则执行步骤(1j),否则,则执行步骤(1k):
yP=H0(ID,D,W)P+Ppub
其中,y表示用户的部分私钥,P表示密钥生成中心KGC选取的椭圆曲线E的一个生成元,H0表示密钥生成中心KGC选取的密码单向哈希函数,ID表示用户的身份信息,D表示用户的验证份额,W表示用户的部分私钥验证参数,Ppub表示密钥生成中心KGC生成的密码***公钥;
(1j)密钥生成中心KGC对外公布用户的公钥PK,用户秘密保存自己的私钥SK,之后退出用户注册过程;
(1k)用户向密钥生成中心KGC报错,并退出用户注册过程;
(2)发送者签密:
(2a)发送者S判断自己是否已经执行步骤(1)的用户注册过程,并获取自己的公钥PKS和私钥SKS,若是,则执行步骤(2b),否则,发送者S执行步骤(1)获取自己的公钥PKS和私钥SKS后,执行步骤(2b);
(2b)发送者S在已注册的用户中随机选取n个作为接收者R1,R2,…,Rn,其中,n表示大于0的整数;
(2c)发送者S随机选取整数t,按照下式,发送者S计算每一个接收者Ri的公钥隐藏信息Ki:
Ki=t(PKi+Ppub)
其中,Ki表示第i个接收者Ri的公钥隐藏信息,i=1,2,…,n,n表示发送者S在已注册的用户中随机选取的接收者的数目,t表示发送者随机选取的整数,PKi表示第i个接收者Ri的公钥,Ppub表示密钥生成中心KGC生成的密码***公钥;
(2d)按照下式,发送者S计算发送者的签密验证份额T:
T=tP
其中,T表示发送者的签密验证份额,t表示发送者随机选取的整数,P表示密钥生成中心KGC选取的椭圆曲线E的一个生成元;
(2e)按照下式,发送者S计算每一个接收者Ri的伪身份值αi:
αi=H1(IDi,Ki,T)
其中,αi表示第i个接收者Ri的伪身份值,i=1,2,…,n,n表示发送者S在已注册的用户中随机选取的接收者的数目,H1表示密钥生成中心KGC选取的密码单向哈希函数,IDi表示第i个接收者Ri的身份信息,Ki表示第i个接收者Ri的公钥隐藏信息,T表示发送者的签密验证份额;
(2f)发送者S随机选取整数θ作为伪密钥后,按照下式,发送者S构造接收者身份信息混合值f(u):
其中,f(u)表示接收者身份信息混合值,u表示自变量,Π表示连乘操作,n表示发送者S在已注册的用户中随机选取的接收者的数目,i表示计数游标,αi表示第i个接收者Ri的伪身份值,θ表示发送者S随机选取的伪密钥,mod表示求模操作,q表示密钥生成中心KGC选取的大素数,c0,c1,…,cn-1表示接收者身份信息混合值f(u)的系数;
(2g)按照下式,发送者S计算明文混合值M:
其中,M表示明文混合值,H2表示密钥生成中心KGC选取的密码单向哈希函数,αi表示第i个接收者Ri的伪身份值,i=1,2,…,n,n表示发送者S在已注册的用户中随机选取的接收者的数目,T表示发送者S的签密验证份额,||表示链接操作,H3表示密钥生成中心KGC选取的密码单向哈希函数,表示逐位异或操作,mi表示要发送给第i个接收者Ri的明文,i=1,2,…,n;
(2h)按照下式,发送者S计算加密消息密文V:
其中,V表示加密消息密文,Ek表示密钥生成中心KGC选取的对称加密算法,k表示对称密钥,k=H4(θ);H4表示密钥生成中心KGC选取的密码单向哈希函数,θ表示发送者S随机选取的伪密钥,M表示明文混合值;
(2i)按照下式,发送者S计算发送者的身份隐藏参数h:
h=H5(T,IDs,M)
其中,h表示发送者S的身份隐藏参数,H5表示密钥生成中心KGC选取的密码单向哈希函数,T表示发送者S的签密验证份额,IDs表示发送者S的身份信息,M表示明文混合值;
(2j)按照下式,发送者S计算发送者的身份验证参数k:
k=H6(c0,c1,...,cn-1,T,V)
其中,k表示发送者S的身份验证参数,H6表示密钥生成中心KGC选取的密码单向哈希函数,c0,c1,…,cn-1表示接收者身份信息混合值f(u)的系数,T表示发送者S的签密验证份额,V表示加密消息密文;
(2k)按照下式,发送者S计算发送者的伪私钥w:
其中,w表示发送者S的伪私钥,k表示发送者S的身份验证参数,t表示发送者S随机选取的整数,xS表示发送者S的秘密值,yS表示发送者的部分私钥,h表示发送者S的身份隐藏参数;
(2l)按照下式,发送者S计算发送者的公钥隐藏参数U:
U=w(PKS+Ppub+hP)+Ppub
其中,U表示发送者S的公钥隐藏参数,w表示发送者S的伪私钥,PKS表示发送者S的公钥,Ppub表示密钥生成中心KGC生成的***公钥,h表示发送者S的身份隐藏参数,P表示密钥生成中心KGC选取的椭圆曲线E的一个生成元;
(2m)按照下式,发送者S计算密文有效性参数Λ:
Λ=H7(M,θ,c0,c1,...,cn-1,V,T,U)
其中,Λ表示密文有效性参数,H7表示密钥生成中心KGC选取的密码单向哈希函数,M表示明文混合值,θ表示发送者S随机选取的伪密钥,c0,c1,…,cn-1表示接收者的身份信息混合值f(u)的系数,V表示加密消息密文,T表示发送者S的签密验证份额,U表示发送者S的公钥隐藏参数;
(2n)发送者S将接收者的身份信息混合值f(u)的系数c0,c1,…,cn-1、发送者的签密验证份额T、加密消息密文V、发送者的公钥隐藏参数U和密文有效性参数Λ构成签密密文C,并对签密密文C进行广播;
(3)接收者解签密:
每个接收者Ri通过以下步骤进行解签密,其中i=1,2,…,n:
(3a)接收者Ri计算发送者S的身份验证参数k:
k=H6(c0,c1,...,cn-1,T,V)
其中,k表示发送者S的身份验证参数,H6表示密钥生成中心KGC选取的密码单向哈希函数,c0,c1,…,cn-1表示接收者身份信息混合值f(u)的系数,T表示发送者S的签密验证份额,V表示加密消息密文;
(3b)接收者Ri验证下式是否相等,如果相等则执行(3c),否则退出解签密过程:
U=kT+Ppub
其中,U表示发送者S的公钥隐藏参数,k表示发送者S的身份验证参数,T表示发送者S的签密验证份额,Ppub表示密钥生成中心KGC生成的密码***公钥;
(3c)按照下式,接收者Ri计算公钥隐藏信息Ki:
Ki=(xi+yi)T
其中,Ki表示第i个接收者Ri的公钥隐藏信息,xi表示第i个接收者Ri的秘密值,yi表示第i个接收者Ri的部分私钥,T表示发送者S的签密验证份额;
(3d)按照下式,接收者Ri计算伪身份值αi:
αi=H1(IDi,Ki,T)
其中,αi表示第i个接收者Ri的伪身份值,H1表示密钥生成中心KGC选取的密码单向哈希函数,IDi表示第i个接收者Ri的身份信息,Ki表示第i个接收者Ri的公钥隐藏信息,T表示发送者S的签密验证份额;
(3e)按照下式,接收者Ri计算发送者S随机选取的伪密钥θ:
θ=f(αi)
其中,θ表示发送者S随机选取的伪密钥,f(u)表示接收者的身份信息混合值,u表示自变量,αi表示第i个接收者Ri的伪身份值;
(3f)按照下式,接收者Ri计算明文混合值M:
其中,M表示明文混合值,Dk表示密钥生成中心KGC选取的对称解密算法,k表示对称密钥,k=H4(θ);H4表示密钥生成中心KGC选取的密码单向哈希函数,θ表示发送者S随机选取的伪密钥,V表示加密消息密文;
(3g)按照下式,接收者Ri计算权限参数Λ′:
Λ′=H7(M,θ,c0,c1,...,cn-1,V,T,U)
其中,Λ′表示权限参数,H7表示密钥生成中心KGC选取的密码单向哈希函数,M表示明文混合值,θ表示发送者S随机选取的伪密钥,c0,c1,…,cn-1表示接收者身份信息混合值f(u)的系数,V表示加密消息密文,T表示发送者S的签密验证份额,U表示发送者S的公钥隐藏参数;
(3h)接收者判断权限参数Λ′与密文有效性参数Λ是否相等;若是,则执行步骤(3i),否则,解密失败,退出解签密过程;
(3i)接收者计算H2(αi,T)和H3(αi),根据H2(αi,T)找出明文混合值M中对应的计算并退出接收者解签密过程;
其中,H2表示密钥生成中心KGC选取的密码单向哈希函数,αi表示第i个接收者Ri的伪身份值,T表示发送者S的签密验证份额,H3表示密钥生成中心KGC选取的密码单向哈希函数,M表示明文混合值,||表示链接操作,表示逐位异或操作,mi表示要发送给第i个接收者的明文。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710815077.8A CN107682145B (zh) | 2017-09-12 | 2017-09-12 | 真实匿名的无证书多消息多接收者签密方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710815077.8A CN107682145B (zh) | 2017-09-12 | 2017-09-12 | 真实匿名的无证书多消息多接收者签密方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107682145A CN107682145A (zh) | 2018-02-09 |
CN107682145B true CN107682145B (zh) | 2019-09-03 |
Family
ID=61135204
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710815077.8A Active CN107682145B (zh) | 2017-09-12 | 2017-09-12 | 真实匿名的无证书多消息多接收者签密方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107682145B (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108833345B (zh) * | 2018-05-04 | 2020-08-28 | 西安电子科技大学 | 可追踪匿名发送者身份的无证书多接收者签密方法 |
CN108809650B (zh) * | 2018-05-04 | 2021-04-13 | 西安电子科技大学 | 无安全信道的无证书匿名多接收者签密方法 |
CN109064170B (zh) * | 2018-07-23 | 2021-10-22 | 西安电子科技大学 | 无可信中心的群签名方法 |
CN109257181B (zh) * | 2018-10-17 | 2019-10-29 | 西安邮电大学 | 无证书环境下椭圆曲线盲签密方法 |
CN109861828B (zh) * | 2018-12-11 | 2021-10-08 | 全球能源互联网研究院有限公司 | 一种基于边缘计算的节点接入和节点认证方法 |
CN110224835B (zh) * | 2019-05-29 | 2022-05-03 | 电子科技大学 | 一种无证书的身份隐藏认证加密方法 |
CN110690959B (zh) * | 2019-08-26 | 2022-02-25 | 西安电子科技大学 | 一种基于云平台的无人机安全可认证信息通信处理方法 |
CN111934887B (zh) * | 2020-08-10 | 2022-03-04 | 西安电子科技大学 | 基于插值多项式的多接受者签密方法 |
US11496287B2 (en) | 2020-08-18 | 2022-11-08 | Seagate Technology Llc | Privacy preserving fully homomorphic encryption with circuit verification |
US11575501B2 (en) | 2020-09-24 | 2023-02-07 | Seagate Technology Llc | Preserving aggregation using homomorphic encryption and trusted execution environment, secure against malicious aggregator |
CN113179275B (zh) * | 2021-04-29 | 2022-09-06 | 杭州天谷信息科技有限公司 | 一种数据传输安全的处理方法 |
CN113301520B (zh) * | 2021-05-21 | 2023-02-28 | 国网四川省电力公司电力科学研究院 | 一种无线传感器网络安全通信的方法 |
CN115134120B (zh) * | 2022-05-30 | 2023-07-07 | 西藏大学 | 一种ecc结合opt的加密方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103905189A (zh) * | 2012-12-24 | 2014-07-02 | 航天信息股份有限公司 | 无证书且无配对的基于身份的代理签密方法和*** |
CN104393996A (zh) * | 2014-11-04 | 2015-03-04 | 马鞍山城智信息技术有限公司 | 一种基于无证书的签密方法和*** |
CN105024994A (zh) * | 2015-05-29 | 2015-11-04 | 西北工业大学 | 无对运算的安全无证书混合签密方法 |
CN106936593A (zh) * | 2017-05-12 | 2017-07-07 | 西安电子科技大学 | 基于椭圆曲线高效匿名的无证书多接收者签密方法 |
-
2017
- 2017-09-12 CN CN201710815077.8A patent/CN107682145B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103905189A (zh) * | 2012-12-24 | 2014-07-02 | 航天信息股份有限公司 | 无证书且无配对的基于身份的代理签密方法和*** |
CN104393996A (zh) * | 2014-11-04 | 2015-03-04 | 马鞍山城智信息技术有限公司 | 一种基于无证书的签密方法和*** |
CN105024994A (zh) * | 2015-05-29 | 2015-11-04 | 西北工业大学 | 无对运算的安全无证书混合签密方法 |
CN106936593A (zh) * | 2017-05-12 | 2017-07-07 | 西安电子科技大学 | 基于椭圆曲线高效匿名的无证书多接收者签密方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107682145A (zh) | 2018-02-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107682145B (zh) | 真实匿名的无证书多消息多接收者签密方法 | |
CN106027239B (zh) | 基于椭圆曲线的无密钥托管问题的多接收者签密方法 | |
CN107438006B (zh) | 全匿名无证书的多接收者签密方法 | |
CN105429941B (zh) | 多接收者身份匿名签密方法 | |
US6298153B1 (en) | Digital signature method and information communication system and apparatus using such method | |
CN104967513B (zh) | 具有多重安全属性的基于身份的多接收者环签密方法 | |
CN107070948A (zh) | 云存储中基于混合加密算法的签名与验证方法 | |
CN106936593A (zh) | 基于椭圆曲线高效匿名的无证书多接收者签密方法 | |
CN105025024B (zh) | 一种基于无证书条件代理重加密***与方法 | |
CN103312506B (zh) | 接收者身份匿名的多接收者签密方法 | |
CN107733648A (zh) | 一种基于身份的rsa数字签名生成方法及*** | |
CN104393996B (zh) | 一种基于无证书的签密方法和*** | |
CN105743641B (zh) | 一种可显式验证公钥的多接收者签密方法 | |
CN104767611B (zh) | 一种从公钥基础设施环境到无证书环境的签密方法 | |
CN108696362B (zh) | 可更新密钥的无证书多消息多接收者签密方法 | |
CN106713349B (zh) | 一种能抵抗选择密文攻击的群组间代理重加密方法 | |
Lee et al. | Security flaw of authentication scheme with anonymity for wireless communications | |
CN105763528A (zh) | 一种混合机制下多重接受者匿名的加密装置 | |
KR20140103269A (ko) | 그룹 암호화 방법 및 디바이스 | |
CN108809650A (zh) | 无安全信道的无证书匿名多接收者签密方法 | |
CN109887150A (zh) | 支持投票***的代理重签密方法 | |
CN108833345A (zh) | 可追踪匿名发送者身份的无证书多接收者签密方法 | |
KR20040009766A (ko) | 암호 시스템에서 송수신 장치 및 방법 | |
Grewal | ElGamal: public-key cryptosystem | |
CN103873248B (zh) | 带有证书的基于身份的加密方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |