CN107438006B - 全匿名无证书的多接收者签密方法 - Google Patents

全匿名无证书的多接收者签密方法 Download PDF

Info

Publication number
CN107438006B
CN107438006B CN201710815078.2A CN201710815078A CN107438006B CN 107438006 B CN107438006 B CN 107438006B CN 201710815078 A CN201710815078 A CN 201710815078A CN 107438006 B CN107438006 B CN 107438006B
Authority
CN
China
Prior art keywords
indicate
sender
key
user
recipient
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
Application number
CN201710815078.2A
Other languages
English (en)
Other versions
CN107438006A (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.)
Xidian University
Original Assignee
Xidian University
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 Xidian University filed Critical Xidian University
Priority to CN201710815078.2A priority Critical patent/CN107438006B/zh
Publication of CN107438006A publication Critical patent/CN107438006A/zh
Application granted granted Critical
Publication of CN107438006B publication Critical patent/CN107438006B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3247Cryptographic 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
    • H04L9/3252Cryptographic 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 using DSA or related signature schemes, e.g. elliptic based signatures, ElGamal or Schnorr schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3236Cryptographic 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/3242Cryptographic 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Power Engineering (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种全匿名无证书的多接收者签密方法,用于解决现有多接收者签密方法运算效率低的技术问题。技术方案是用户将自己的身份信息发送给向密钥生成中心KGC,密钥生成中心KGC计算用户的私钥验证参数和部分私钥,并将私钥验证参数和部分私钥秘密地发送给用户;用户收到自己的私钥验证参数和部分私钥后,通过等式验证部分私钥是否成立,若成立,则接收部分私钥,否则,拒绝接收,并向密钥生成中心KGC报错;之后,将签密算法在有限域的椭圆曲线上实现,并且将所有参与者的身份信息隐藏在发送的密文中,最后对密文进行广播,只有被选定的接收者才可以公平地解密。由于签密是在椭圆曲线上实现的,减少了数乘的使用,提高了运算效率。

Description

全匿名无证书的多接收者签密方法
技术领域
本发明涉及一种多接收者签密方法,特别是涉及一种全匿名无证书的多接收者签密方法。
背景技术
文献1“Efficient Anonymous Multireceiver Certificateless Encryption,IEEE Systems Journal,2015,12(9):1-12.”中提出了一种有效的匿名多接收者无证书加密方案。该方法使用了双线性对运算,使得计算量非常大,大大降低了运算效率;其次,该方法没有对消息的来源进行验证,使得消息的有效性不能得到保证;另外,在该方法中,用户收到密钥生成中心KGC(Key Generation Center)发过来的部分私钥后,无法对部分私钥的正确性进行验证,使方案的安全性有所欠缺。
文献2“Anonymous and Provably Secure Certificateless MultireceiverEncryption without Bilinear Pairing,IEEE Systems Journal,Security andcommunication networks,2015,8(13):2214-2231.”中提出了一种匿名的可证明安全性的不使用双线性对的无证书多接收者加密方案。该方法虽然使用了椭圆曲线进行运算并对用户收到密钥生成中心KGC发过来的部分私钥进行了验证,但是数乘数目相对较多,运算效率仍比较低;另外,该方法依旧没有对消息的来源进行验证。
文献3“Efficient and provably secure certificateless multi-receiversigncryption.Provable Security-ProvSec 2008,Shanghai,China.Springer-Verlag,2008,pp.52-67.”中提出了一种高效的可证明安全性的无证书多接收者签密方案。该方法进行了签名操作,可以验证消息的来源。但是,该方法是基于双线性对的运算,运算比较复杂,效率低;并且没有实现发送者和接收者的匿名性;另外,没有对密钥生成中心KGC发送过来的部分私钥进行验证。
文献4“A Novel Multi-receiver Signcryption Scheme with CompleteAnonymity.PloS one,2016,11(11):e0166173.”中提出了一种完全匿名的新型多接收者签密方案。该方法进行了签名操作,对消息的来源进行了验证;并且同时实现了接收者和发送者的匿名性。但是,该方法的运算是在双线性对上进行的,运算效率被大大降低;并且该方法是在基于身份的密码体制上设计的,密钥生成中心KGC可以知道用户的私钥,存在密钥托管问题。
发明内容
为了克服现有多接收者签密方法运算效率低的不足,本发明提供一种全匿名无证书的多接收者签密方法。该方法的用户将自己的身份信息发送给向密钥生成中心KGC,密钥生成中心KGC计算用户的私钥验证参数和部分私钥,并将私钥验证参数和部分私钥秘密地发送给用户;用户收到自己的私钥验证参数和部分私钥后,通过等式验证部分私钥是否成立,若成立,则接收部分私钥,否则,拒绝接收,并向密钥生成中心KGC报错;之后,将签密算法在有限域的椭圆曲线上实现,并且将所有参与者的身份信息隐藏在发送的密文中,最后对密文进行广播,只有被选定的接收者才可以公平地解密,同时验证消息的来源。由于签密是在椭圆曲线上实现的,减少了数乘的使用,提高了运算效率。
本发明解决其技术问题所采用的技术方案是:一种全匿名无证书的多接收者签密方法,其特点是包括以下步骤:
(1)用户注册:
用户包括发送者和接收者,通过执行以下步骤来分别获得自己的公钥和私钥。
(1a)用户随机选取一个整数x作为自己的秘密值,并计算自己相应的秘密值公钥X=xP;
其中,x表示用户的秘密值,X表示用户的秘密值公钥,P表示密钥生成中心KGC选取的加法循环群Gp的生成元;
(1b)用户向密钥生成中心KGC提交自己的身份信息ID和自己的秘密值公钥X;
(1c)密钥生成中心KGC收到用户提交的身份信息ID和秘密值公钥X后,选取整数u,并计算用户的私钥验证参数Q=uP和用户的部分私钥d=u+s+H0(ID,Q,X);
其中,x表示用户的秘密值,X表示用户的秘密值公钥,P表示密钥生成中心KGC选取的加法循环群Gp的生成元,ID表示用户的身份信息,u表示密钥生成中心KGC为用户选取的整数,Q表示用户的私钥验证参数,d表示用户的部分私钥,s表示密钥生成中心KGC选取的密码系统主密钥,H0表示密码单向哈希函数,由密钥生成中心KGC构造;
(1d)密钥生成中心KGC将用户的私钥验证参数Q和用户的部分私钥d通过安全信道发送给用户;
(1e)用户收到密钥生成中心KGC发送过来的私钥验证参数Q和部分私钥d后,判断收到的用户的部分私钥d是否满足以下等式:
Q+P+H0(ID,Q,X)P=dP
若是,则执行步骤(1f),否则,用户向密钥生成中心KGC报错,退出用户注册过程;
其中,Q表示用户的私钥验证参数,P表示密钥生成中心KGC选取的加法循环群Gp的生成元,H0表示密码单向哈希函数,由密钥生成中心KGC构造,ID表示用户的身份信息,X表示用户的秘密值公钥,d表示用户的部分私钥;
(1f)用户将自己的身份信息ID和秘密值公钥X发送给密钥生成中心KGC;
(1g)密钥生成中心KGC收到用户身份信息ID和秘密值公钥X后,计算用户的部分公钥Y=H0(ID,Q,X)P+Q,并将其公开;
其中,Y表示用户的部分公钥,H0表示密码单向哈希函数,由密钥生成中心KGC构造,ID表示用户的身份信息,Q表示用户的私钥验证参数,X表示用户的秘密值公钥,P表示密钥生成中心KGC选取的加法循环群Gp的生成元;
(1h)用户获取密钥生成中心KGC公开的自己的部分公钥Y后,提取自己的公钥(X,Y)和私钥(x,d),并对公钥进行公布,对私钥进行保存,然后退出用户注册过程;
其中,(X,Y)表示用户的公钥,包含用户的秘密值公钥X和用户的部分公钥Y两部分,(x,d)表示用户的私钥,包含用户的秘密值x和用户的部分私钥d两部分;
(2)发送者签密:
(2a)发送者S判断自己是否已经执行步骤(1)的用户注册过程,若已执行,则直接获取自己的公钥(XS,YS)和私钥(xS,dS),然后执行步骤(2b);若没有,发送者S先执行步骤(1)的用户注册过程获取自己的公钥(XS,YS)和私钥(xS,dS),然后执行步骤(2b);
其中,(XS,YS)表示发送者S的公钥,包含发送者S的秘密值公钥XS,和发送者S的部分公钥YS两部分,(xS,dS)表示发送者的私钥,包含发送者S的秘密值xS和发送者S的的部分私钥dS两部分;
(2b)发送者S在已注册的用户中选取n个接收者R1,R2,…,Rn,其中n表示大于0的整数;
(2c)发送者S选取整数r,并计算群验证值U=rP;
其中,r表示发送者S选取的整数,U表示群验证值,P表示密钥生成中心KGC选取的加法循环群Gp的生成元;
(2d)按照下式,发送者S计算与每一个接收者Ri之间的关联信息Ki
Ki=(r+r(xS+dS))(Xi+Yi+Ppub)
其中,Ki表示发送者S与第i个接收者Ri之间的关联信息,r表示发送者S选取的整数,xS表示发送者S的秘密值,dS表示发送者S的部分私钥,Xi表示第i个接收者Ri的秘密值公钥,Yi表示第i个接收者Ri的部分公钥,Ppub表示密钥生成中心KGC生成的密码系统公钥,i=1,2,…,n,n表示发送者S在已注册的用户中选取的接收者的数目;
(2e)按照下式,发送者S计算每一个接收者Ri的伪身份值αi
αi=H1(U,Ki)
其中,αi表示第i个接收者Ri的伪身份值,H1表示密码单向哈希函数,由密钥生成中心KGC构造,U表示群验证值,Ki表示发送者S与第i个接收者Ri之间的关联信息,i=1,2,…,n,n表示发送者S在已注册的用户中选取的接收者的数目;
(2f)发送者S选取整数θ,按照下式,发送者S构造f(t)作为接收者身份信息混合值:
其中,f(t)表示接收者身份信息混合值,t表示自变量,∏表示连乘操作,αi表示第i个接收者Ri的伪身份值,θ表示发送者S选取的整数,mod表示求模操作,p表示密钥生成中心KGC选取的大素数,i=1,2,…,n,n表示发送者S在已注册的用户中选取的接收者的数目;
(2g)按照下式,发送者S计算对称密钥k:
k=H2(U,θ)
其中,k表示对称密钥,H2表示密码单向哈希函数,由密钥生成中心KGC构造,U表示群验证值,θ表示发送者S选取的整数;
(2h)按照下式,发送者S计算加密消息密文δ:
δ=Ek(m)
其中,k表示对称密钥,δ表示加密消息密文,Ek表示对称加密算法,m表示明文消息;
(2i)按照下式,发送者S计算密文有效性参数λ:
λ=H3(c0,c1,...,cn-1,U,m,θ,δ)
其中,λ表示密文有效性参数,H3表示密码单向哈希函数,由密钥生成中心KGC构造,c0,c1,…,cn-1表示接收者身份信息混合值f(t)的系数,U表示群验证值,m表示明文消息,θ表示发送者S选取的整数,δ表示加密消息密文;
(2j)发送者S计算签名参数W:
W=r(XS+YS+Ppub),
其中,W表示发送者S的签名参数,r表示发送者S选取的整数,XS表示发送者S的秘密值公钥,YS表示发送者S的部分公钥,Ppub表示密钥生成中心KGC生成的密码系统公钥;
(2k)发送者S将群验证值U、签名参数W、加密消息密文δ、密文有效性参数λ、接收者身份信息混合值f(t)的系数c0,c1,…,cn-1构成签密密文C=<U,W,δ,λ,c0,c1,…cn-1>,并对签密密文C进行广播;
(3)接收者解签密:收到签密密文C后,每一个接收者Ri通过以下步骤进行解签密,其中i=1,2,…,n:
(3a)按照下式,接收者Ri计算其与发送者S之间的关联信息Ki
Ki=(U+W)(xi+di)
其中,Ki表示发送者S与第i个接收者Ri之间的关联信息,U表示群验证值,W表示用户的签名参数,xi表示第i个接收者Ri的秘密值,di表示第i个接收者Ri的部分私钥,i=1,2,…,n,n表示发送者S在已注册的用户中选取的接收者的数目;
(3b)按照下式,接收者Ri计算伪身份值αi
αi=H1(U,Ki)
其中,αi表示第i个接收者Ri的伪身份值,H1表示密码单向哈希函数,由密钥生成中心KGC构造,U表示群验证值,Ki表示发送者S与第i个接收者Ri之间的关联信息,i=1,2,…,n,n表示发送者S在已注册的用户中选取的接收者的数目;
(3c)接收者Ri计算发送者S选取的整数θ:
θ=f(αi)
其中,θ表示发送者S选取的整数,f(t)表示接收者身份信息混合值,t表示自变量,αi表示第i个接收者Ri的伪身份值;
(3d)按照下式,接收者Ri计算对称密钥k:
k=H2(U,θ)
其中,k表示对称密钥,H2表示密码单向哈希函数,由密钥生成中心KGC构造,U表示群验证值,θ表示发送者S选取的整数;
(3e)按照下式,接收者Ri解密密文得消息m′:
m′=Dk(δ)
其中,k表示对称密钥,δ表示加密消息密文,Dk表示与Ek相对应的对称解密算法,m′表示解密得到的明文消息;
(3f)按照下式,接收者Ri计算密文有效性参数λ′:
λ′=H3(c0,c1,...,cn-1,U,m′,θ,δ)
其中,λ′表示由解密得到的明文消息计算得到的密文有效性参数,H3表示密码单向哈希函数,由密钥生成中心KGC构造,c0,c1,…,cn-1表示接收者身份信息混合值f(t)的系数,U表示群验证值,m′表示解密得到的明文消息,θ表示发送者S选取的整数,δ表示加密消息密文;
(3g)接收者Ri对(3f)中算得的密文有效性参数λ′与所收到的来自发送者的签密密文C中的密文有效性参数λ进行比较,若相等,则接收解密得到的明文消息m′,并退出解签密过程;若不相等,解密失败,并退出解签密过程。
本发明的有益效果是:该方法的用户将自己的身份信息发送给向密钥生成中心KGC,密钥生成中心KGC计算用户的私钥验证参数和部分私钥,并将私钥验证参数和部分私钥秘密地发送给用户;用户收到自己的私钥验证参数和部分私钥后,通过等式验证部分私钥是否成立,若成立,则接收部分私钥,否则,拒绝接收,并向密钥生成中心KGC报错;之后,将签密算法在有限域的椭圆曲线上实现,并且将所有参与者的身份信息隐藏在发送的密文中,最后对密文进行广播,只有被选定的接收者才可以公平地解密,同时验证消息的来源。
由于采用椭圆曲线困难问题构造签密方法,过程中未使用双线性对,克服了现有方法双线性对带来的计算量大的问题;而且,整个签密操作使用的椭圆曲线上的数乘操作,操作次数远远小于背景技术方法,大大提高了签密操作的效率;
第二,由于本发明在发送者签密过程中通过计算发送者与每一个接收者的关联信息,将所有授权接收者的伪身份值转换为身份信息混合值,并作为签密密文的元素,使得授权接收者之间不能通过签密密文元素之间的关系计算出对方身份信息,使得本发明实现了授权接收者之间的身份匿名;同时,本发明在接收者解签密时没有使用发送者的公钥和身份信息,从而保证了发送者的匿名性;
第三,本发明的签密时间约为(29.24n+58.24)Tm,背景技术中文献1的加密时间约为(188.5n+29)Tm,文献2的加密时间约为(58.2n+29)Tm,文献3的签密时间约为(270n+44.5)Tm,文献4的签密时间约为(116n+145)Tm,其中Tm表示一个模乘所需要的运算时间,从而提高了运算效率;
第四,由于本发明采用无证书密码体制,用户私钥的一部分是用户自己选定的秘密值,一部分是由密钥生成中心KGC生成的,这样密钥生成中心KGC就无法得知任何用户的私钥,避免了基于身份密码体制的密钥托管问题;同时,密钥生成中心KGC将根据用户身份信息生成的私钥验证参数和部分私钥发送给用户后,用户可以对部分私钥的正确性进行验证,克服了现有技术中不能抵抗恶意KGC攻击的问题,使得本发明具有抵抗恶意KGC攻击的优点。
下面结合具体实施方式对本发明作详细说明。
具体实施方式
名词解释:
KGC(Key Generation Center):密钥生成中心,为可信第三方,负责产生发送者和接收者的部分公私钥;
β:密钥生成中心KGC选取的安全参数;
p:密钥生成中心KGC选取的大素数;
Gp:密钥生成中心KGC选取的加法循环群;
Fp:阶为大素数p的有限域;
E(Fp):有限域上的椭圆曲线;
P:密钥生成中心KGC选取的加法循环群Gp的生成元;
s:密钥生成中心KGC选取的密码系统主密钥;
Ppub:密钥生成中心KGC生成的密码系统公钥;
∈:限定域符号,例如y∈Zp *,表示y是Zp *中的一个元素;
Hi:密码单向哈希函数,由密钥生成中心KGC构造,其中i=0,1,2,3;
A→B:定义域A到值域B的映射;
{0,1}*:任意长的“0”或“1”构成的串;
×:笛卡尔乘积,例如集合A={a,b},集合B={0,1},则两个集合的笛卡尔积为{(a,0),(a,1),(b,0),(b,1)};
Zp *:基于大素数p构成的非零乘法群;
m:明文消息;
l:明文消息m的长度;
{0,1}l:长度为l的“0”或“1”构成的串;
k:对称密钥;
Ek:对称加密算法,例如AES加密算法;
Dk:与Ek相对应的对称解密算法,例如AES解密算法;
Params:密码系统参数;
x:用户的秘密值;
d:用户的部分私钥;
X:用户的秘密值公钥;
Q:用户的私钥验证参数;
ID:用户的身份信息;
Y:用户的部分公钥;
(X,Y):用户的公钥,包含用户的秘密值公钥X和用户的部分公钥Y两部分;
(x,d):用户的私钥,包含用户的秘密值x和用户的部分私钥d两部分;
u:密钥生成中心KGC为用户选取的整数;
S:发送者;
θ:发送者S选取的整数;
dS:发送者S的部分私钥;
xS:发送者S的秘密值;
XS:发送者S的秘密值公钥;
uS:密钥生成中心KGC为发送者S随机选取的整数;
QS:发送者S的私钥验证参数;
IDS:发送者S的身份信息;
YS:发送者S的部分公钥;
(XS,YS):发送者S的公钥,包含发送者S的秘密值公钥XS和发送者S的部分公钥YS两部分;
(xS,dS):发送者S的私钥,包含发送者S的秘密值xS和发送者S的部分私钥dS两部分;
n:发送者S在已注册的用户中随机选取的接收者的数目;
Ri:第i个接收者,i=1,2,…,n;
di:第i个接收者Ri的部分私钥,i=1,2,…,n;
xi:第i个接收者Ri的秘密值,i=1,2,…,n;
Xi:第i个接收者Ri的秘密值公钥,i=1,2,…,n;
ui:密钥生成中心KGC为第i个接收者Ri选取的整数,i=1,2,…,n;
Qi:第i个接收者Ri的私钥验证参数,i=1,2,…,n;
Ki:发送者S与第i个接收者Ri之间的关联信息,i=1,2,…,n;
Yi:第i个接收者Ri的部分公钥,i=1,2,…,n;
(Xi,Yi):第i个接收者Ri的公钥,包含第i个接收者Ri的秘密值公钥Xi和第i个接收者Ri的部分公钥Yi两部分,i=1,2,…,n;
(xi,di):第i个接收者Ri的私钥,包含第i个接收者Ri的秘密值xi和第i个接收者Ri的部分私钥di两部分,i=1,2,…,n;
IDi:第i个接收者Ri的身份信息,i=1,2,…,n;
αi:第i个接收者Ri的伪身份值,i=1,2,…,n;
f(t):接收者身份信息混合值,其中t表示自变量;
∏:连乘操作,例如
r:发送者S选取的整数;
U:群验证值;
W:发送者S计算的签名参数;
mod:求模操作;
δ:加密消息密文;
m:明文消息;
λ:密文有效性参数;
ci:接收者身份信息混合值f(t)的系数,其中i=0,1,…,n-1;
C:签密密文;
m′:解密得到的明文消息;
λ′:由解密得到的明文消息计算得到的密文有效性参数。
本发明全匿名无证书的多接收者签密方法具体步骤如下:
(1)用户注册:
在该步骤中,用户包括本发明中所用到的发送者和接收者,他们需要通过执行以下步骤来分别获得自己的公钥和私钥。
(1a)用户随机选取一个整数x作为自己的秘密值,并计算自己相应的秘密值公钥X=xP;
其中,x表示用户的秘密值,X表示用户的秘密值公钥,P表示密钥生成中心KGC选取的加法循环群Gp的生成元;
(1b)用户向密钥生成中心KGC提交自己的身份信息ID和自己的秘密值公钥X;
(1c)密钥生成中心KGC收到用户提交的身份信息ID和秘密值公钥X后,选取整数u,并计算用户的私钥验证参数Q=uP和用户的部分私钥d=u+s+H0(ID,Q,X);
其中,x表示用户的秘密值,X表示用户的秘密值公钥,P表示密钥生成中心KGC选取的加法循环群Gp的生成元,ID表示用户的身份信息,u表示密钥生成中心KGC为用户选取的整数,Q表示用户的私钥验证参数,d表示用户的部分私钥,s表示密钥生成中心KGC选取的密码系统主密钥,H0表示密码单向哈希函数,由密钥生成中心KGC构造;
(1d)密钥生成中心KGC将用户的私钥验证参数Q和用户的部分私钥d通过安全信道发送给用户;
(1e)用户收到密钥生成中心KGC发送过来的私钥验证参数Q和部分私钥d后,判断收到的用户的部分私钥d是否满足以下等式:
Q+P+H0(ID,Q,X)P=dP
若是,则执行步骤(1f),否则,用户向密钥生成中心KGC报错,退出用户注册过程;
其中,Q表示用户的私钥验证参数,P表示密钥生成中心KGC选取的加法循环群Gp的生成元,H0表示密码单向哈希函数,由密钥生成中心KGC构造,ID表示用户的身份信息,X表示用户的秘密值公钥,d表示用户的部分私钥;
(1f)用户将自己的身份信息ID和秘密值公钥X发送给密钥生成中心KGC;
(1g)密钥生成中心KGC收到用户身份信息ID和秘密值公钥X后,计算用户的部分公钥Y=H0(ID,Q,X)P+Q,并将其公开;
其中,Y表示用户的部分公钥,H0表示密码单向哈希函数,由密钥生成中心KGC构造,ID表示用户的身份信息,Q表示用户的私钥验证参数,X表示用户的秘密值公钥,P表示密钥生成中心KGC选取的加法循环群Gp的生成元;
(1h)用户获取密钥生成中心KGC公开的自己的部分公钥Y后,提取自己的公钥(X,Y)和私钥(x,d),并对公钥进行公布,对私钥进行保存,然后退出用户注册过程;
其中,(X,Y)表示用户的公钥,包含用户的秘密值公钥X和用户的部分公钥Y两部分,(x,d)表示用户的私钥,包含用户的秘密值x和用户的部分私钥d两部分;
(2)发送者签密:
(2a)发送者S判断自己是否已经执行步骤(1)的用户注册过程,若已执行,则直接获取自己的公钥(XS,YS)和私钥(xS,dS),然后执行步骤(2b);若没有,发送者S先执行步骤(1)的用户注册过程获取自己的公钥(XS,YS)和私钥(xS,dS),然后执行步骤(2b);
其中,(XS,YS)表示发送者S的公钥,包含发送者S的秘密值公钥XS,和发送者S的部分公钥YS两部分,(xS,dS)表示发送者的私钥,包含发送者S的秘密值xS和发送者S的的部分私钥dS两部分;
(2b)发送者S在已注册的用户中选取n个接收者R1,R2,…,Rn,其中n表示大于0的整数;
(2c)发送者S选取整数r,并计算群验证值U=rP;
其中,r表示发送者S选取的整数,U表示群验证值,P表示密钥生成中心KGC选取的加法循环群Gp的生成元;
(2d)按照下式,发送者S计算与每一个接收者Ri之间的关联信息Ki
Ki=(r+r(xS+dS))(Xi+Yi+Ppub)
其中,Ki表示发送者S与第i个接收者Ri之间的关联信息,r表示发送者S选取的整数,xS表示发送者S的秘密值,dS表示发送者S的部分私钥,Xi表示第i个接收者Ri的秘密值公钥,Yi表示第i个接收者Ri的部分公钥,Ppub表示密钥生成中心KGC生成的密码系统公钥,i=1,2,…,n,n表示发送者S在已注册的用户中选取的接收者的数目;
(2e)按照下式,发送者S计算每一个接收者Ri的伪身份值αi
αi=H1(U,Ki)
其中,αi表示第i个接收者Ri的伪身份值,H1表示密码单向哈希函数,由密钥生成中心KGC构造,U表示群验证值,Ki表示发送者S与第i个接收者Ri之间的关联信息,i=1,2,…,n,n表示发送者S在已注册的用户中选取的接收者的数目;
(2f)发送者S选取整数θ,按照下式,发送者S构造f(t)作为接收者身份信息混合值:
其中,f(t)表示接收者身份信息混合值,t表示自变量,∏表示连乘操作,αi表示第i个接收者Ri的伪身份值,θ表示发送者S选取的整数,mod表示求模操作,p表示密钥生成中心KGC选取的大素数,i=1,2,…,n,n表示发送者S在已注册的用户中选取的接收者的数目;
(2g)按照下式,发送者S计算对称密钥k:
k=H2(U,θ)
其中,k表示对称密钥,H2表示密码单向哈希函数,由密钥生成中心KGC构造,U表示群验证值,θ表示发送者S选取的整数;
(2h)按照下式,发送者S计算加密消息密文δ:
δ=Ek(m)
其中,k表示对称密钥,δ表示加密消息密文,Ek表示对称加密算法,m表示明文消息;
(2i)按照下式,发送者S计算密文有效性参数λ:
λ=H3(c0,c1,...,cn-1,U,m,θ,δ)
其中,λ表示密文有效性参数,H3表示密码单向哈希函数,由密钥生成中心KGC构造,c0,c1,…,cn-1表示接收者身份信息混合值f(t)的系数,U表示群验证值,m表示明文消息,θ表示发送者S选取的整数,δ表示加密消息密文;
(2j)发送者S计算签名参数W:
W=r(XS+YS+Ppub),
其中,W表示发送者S的签名参数,r表示发送者S选取的整数,XS表示发送者S的秘密值公钥,YS表示发送者S的部分公钥,Ppub表示密钥生成中心KGC生成的密码系统公钥;
(2k)发送者S将群验证值U、签名参数W、加密消息密文δ、密文有效性参数λ、接收者身份信息混合值f(t)的系数c0,c1,…,cn-1构成签密密文C=<U,W,δ,λ,c0,c1,…cn-1>,并对签密密文C进行广播;
(3)接收者解签密:收到签密密文C后,每一个接收者Ri通过以下步骤进行解签密,其中i=1,2,…,n:
(3a)按照下式,接收者Ri计算其与发送者S之间的关联信息Ki
Ki=(U+W)(xi+di)
其中,Ki表示发送者S与第i个接收者Ri之间的关联信息,U表示群验证值,W表示用户的签名参数,xi表示第i个接收者Ri的秘密值,di表示第i个接收者Ri的部分私钥,i=1,2,…,n,n表示发送者S在已注册的用户中选取的接收者的数目;
(3b)按照下式,接收者Ri计算伪身份值αi
αi=H1(U,Ki)
其中,αi表示第i个接收者Ri的伪身份值,H1表示密码单向哈希函数,由密钥生成中心KGC构造,U表示群验证值,Ki表示发送者S与第i个接收者Ri之间的关联信息,i=1,2,…,n,n表示发送者S在已注册的用户中选取的接收者的数目;
(3c)接收者Ri计算发送者S选取的整数θ:
θ=f(αi)
其中,θ表示发送者S选取的整数,f(t)表示接收者身份信息混合值,t表示自变量,αi表示第i个接收者Ri的伪身份值;
(3d)按照下式,接收者Ri计算对称密钥k:
k=H2(U,θ)
其中,k表示对称密钥,H2表示密码单向哈希函数,由密钥生成中心KGC构造,
U表示群验证值,θ表示发送者S选取的整数;
(3e)按照下式,接收者Ri解密密文得消息m′:
m′=Dk(δ)
其中,k表示对称密钥,δ表示加密消息密文,Dk表示与Ek相对应的对称解密算法,m′表示解密得到的明文消息;
(3f)按照下式,接收者Ri计算密文有效性参数λ′:
λ′=H3(c0,c1,...,cn-1,U,m′,θ,δ)
其中,λ′表示由解密得到的明文消息计算得到的密文有效性参数,H3表示密码单向哈希函数,由密钥生成中心KGC构造,c0,c1,…,cn-1表示接收者身份信息混合值f(t)的系数,U表示群验证值,m′表示解密得到的明文消息,θ表示发送者S选取的整数,δ表示加密消息密文;
(3g)接收者Ri对(3f)中算得的密文有效性参数λ′与所收到的来自发送者的签密密文C中的密文有效性参数λ进行比较,若相等,则接收解密得到的明文消息m′,并退出解签密过程;若不相等,解密失败,并退出解签密过程。
应用实施例:
步骤1,生成系统参数。
密钥生成中心KGC根据密码系统安全参数β选取一个大素数p,选择一个加法循环群Gp,选取P为Gp的生成元,选择一个阶为大素数p的有限域Fp以及有限域上的椭圆曲线E(Fp);随机选取密码系统的主密钥s∈Zp *,并计算密码系统公钥Ppub=sP,保存密码系统主密钥s;密钥生成中心KGC分别构造四个单向密码单向哈希函数:
其中,KGC表示密钥生成中心,β表示密钥生成中心KGC选取的安全参数,p表示密钥生成中心KGC选取的大素数,Gp表示密钥生成中心KGC选取的加法循环群,P表示密钥生成中心KGC选取的加法循环群Gp的生成元,Fp表示阶为大素数p的有限域,E(Fp)表示有限域上的椭圆曲线,s表示密钥生成中心KGC选取的密码系统主密钥,Zp *表示基于大素数p构成的非零乘法群,∈表示限定域符号,Ppub表示密钥生成中心KGC生成的密码系统公钥,H0,H1,H2,H3分别表示密码单向哈希函数,由密钥生成中心KGC构造,A→B表示定义域A到值域B的映射,{0,1}*表示任意长的“0”或“1”构成的串,×表示笛卡尔乘积,l表示明文消息m的长度,{0,1}l表示长度为l的“0”或“1”构成的串;
密钥生成中心KGC选取对称加密算法Ek,并选取与该对称加密算法Ek相对应的对称解密算法Dk
其中,Ek表示对称加密算法,Dk表示与Ek相对应的对称解密算法,k表示对称密钥;
密钥生成中心KGC构造密码系统参数Params={p,Gp,P,Ppub,Ek,Dk,H0,H1,H2,H3}并对其公开发布,同时秘密保存密码系统主密钥s,其中Params表示密码系统参数。
步骤2,发送者注册。
第一步,发送者S随机选取整数xS∈Zp *作为自己的秘密值,表示其私钥的一部分,并计算自己相应的秘密值公钥XS=xSP;
其中,xS表示发送者S的秘密值,∈表示限定域符号,Zp *表示基于大素数p构成的非零乘法群,XS表示发送者S的秘密值公钥,P表示密钥生成中心KGC选取的加法循环群Gp的生成元。
第二步,发送者S向密钥生成中心KGC提交自己的身份信息IDS和自己的秘密值公钥XS,密钥生成中心KGC收到发送者S提交的身份信息IDS和秘密值公钥XS后,选取整数uS∈Zp *,并计算发送者S的私钥验证参数QS=usP和发送者S的部分私钥dS
dS=uS+s+H0(IDS,QS,XS)
其中,dS表示发送者S的部分私钥,uS表示密钥生成中心KGC为发送者S选取的整数,s表示密钥生成中心KGC选取的密码系统主密钥,H0表示密码单向哈希函数,由密钥生成中心KGC构造,IDS表示发送者S的身份信息,QS表示发送者S的私钥验证参数,XS表示发送者S的秘密值公钥;
密钥生成中心KGC将发送者S的私钥验证参数QS和发送者S的部分私钥dS通过安全信道发送给发送者S,发送者S收到密钥生成中心KGC发送过来的私钥验证参数QS和部分私钥dS后,判断收到的密钥生成中心KGC发送过来的发送者S的部分私钥dS是否满足以下等式:
QS+Ppub+H0(IDS,QS,XS)P=dSP
若是,则执行本步骤的第三步;否则,向密钥生成中心KGC报错,并退出发送者注册过程;
其中,QS表示发送者S的私钥验证参数,Ppub表示密钥生成中心KGC生成的密码系统公钥,H0表示密码单向哈希函数,由密钥生成中心KGC构造,IDS表示发送者S的身份信息,XS表示发送者S的秘密值公钥,dS表示发送者S的部分私钥,P表示密钥生成中心KGC选取的加法循环群Gp的生成元。
第三步,发送者S将自己的身份信息IDS和秘密值公钥XS发送给密钥生成中心KGC,密钥生成中心KGC收到发送者S的身份信息IDS和秘密值公钥XS后,计算发送者S的部分公钥YS=H0(IDS,QS,XS)P+QS,并将其公开;
其中,YS表示发送者S的部分公钥,H0表示密码单向哈希函数,由密钥生成中心KGC构造,IDS表示发送者S的身份信息,QS表示发送者S的私钥验证参数,XS表示发送者S的秘密值公钥,P表示密钥生成中心KGC选取的加法循环群Gp的生成元。
第四步,发送者S获取密钥生成中心KGC公开的自己的部分公钥YS后,提取自己的公钥(XS,YS)和私钥(xS,dS),并对公钥进行公布,对私钥进行保存,然后退出发送者注册过程;
其中,(XS,YS)表示发送者S的公钥,包含发送者S的秘密值公钥XS和发送者S的部分公钥YS两部分,(xS,dS)表示发送者S的私钥,包含发送者S的秘密值xS和发送者S的部分私钥dS两部分。
步骤3,接收者注册。
第一步,接收者Ri随机选取整数xi∈Zp *作为自己的秘密值,表示其私钥的一部分,并计算自己相应的秘密值公钥Xi=xiP;
其中,xi表示第i个接收者Ri的秘密值,∈表示限定域符号,Zp *表示基于大素数p构成的非零乘法群,Xi表示第i个接收者Ri的秘密值公钥,P表示密钥生成中心KGC选取的加法循环群Gp的生成元。
第二步,接收者Ri向密钥生成中心KGC提交自己的身份信息IDi和自己的秘密值公钥Xi,密钥生成中心KGC收到接收者Ri提交的身份信息IDi和秘密值公钥Xi后,选取整数ui∈Zp *,并计算接收者Ri的私钥验证参数Qi=uiP和接收者Ri的部分私钥di
di=ui+s+H0(IDi,Qi,Xi)
其中,di表示第i个接收者Ri的部分私钥,ui表示密钥生成中心KGC为第i个接收者Ri选取的整数,s表示密钥生成中心KGC选取的密码系统主密钥,H0表示密码单向哈希函数,由密钥生成中心KGC构造,IDi表示第i个接收者Ri的身份信息,Qi表示第i个接收者Ri的私钥验证参数,Xi表示第i个接收者Ri的秘密值公钥;
密钥生成中心KGC将接收者Ri的私钥验证参数Qi和接收者Ri的部分私钥di通过安全信道发送给接收者Ri,接收者Ri收到密钥生成中心KGC发送过来的私钥验证参数Qi和部分私钥di后,判断收到的密钥生成中心KGC发送过来的接收者Ri的部分私钥di是否满足以下等式:
Qi+Ppub+H0(IDi,Qi,Xi)P=diP
若是,则执行本步骤的第三步;否则,向密钥生成中心KGC报错,并退出接收者注册过程;
其中,Qi表示第i个接收者Ri的私钥验证参数,Ppub表示密钥生成中心KGC生成的密码系统公钥,H0表示密码单向哈希函数,由密钥生成中心KGC构造,IDi表示第i个接收者Ri的身份信息,Xi表示第i个接收者Ri的秘密值公钥,di表示第i个接收者Ri的部分私钥,P表示密钥生成中心KGC选取的加法循环群Gp的生成元。
第三步,接收者Ri将自己的身份信息IDi和秘密值公钥Xi发送给密钥生成中心KGC,密钥生成中心KGC收到接收者Ri的身份信息IDi和秘密值公钥Xi后,计算接收者Ri的部分公钥Yi=H0(IDi,Qi,Xi)P+Qi,并将其公开;
其中,Yi表示第i个接收者Ri的部分公钥,H0表示密码单向哈希函数,由密钥生成中心KGC构造,IDi表示第i个接收者Ri的身份信息,Qi表示第i个接收者Ri的私钥验证参数,Xi表示第i个接收者Ri的秘密值公钥,P表示密钥生成中心KGC选取的加法循环群Gp的生成元。
第四步,接收者Ri获取密钥生成中心KGC公开的自己的部分公钥Yi后,提取自己的公钥(Xi,Yi)和私钥(xi,di),并对公钥进行公布,对私钥进行保存,然后退出接收者Ri注册过程;
其中,(Xi,Yi)表示第i个接收者Ri的公钥,包含第i个接收者Ri的秘密值公钥Xi和第i个接收者Ri的部分公钥Yi两部分,(xi,di)表示第i个接收者Ri的私钥,包含第i个接收者Ri的秘密值xi和第i个接收者Ri的部分私钥di两部分。
步骤4,发送者签密。
发送者S通过步骤2获取自己的公钥(XS,YS)和私钥(xS,dS),并在步骤3中已注册的用户中选取n个接收者R1,R2,…,Rn;之后,发送者S选取整数r∈Zp *,计算群验证值U=rP,并计算与每一个接收者Ri之间的关联信息Ki=(r+r(xS+dS))(Xi+Yi+Ppub)和每一个接收者Ri的伪身份值αi=H1(U,Ki);
其中,r表示发送者S选取的整数,U表示群验证值,P表示密钥生成中心KGC选取的加法循环群Gp的生成元,Ki表示发送者S与第i个接收者Ri之间的关联信息,xS表示发送者S的秘密值,dS表示发送者S的部分私钥,Xi表示第i个接收者Ri的秘密值公钥,Yi表示第i个接收者Ri的部分公钥,Ppub表示密钥生成中心KGC生成的密码系统公钥,αi表示第i个接收者Ri的伪身份值,H1表示密码单向哈希函数,由密钥生成中心KGC构造,i=1,2,…,n,n表示发送者S在已注册的用户中选取的接收者的数目;
发送者S选取整数θ∈Zp *,构造接收者身份信息混合值f(t):
其中,f(t)表示接收者身份信息混合值,t表示自变量,∏表示连乘操作,αi表示第i个接收者Ri的伪身份值,θ表示发送者S选取的整数,mod表示求模操作,P表示密钥生成中心KGC选取的加法循环群Gp的生成元,c0,c1,…,cn-1表示接收者身份信息混合值f(t)的系数,i=1,2,…,n,n表示发送者S在已注册的用户中选取的接收者的数目;
发送者S计算对称密钥k=H2(U,θ)、加密消息密文δ=Ek(m)、密文有效性参数λ=H3(c0,c1,...,cn-1,U,m,θ,δ)以及签名参数W=r(XS+YS+Ppub);
其中,k表示对称密钥,H2和H3分别表示密码单向哈希函数,由密钥生成中心KGC构造,U表示群验证值,θ表示发送者S选取的整数,δ表示加密消息密文,Ek表示对称加密算法,m表示明文消息,λ表示密文有效性参数,c0,c1,…,cn-1表示接收者身份信息混合值f(t)的系数,W表示发送者S的签名参数,r表示发送者S选取的整数,XS表示发送者S的秘密值公钥,YS表示发送者S的部分公钥,Ppub表示密钥生成中心KGC生成的密码系统公钥;
发送者S构造签密密文C=<U,W,δ,λ,c0,c1,...,cn-1>,并对签密密文进行广播。
步骤5,接收者解签密。
每一个接收者Ri收到签密密文C后,计算其与发送者S之间的关联信息Ki=(U+W)(xi+di)以及伪身份值αi=H1(U,Ki);
其中,Ki表示发送者S与第i个接收者Ri之间的关联信息,U表示群验证值,W表示发送者S的签名参数,xi表示第i个接收者Ri的秘密值,di表示第i个接收者Ri的部分私钥,αi表示第i个接收者Ri的伪身份值,H1表示密码单向哈希函数,由密钥生成中心KGC构造,i=1,2,…,n,n表示发送者S在已注册的用户中选取的接收者的数目。
接收者Ri计算发送者S随机选取的整数θ=f(αi)、对称密钥k=H2(U,θ)、解密得到的消息m′=Dk(δ)以及密文有效性参数λ′=H3(c0,c1,...,cn-1,U,m′,θ,δ);
其中,θ表示发送者S选取的整数,f(t)表示接收者身份信息混合值,t表示自变量,αi表示第i个接收者Ri的伪身份值,i=1,2,…,n,n表示发送者S在已注册的用户中选取的接收者的数目,k表示对称密钥,H2和H3分别表示密码单向哈希函数,由密钥生成中心KGC构造,U表示群验证值,m′表示解密得到的明文消息,Dk表示与Ek相对应的对称解密算法,δ表示加密消息密文,λ′表示由解密得到的明文消息计算得到的密文有效性参数,c0,c1,…,cn-1表示接收者身份信息混合值f(t)的系数。
步骤6,接收者Ri对步骤5中算得的密文有效性参数λ′与所收到的来自发送者的签密密文C中的密文有效性参数λ进行比较,若相等,则接收解密得到的明文消息m′,并退出解签密过程;若不相等,解密失败,并退出解签密过程。

Claims (1)

1.一种全匿名无证书的多接收者签密方法,其特征在于包括以下步骤:
(1)用户注册:
用户包括发送者和接收者,通过执行以下步骤来分别获得自己的公钥和私钥;
(1a)用户随机选取一个整数x作为自己的秘密值,并计算自己相应的秘密值公钥X=xP;
其中,x表示用户的秘密值,X表示用户的秘密值公钥,P表示密钥生成中心KGC选取的加法循环群Gp的生成元;
(1b)用户向密钥生成中心KGC提交自己的身份信息ID和自己的秘密值公钥X;
(1c)密钥生成中心KGC收到用户提交的身份信息ID和秘密值公钥X后,选取整数u,并计算用户的私钥验证参数Q=uP和用户的部分私钥d=u+s+H0(ID,Q,X);
其中,x表示用户的秘密值,X表示用户的秘密值公钥,P表示密钥生成中心KGC选取的加法循环群Gp的生成元,ID表示用户的身份信息,u表示密钥生成中心KGC为用户选取的整数,Q表示用户的私钥验证参数,d表示用户的部分私钥,s表示密钥生成中心KGC选取的密码系统主密钥,H0表示密码单向哈希函数,由密钥生成中心KGC构造;
(1d)密钥生成中心KGC将用户的私钥验证参数Q和用户的部分私钥d通过安全信道发送给用户;
(1e)用户收到密钥生成中心KGC发送过来的私钥验证参数Q和部分私钥d后,判断收到的用户的部分私钥d是否满足以下等式:
Q+P+H0(ID,Q,X)P=dP
若是,则执行步骤(1f),否则,用户向密钥生成中心KGC报错,退出用户注册过程;
其中,Q表示用户的私钥验证参数,P表示密钥生成中心KGC选取的加法循环群Gp的生成元,H0表示密码单向哈希函数,由密钥生成中心KGC构造,ID表示用户的身份信息,X表示用户的秘密值公钥,d表示用户的部分私钥;
(1f)用户将自己的身份信息ID和秘密值公钥X发送给密钥生成中心KGC;
(1g)密钥生成中心KGC收到用户身份信息ID和秘密值公钥X后,计算用户的部分公钥Y=H0(ID,Q,X)P+Q,并将其公开;
其中,Y表示用户的部分公钥,H0表示密码单向哈希函数,由密钥生成中心KGC构造,ID表示用户的身份信息,Q表示用户的私钥验证参数,X表示用户的秘密值公钥,P表示密钥生成中心KGC选取的加法循环群Gp的生成元;
(1h)用户获取密钥生成中心KGC公开的自己的部分公钥Y后,提取自己的公钥(X,Y)和私钥(x,d),并对公钥进行公布,对私钥进行保存,然后退出用户注册过程;
其中,(X,Y)表示用户的公钥,包含用户的秘密值公钥X和用户的部分公钥Y两部分,(x,d)表示用户的私钥,包含用户的秘密值x和用户的部分私钥d两部分;
(2)发送者签密:
(2a)发送者S判断自己是否已经执行步骤(1)的用户注册过程,若已执行,则直接获取自己的公钥(XS,YS)和私钥(xS,dS),然后执行步骤(2b);若没有,发送者S先执行步骤(1)的用户注册过程获取自己的公钥(XS,YS)和私钥(xS,dS),然后执行步骤(2b);
其中,(XS,YS)表示发送者S的公钥,包含发送者S的秘密值公钥XS,和发送者S的部分公钥YS两部分,(xS,dS)表示发送者的私钥,包含发送者S的秘密值xS和发送者S的的部分私钥dS两部分;
(2b)发送者S在已注册的用户中选取n个接收者R1,R2,…,Rn,其中n表示大于0的整数;
(2c)发送者S选取整数r,并计算群验证值U=rP;
其中,r表示发送者S选取的整数,U表示群验证值,P表示密钥生成中心KGC选取的加法循环群Gp的生成元;
(2d)按照下式,发送者S计算与每一个接收者Ri之间的关联信息Ki
Ki=(r+r(xS+dS))(Xi+Yi+Ppub)
其中,Ki表示发送者S与第i个接收者Ri之间的关联信息,r表示发送者S选取的整数,xS表示发送者S的秘密值,dS表示发送者S的部分私钥,Xi表示第i个接收者Ri的秘密值公钥,Yi表示第i个接收者Ri的部分公钥,Ppub表示密钥生成中心KGC生成的密码系统公钥,i=1,2,…,n,n表示发送者S在已注册的用户中选取的接收者的数目;
(2e)按照下式,发送者S计算每一个接收者Ri的伪身份值αi
αi=H1(U,Ki)
其中,αi表示第i个接收者Ri的伪身份值,H1表示密码单向哈希函数,由密钥生成中心KGC构造,U表示群验证值,Ki表示发送者S与第i个接收者Ri之间的关联信息,i=1,2,…,n,n表示发送者S在已注册的用户中选取的接收者的数目;
(2f)发送者S选取整数θ,按照下式,发送者S构造f(t)作为接收者身份信息混合值:
其中,f(t)表示接收者身份信息混合值,t表示自变量,∏表示连乘操作,αi表示第i个接收者Ri的伪身份值,θ表示发送者S选取的整数,mod表示求模操作,p表示密钥生成中心KGC选取的大素数,i=1,2,…,n,n表示发送者S在已注册的用户中选取的接收者的数目;
(2g)按照下式,发送者S计算对称密钥k:
k=H2(U,θ)
其中,k表示对称密钥,H2表示密码单向哈希函数,由密钥生成中心KGC构造,U表示群验证值,θ表示发送者S选取的整数;
(2h)按照下式,发送者S计算加密消息密文δ:
δ=Ek(m)
其中,k表示对称密钥,δ表示加密消息密文,Ek表示对称加密算法,m表示明文消息;
(2i)按照下式,发送者S计算密文有效性参数λ:
λ=H3(c0,c1,...,cn-1,U,m,θ,δ)
其中,λ表示密文有效性参数,H3表示密码单向哈希函数,由密钥生成中心KGC构造,c0,c1,…,cn-1表示接收者身份信息混合值f(t)的系数,U表示群验证值,m表示明文消息,θ表示发送者S选取的整数,δ表示加密消息密文;
(2j)发送者S计算签名参数W:
W=r(XS+YS+Ppub),
其中,W表示发送者S的签名参数,r表示发送者S选取的整数,XS表示发送者S的秘密值公钥,YS表示发送者S的部分公钥,Ppub表示密钥生成中心KGC生成的密码系统公钥;
(2k)发送者S将群验证值U、签名参数W、加密消息密文δ、密文有效性参数λ、接收者身份信息混合值f(t)的系数c0,c1,…,cn-1构成签密密文C=<U,W,δ,λ,c0,c1,…cn-1>,并对签密密文C进行广播;
(3)接收者解签密:收到签密密文C后,每一个接收者Ri通过以下步骤进行解签密,其中i=1,2,…,n:
(3a)按照下式,接收者Ri计算其与发送者S之间的关联信息Ki
Ki=(U+W)(xi+di)
其中,Ki表示发送者S与第i个接收者Ri之间的关联信息,U表示群验证值,W表示用户的签名参数,xi表示第i个接收者Ri的秘密值,di表示第i个接收者Ri的部分私钥,i=1,2,…,n,n表示发送者S在已注册的用户中选取的接收者的数目;
(3b)按照下式,接收者Ri计算伪身份值αi
αi=H1(U,Ki)
其中,αi表示第i个接收者Ri的伪身份值,H1表示密码单向哈希函数,由密钥生成中心KGC构造,U表示群验证值,Ki表示发送者S与第i个接收者Ri之间的关联信息,i=1,2,…,n,n表示发送者S在已注册的用户中选取的接收者的数目;
(3c)接收者Ri计算发送者S选取的整数θ:
θ=f(αi)
其中,θ表示发送者S选取的整数,f(t)表示接收者身份信息混合值,t表示自变量,αi表示第i个接收者Ri的伪身份值;
(3d)按照下式,接收者Ri计算对称密钥k:
k=H2(U,θ)
其中,k表示对称密钥,H2表示密码单向哈希函数,由密钥生成中心KGC构造,U表示群验证值,θ表示发送者S选取的整数;
(3e)按照下式,接收者Ri解密密文得消息m′:
m′=Dk(δ)
其中,k表示对称密钥,δ表示加密消息密文,Dk表示与Ek相对应的对称解密算法,m′表示解密得到的明文消息;
(3f)按照下式,接收者Ri计算密文有效性参数λ′:
λ′=H3(c0,c1,...,cn-1,U,m′,θ,δ)
其中,λ′表示由解密得到的明文消息计算得到的密文有效性参数,H3表示密码单向哈希函数,由密钥生成中心KGC构造,c0,c1,…,cn-1表示接收者身份信息混合值f(t)的系数,U表示群验证值,m′表示解密得到的明文消息,θ表示发送者S选取的整数,δ表示加密消息密文;
(3g)接收者Ri对(3f)中算得的密文有效性参数λ′与所收到的来自发送者的签密密文C中的密文有效性参数λ进行比较,若相等,则接收解密得到的明文消息m′,并退出解签密过程;若不相等,解密失败,并退出解签密过程。
CN201710815078.2A 2017-09-12 2017-09-12 全匿名无证书的多接收者签密方法 Active CN107438006B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710815078.2A CN107438006B (zh) 2017-09-12 2017-09-12 全匿名无证书的多接收者签密方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710815078.2A CN107438006B (zh) 2017-09-12 2017-09-12 全匿名无证书的多接收者签密方法

Publications (2)

Publication Number Publication Date
CN107438006A CN107438006A (zh) 2017-12-05
CN107438006B true CN107438006B (zh) 2019-09-03

Family

ID=60462013

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710815078.2A Active CN107438006B (zh) 2017-09-12 2017-09-12 全匿名无证书的多接收者签密方法

Country Status (1)

Country Link
CN (1) CN107438006B (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110278081B (zh) * 2018-03-14 2021-09-17 西安西电捷通无线网络通信股份有限公司 一种群组数字签名的控制方法和设备
CN108696362B (zh) * 2018-05-04 2021-06-08 西安电子科技大学 可更新密钥的无证书多消息多接收者签密方法
CN108809650B (zh) * 2018-05-04 2021-04-13 西安电子科技大学 无安全信道的无证书匿名多接收者签密方法
CN110233725B (zh) * 2019-05-29 2021-10-19 西安邮电大学 多源网络编码的同态无证书签名方法
JP2020195100A (ja) * 2019-05-29 2020-12-03 株式会社bitFlyer Blockchain 公開鍵の信頼性を証明するための装置、方法及びそのためのプログラム
CN110380862B (zh) * 2019-06-25 2022-10-14 晟安信息技术有限公司 基于隐式证书的签名验证方法、装置和计算机设备
CN110868297A (zh) * 2019-11-19 2020-03-06 南昌航空大学 一种提高rsa反向解密难度的方法
CN111079178B (zh) * 2019-12-12 2022-07-08 中国中医科学院 一种可信电子病历脱敏和回溯方法
CN111262709B (zh) * 2020-01-17 2022-05-10 铜陵学院 基于陷门哈希函数的无证书签密系统及方法
CN111245625B (zh) * 2020-01-20 2023-10-20 陕西师范大学 无证书聚合的数字签名方法
CN111464292B (zh) * 2020-03-24 2023-04-18 国网山东省电力公司 一种无证书公钥可搜索加密方法和系统
CN111934887B (zh) * 2020-08-10 2022-03-04 西安电子科技大学 基于插值多项式的多接受者签密方法
CN113300835B (zh) * 2021-04-22 2022-05-17 中国科学院信息工程研究所 一种加密方案接收者确定方法、主动秘密分享方法
CN114598460B (zh) * 2022-02-18 2023-05-16 中国人民解放军战略支援部队信息工程大学 基于sm9的多接收者签密方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103312506A (zh) * 2013-05-06 2013-09-18 西安电子科技大学 接收者身份匿名的多接收者签密方法
CN105429941A (zh) * 2015-10-27 2016-03-23 西安电子科技大学 多接收者身份匿名签密方法
CN106027239A (zh) * 2016-06-30 2016-10-12 西安电子科技大学 基于椭圆曲线的无密钥托管问题的多接收者签密方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103312506A (zh) * 2013-05-06 2013-09-18 西安电子科技大学 接收者身份匿名的多接收者签密方法
CN105429941A (zh) * 2015-10-27 2016-03-23 西安电子科技大学 多接收者身份匿名签密方法
CN106027239A (zh) * 2016-06-30 2016-10-12 西安电子科技大学 基于椭圆曲线的无密钥托管问题的多接收者签密方法

Also Published As

Publication number Publication date
CN107438006A (zh) 2017-12-05

Similar Documents

Publication Publication Date Title
CN107438006B (zh) 全匿名无证书的多接收者签密方法
CN106027239B (zh) 基于椭圆曲线的无密钥托管问题的多接收者签密方法
CN107682145B (zh) 真实匿名的无证书多消息多接收者签密方法
Susilo et al. Identity-based strong designated verifier signature schemes
CN106936593A (zh) 基于椭圆曲线高效匿名的无证书多接收者签密方法
Boneh et al. Chosen-ciphertext security from identity-based encryption
CN107707358B (zh) 一种ec-kcdsa数字签名生成方法及系统
CN105429941B (zh) 多接收者身份匿名签密方法
Huang et al. Short (identity-based) strong designated verifier signature schemes
CN103312506B (zh) 接收者身份匿名的多接收者签密方法
EP2792098B1 (en) Group encryption methods and devices
CN107659395A (zh) 一种多服务器环境下基于身份的分布式认证方法及系统
Yuan et al. Certificateless signature scheme with security enhanced in the standard model
CN108833345B (zh) 可追踪匿名发送者身份的无证书多接收者签密方法
CN105743641B (zh) 一种可显式验证公钥的多接收者签密方法
WO2006070682A1 (ja) 制限付ブラインド署名システム
CN108696362B (zh) 可更新密钥的无证书多消息多接收者签密方法
CN104767611A (zh) 一种从公钥基础设施环境到无证书环境的签密方法
CN108809650A (zh) 无安全信道的无证书匿名多接收者签密方法
Yuen et al. Constant-size hierarchical identity-based signature/signcryption without random oracles
Zhang et al. Security analysis of a multi-use identity based CCA-secure proxy re-encryption scheme
Qu et al. Optimistic fair exchange of ring signatures
Qin et al. A new identity based signcryption scheme in the standard model
Zhang et al. Towards confidentiality of id-based signcryption schemes under without random oracle model
Ki et al. Privacy-enhanced deniable authentication e-mail service

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