CN106936593B - 基于椭圆曲线高效匿名的无证书多接收者签密方法 - Google Patents

基于椭圆曲线高效匿名的无证书多接收者签密方法 Download PDF

Info

Publication number
CN106936593B
CN106936593B CN201710332215.7A CN201710332215A CN106936593B CN 106936593 B CN106936593 B CN 106936593B CN 201710332215 A CN201710332215 A CN 201710332215A CN 106936593 B CN106936593 B CN 106936593B
Authority
CN
China
Prior art keywords
sender
user
receiver
private key
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
CN201710332215.7A
Other languages
English (en)
Other versions
CN106936593A (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.)
Xian University of Electronic Science and Technology
Original Assignee
Xian University of Electronic Science and Technology
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 Xian University of Electronic Science and Technology filed Critical Xian University of Electronic Science and Technology
Priority to CN201710332215.7A priority Critical patent/CN106936593B/zh
Publication of CN106936593A publication Critical patent/CN106936593A/zh
Application granted granted Critical
Publication of CN106936593B publication Critical patent/CN106936593B/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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Mathematical Physics (AREA)
  • Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Computing Systems (AREA)
  • Mathematical Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Algebra (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种基于椭圆曲线高效匿名的无证书多接收者签密方法,用于解决现有无证书多接收者签密方法运算效率低的技术问题。技术方案是首先将私钥生成中心PKG生成的用户公钥和部分私钥发送给用户,用户收到后,计算自己的私钥,同时验证接收到的公钥和部分私钥是否成立,若成立,则继续,否则停止操作;接下来不仅将签密算法设计在椭圆曲线上,而且密文信息中不包括发送者和接收者的身份信息,最后广播密文消息,只有授权的接收者可以公平的解密验证密文消息。本发明虽然签密过程设计在椭圆曲线上,但是减少了椭圆曲线上的数乘运算,提高了计算效率。

Description

基于椭圆曲线高效匿名的无证书多接收者签密方法
技术领域
本发明涉及一种无证书多接收者签密方法,特别是涉及一种基于椭圆曲线高效匿名的无证书多接收者签密方法。
背景技术
文献“Anonymous and Provably Secure Certificateless MultireceiverEncryption without Bilinear Pairing,Security and communication networks,2015,8(13):2214-2231.”中提出了一种匿名安全的无双线性对的无证书多接收者加密方法。该方法利用拉格朗日多项式对接收者的身份信息进行隐藏,使得密文信息中不包括接收者和发送者的身份信息,但是无法确认消息的来源,不能保证消息的正确性;将加密算法设计在椭圆曲线上,但是椭圆曲线的数乘运算比较多,另外用户的公钥和私钥是由私钥生成中心PKG(Private Key Generator)和用户共同生成的,是成对出现的,导致在加密的过程中需要的参数比较多,运算效率过低。
发明内容
为了克服现有无证书多接收者签密方法运算效率低的不足,本发明提供一种基于椭圆曲线高效匿名的无证书多接收者签密方法。该方法首先将私钥生成中心PKG生成的用户公钥和部分私钥发送给用户,用户收到后,计算自己的私钥,同时验证接收到的公钥和部分私钥是否成立,若成立,则继续,否则停止操作;接下来不仅将签密算法设计在椭圆曲线上,而且密文信息中不包括发送者和接收者的身份信息,最后广播密文消息,只有授权的接收者可以公平的解密验证密文消息。本发明虽然签密过程设计在椭圆曲线上,但是减少了椭圆曲线上的数乘运算,提高了计算效率。
本发明解决其技术问题所采用的技术方案是:一种基于椭圆曲线高效匿名的无证书多接收者签密方法,其特点是包括以下步骤:
步骤一、私钥生成中心PKG选取大素数p,选择阶为大素数p的有限域Fp和安全的椭圆曲线E(Fp)以及加法循环群Gp,选取加法循环群Gp上的生成元P;
其中,Fp表示阶为大素数p的有限域,P表示加法循环群Gp上的生成元;
步骤二、私钥生成中心PKG选取***主密钥s∈Zp *,计算Ppub=sP作为***公钥,并将***主密钥s安全保存;
其中,∈表示限定域符号,Zp *表示基于大素数p构成的非零乘法群,Ppub表示***公钥;
步骤三、私钥生成中心PKG构造5个抗碰撞的哈希函数,分别记为:其中λ1=|ID|; 其中λ2=|m|;
其中,H0,H1,H2,H3,H4表示抗碰撞的哈希函数,A→B表示定义域A到值域B的映射,表示长为λ1的0或1构成的串,λ1=|ID|表示用户的身份信息的长度,表示长为λ2的0或1构成的串,λ2=|m|表示明文消息的长度,×表示笛卡尔乘积;
步骤四、私钥生成中心PKG选取安全的对称加密函数Ek(.)和对称解密函数Dk(.);
其中,k表示对称密钥;
步骤五、私钥生成中心PKG公布阶为大素数p的有限域Fp,加法循环群Gp,加法循环群Gp上的生成元P,安全的椭圆曲线E(Fp),5个抗碰撞的哈希函数H0,H1,H2,H3,H4,对称加密函数Ek(.),对称解密函数Dk(.),***公钥Ppub,安全保存***主密钥s;
步骤六、用户注册步骤中的用户包括接收者和发送者,均需通过执行下列步骤获取自己的公钥和私钥;
步骤七、用户随机的选取一个整数v∈Zp *作为秘密值;
其中,v表示用户随机选择的秘密值;
步骤八、按照下式,计算用户的验证份额V:
V=vP
步骤九、用户将自己的验证份额V和自己的身份信息ID发送给私钥生成中心PKG;
步骤十、私钥生成中心PKG收到用户的验证份额V和用户的身份信息ID后,随机选取整数d∈Zp *,按照下式计算用户的公钥PK:
PK=H0(ID,d)P+H1(ID,V)V
其中,d表示私钥生成中心PKG随机选取的整数,H0,H1表示抗碰撞的哈希函数;
步骤十一、按照下式,私钥生成中心PKG计算用户的部分私钥T:
T=H0(ID,d)+s(mod p)
其中,H0表示抗碰撞的哈希函数,mod表示求模操作;
步骤十二、私钥生成中心PKG将用户的部分私钥T和用户的公钥PK发送给用户,其中用户的部分私钥T通过安全信道发送给用户;
步骤十三、用户收到私钥生成中心PKG发送的用户的部分私钥T和用户的公钥PK,按照下式计算用户的私钥SK:
SK=T+H1(ID,V)v(mod p)
步骤十四、用户判断收到的公钥PK和部分私钥T是否满足如下等式,若是,则执行步骤十五,否则,则执行步骤十六:
v(PK+Ppub)=V(T+H1(ID,V)v)
其中,Ppub表示***公钥,V表示用户的验证份额,T表示用户的部分私钥,H1表示抗碰撞的哈希函数,ID表示用户的身份信息;
步骤十五、用户将公钥PK发送给私钥生成中心PKG,并由私钥生成中心PKG对外公布用户的公钥PK,用户安全保存自己的私钥SK,之后退出用户注册过程;
步骤十六、用户向私钥生成中心PKG报错,并退出用户注册过程;
步骤十七、发送者S判断自己是否已经执行用户注册过程,若是,利用自己的公钥PKS和私钥SKS,执行步骤十八,否则,发送者S执行用户注册过程获取自己的公钥PKS和私钥SKS后,再执行步骤十八;
步骤十八、发送者S随机选取n个接收者L1,L2,...,Ln,其中,n表示大于0的整数;
步骤十九、按照下式,对每一个i=1,2,…,n,发送者S计算第i个接收者Li的伪公钥Qi
Qi=PKi+Ppub
其中,Qi表示第i个接收者Li的伪公钥,n表示发送者S随机选取的接收者的数目,PKi表示第i个接收者Li的公钥,Ppub表示***公钥;
步骤二十、发送者S随机选择整数r∈Zp *,按照下式计算发送者S的签密验证份额R:
R=rP
其中,r表示发送者S随机选择的整数,R表示发送者S的签密验证份额;
步骤二十一、按照下式,对每一个i=1,2,…,n,计算第i个接收者Li的签密验证份额Fi
Fi=rQi
其中,Fi表示第i个接收者Li的签密验证份额,n表示发送者S随机选取的接收者的数目,Qi表示第i个接收者Li的伪公钥;
步骤二十二、按照下式,对每一个i=1,2,…,n,发送者S计算第i个接收者Li的伪身份值αi
αi=H2(Fi,R)
其中,αi表示第i个接收者Li的伪身份值,H2表示抗碰撞的哈希函数,Fi表示第i个接收者Li的签密验证份额,n表示发送者S随机选取的接收者的数目;
步骤二十三、发送者S随机选择整数δ∈Zp *作为伪密钥后,按照下式,发送者S构造接收者身份信息混合值f(x):
其中,δ表示发送者S随机选取的伪密钥,f(x)表示接收者身份信息混合值,x表示自变量,∏表示连乘操作,n表示发送者S随机选取的接收者的数目,αi表示第i个接收者Li的伪身份值,mod表示求模操作,c0,c1,...,cn-1表示接收者身份信息混合值f(x)各项的系数;
步骤二十四、按照下式,发送者S计算对称密钥k:
k=H3(δ)
其中,H3表示抗碰撞的哈希函数;
步骤二十五、发送者S按照下式计算密文消息J:
J=Ek(m)
其中,Ek(.)表示对称加密函数,m表示明文消息;
步骤二十六、按照下式,发送者S计算密文的有效性参数γ:
γ=H4(m,δ,c0,c1,...,cn-1,J,R)
其中,γ表示密文的有效性参数,H4表示抗碰撞的哈希函数;
步骤二十七、按照下式,发送者S计算验证发送者S身份的有效性参数τ:
τ=H4(J,σ,γ,R)
其中,H4表示抗碰撞的哈希函数,J表示密文消息,σ=(c0,c1,...,cn-1)表示接收者身份信息混合值f(x)各项的系数的集合;
步骤二十八、按照下式,发送者S计算发送者S的伪私钥w:
w=SKS+τr(modp)
其中,SKS表示发送者S的私钥;
步骤二十九、按照下式,发送者S计算发送者S身份的验证份额W:
W=wP-Ppub
其中,w表示发送者S的伪私钥,Ppub表示***公钥;
步骤三十、发送者S将密文消息J、发送者S的签密验证份额R、接收者身份信息混合值f(x)的系数c0,c1,…,cn-1、密文的有效性参数γ、发送者S身份的验证份额W作为签密密文C,并将签密密文C进行广播给接收者;
步骤三十一、接收者Li判断自己是否已经执行用户注册过程,若是,利用自己的公钥PKi和私钥SKi,执行步骤三十二,否则,接收者Li执行用户注册过程获取自己的公钥PKi和私钥SKi后,再执行步骤三十二;
步骤三十二、按照下式,接收者Li计算自己的签密验证份额Fi
Fi=SKiR
其中,Fi表示接收者Li的签密验证份额,SKi表示接收者Li的私钥,R表示发送者S的签密验证份额;
步骤三十三、按照下式,接收者Li计算自己的伪身份值αi
αi=H2(Fi,R)
其中,αi表示接收者Li的伪身份值,H2表示抗碰撞的哈希函数,Fi表示接收者Li的签密验证份额,i=1,2,…,n,n表示发送者S随机选取的接收者的数目,R表示发送者S的签密验证份额;
步骤三十四、按照下式,接收者Li计算接收者身份信息混合值f(x):
f(x)=xn+cn-1xn-1+...+c1x+c0
其中,f(x)表示接收者身份信息混合值,x表示自变量,n表示发送者S随机选取的接收者的数目,c0,c1,...,cn-1表示接收者身份信息混合值f(x)各项的系数;
步骤三十五、按照下式,接收者Li计算发送者S随机选取的伪密钥δ:
δ=f(αi)
其中,δ表示发送者S随机选取的伪密钥,f(x)表示接收者身份信息混合值,x表示自变量,αi表示接收者Li的伪身份值;
步骤三十六、按照下式,接收者Li计算对称密钥k:
k=H3(δ)
其中,k表示对称密钥,H3表示抗碰撞的哈希函数;
步骤三十七、按照下式,接收者Li计算明文消息m:
m=Dk(J)
其中,m表示明文消息,Dk(.)表示对称解密函数,J表示密文消息;
步骤三十八、按照下式,接收者Li计算密文的权限参数γ′:
γ′=H4(m,δ,c1,c2,...,cn-1,R,J)
其中,γ′表示密文的权限参数,H4表示抗碰撞的哈希函数;
步骤三十九、接收者判断密文的权限参数γ′与密文的有效性参数γ是否相等;若是,则执行步骤四十,否则,接收者Li拒绝明文消息m,并退出接收者解密过程;
步骤四十、按照下式,接收者Li计算验证发送者S身份的权限参数τ′:
τ′=H4(J,σ,γ′,R)
其中,τ′表示验证发送者S身份的权限参数,H4表示抗碰撞的哈希函数,J表示密文消息,σ=(c0,c1,...,cn-1)表示接收者身份信息混合值f(x)各项的系数的集合,c0,c1,…,cn-1表示接收者身份信息混合值f(x)各项的系数,γ′表示密文的权限参数,R表示发送者S的签密验证份额;
步骤四十一、按照下式,接收者Li计算发送者S身份的有效性验证份额W':
W′=τ′R+PKS
其中,W'表示发送者S身份的有效性验证份额,τ′表示验证发送者S身份的权限参数,R表示发送者S的签密验证份额,PKs表示发送者S的公钥;
步骤四十二、接收者Li判断发送者S身份的验证份额W与发送者S身份的有效性验证份额W'是否相等,若是,说明发送者S的身份通过验证,接收者Li确定接受发送者S发送的明文消息m,并退出接收者的解密过程,否则,说明发送者S的身份验证不通过,接收者Li拒绝发送者S发送的明文消息m,并退出接收者的解密过程。
本发明的有益效果是:该方法首先将私钥生成中心PKG生成的用户公钥和部分私钥发送给用户,用户收到后,计算自己的私钥,同时验证接收到的公钥和部分私钥是否成立,若成立,则继续,否则停止操作;接下来不仅将签密算法设计在椭圆曲线上,而且密文信息中不包括发送者和接收者的身份信息,最后广播密文消息,只有授权的接收者可以公平的解密验证密文消息。本发明虽然签密过程设计在椭圆曲线上,但是减少了椭圆曲线上的数乘运算,提高了计算效率。
第一,在现有技术中,用户的公钥和私钥是一对元素,导致在加解密的过程中需要的参数过多,有的现有技术中用户的公钥和私钥是一个元素,但是计算量比较大;本发明用户的公钥和私钥仅仅是一个元素,减少了参数的数量,同时解决了计算用户的公钥和私钥花费多的问题;
第二,在现有技术中,用户的公钥由私钥生成中心PKG和用户同时生成的,没有对私钥生成中心PKG生成的公钥进行验证,不能确定公钥的正确性,或者有的现有技术只对私钥生成中心PKG生成的部分私钥进行了验证;本发明对私钥生成中心PKG生成的用户的公钥和部分私钥进行验证,避免恶意的私钥生成中心PKG或者在传输的中攻击者的攻击;
第三,本发明利用拉格朗日多项式隐藏接收者的身份信息,采用发送者的私钥和发送者随机选择的整数计算发送者的伪私钥进行签密,不仅实现了接收者和发送者的匿名性,而且可以验证密文消息的来源是否是可靠的和正确的;
第四,本发明在整个签密操作的过程中椭圆曲线上数乘次数是(29.1n+58.1)Tm,背景技术中的数乘次数是(58.2n+29)Tm,本发明提高了签密操作的效率,故解决了签密过程中运算效率过低的问题。
下面结合具体实施方式对本发明作详细说明。
具体实施方式
名词解释:
PKG(Private Key Generator):私钥生成中心;
η:***安全参数;
p:大素数;
Fp:阶为大素数p的有限域;
Gp:加法循环群;
E(Fp):安全的椭圆曲线;
P:加法循环群Gp上的生成元;
s:***主密钥;
Ppub:***公钥;
∈:限定域符号,例如A∈B,就是A属于B;
Hi:抗碰撞的哈希函数,其中i=0,1,2,3,4;
A→B:定义域A到值域B的映射;
S:发送者;
Li:第i个接收者,i=1,2,…,n;
n:发送者S随机选取的接收者的数目;
ID:用户的身份信息;
IDS:发送者S的身份信息;
IDi:第i个接收者Li的身份信息,i=1,2,…,n;
λ1:用户的身份信息的长度,其中λ1=|ID|;
长为λ1的“0”或“1”构成的串;
m:明文消息;
λ2:明文消息的长度,其中λ2=|m|;
长为λ2的“0”或“1”构成的串;
×:笛卡尔乘积,例如集合A={a,b},集合B={0,1,2},则两个集合的笛卡尔积为{(a,0),(a,1),(a,2),(b,0),(b,1),(b,2)};
Zp *:基于大素数p构成的非零乘法群;
k:对称密钥;
Ek(.):对称加密函数;
Dk(.):对称解密函数;
Params:***参数;
v:用户的秘密值;
vS:发送者S的秘密值;
vi:第i个接收者Li的秘密值,i=1,2,…,n;
V:用户的验证份额;
VS:发送者S的验证份额;
Vi:第i个接收者Li的验证份额,i=1,2,…,n;
d:私钥生成中心PKG随机选取的整数;
dS:私钥生成中心PKG为发送者S随机选取的整数;
di:私钥生成中心PKG为第i个接收者Li随机选取的整数,i=1,2,…,n;
T:用户的部分私钥;
TS:发送者S的部分私钥;
Ti:第i个接收者Li的部分私钥,i=1,2,…,n;
PK:用户的公钥;
PKi:第i个接收者Li的公钥,i=1,2,…,n;
PKS:发送者S的公钥;
SK:用户的私钥;
SKi:第i个接收者Li的私钥,i=1,2,…,n;
SKS:发送者S的私钥;
Qi:第i个接收者Li的伪公钥,i=1,2,…,n;
r:发送者S随机选择的整数;
R:发送者S的签密验证份额;
Fi:第i个接收者Li的签密验证份额,i=1,2,…,n;
αi:第i个接收者Li的伪身份值,i=1,2,…,n;
δ:发送者S随机选取的伪密钥;
f(x):接收者身份信息混合值,其中x表示自变量;
∏:连乘操作,例如
mod:求模操作;
J:密文消息;
γ:密文的有效性参数;
γ′:密文的权限参数;
σ:接收者身份信息混合值f(x)各项的系数的集合,其中σ=(c0,c1,...,cn-1);
ci:接收者身份信息混合值f(x)各项的系数,i=0,1,…,n-1;
τ:验证发送者S身份的有效性参数;
τ′:验证发送者S身份的权限参数;
w:发送者S的伪私钥;
W:发送者S身份的验证份额;
W′:发送者S身份的有效性验证份额;
C:签密密文。
本发明基于椭圆曲线高效匿名的无证书多接收者签密方法具体步骤如下:
步骤1,生成***参数。
私钥生成中心PKG根据***安全参数η选取大素数p,选择阶为大素数p的有限域Fp和安全的椭圆曲线E(Fp)以及加法循环群Gp,选取加法循环群Gp上的生成元P,随机选取***主密钥s∈Zp *并安全保存,计算***公钥Ppub=sP,构造5个抗碰撞的哈希函数,分别记为:其中λ1=|ID|;其中λ2=|m|;
其中,η表示***安全参数,p表示大素数,Fp表示阶为大素数p的有限域,Gp表示加法循环群,P表示加法循环群Gp的生成元,E(Fp)表示安全的椭圆曲线,s表示***主密钥,H0,H1,H2,H3,H4表示抗碰撞的哈希函数,A→B表示定义域A到值域B的映射,表示长为λ1的“0”或“1”构成的串,λ1=|ID|表示用户的身份信息的长度,表示长为λ2的“0”或“1”构成的串,λ2=|m|表示明文消息的长度,×表示笛卡尔乘积,Zp *表示基于大素数p构成的非零乘法群,∈表示限定域符号,Ppub表示***公钥;
私钥生成中心PKG从现有的对称加密算法中任意选取一种安全的对称加密函数Ek(.),并选取与该对称加密算法对应的对称解密函数Dk(.);
其中,Ek(.)表示对称加密函数,Dk(.)表示对称解密函数,k表示对称密钥;
私钥生成中心PKG构造并公开***参数Params,***参数的构造方法为:
Params=〈Fp,E(Fp),Gp,P,Ppub,Ex(.),Dx(.),H0,H1,H2,H3,H4>
同时私钥生成中心PKG安全保存***主密钥s。
步骤2,发送者S注册。
第一步,发送者S随机选取整数vS∈Zp *作为秘密值,并计算自己的验证份额VS为:
VS=vSP
其中,vS表示发送者S的秘密值,VS表示发送者S的验证份额;
第二步,发送者S将自己的验证份额VS和身份信息IDS发送给私钥生成中心PKG,私钥生成中心PKG接收到发送者S的验证份额VS和身份信息IDS后,随机选取整数dS∈Zp *,计算发送者S的公钥:
PKS=H0(IDS,dS)P+H1(IDS,VS)VS
私钥生成中心PKG计算发送者S的部分私钥:
TS=H0(IDS,dS)+s(mod p)
其中,dS表示私钥生成中心PKG为发送者S随机选取的整数,PKS表示发送者S的公钥,IDS表示发送者S的身份信息,TS表示发送者S的部分私钥,mod表示求模操作;
私钥生成中心PKG将发送者S的部分私钥TS、发送者S的公钥PKS发送给发送者S,发送者S接收后,计算自己的私钥:
SKS=TS+H1(IDS,VS)vS(mod p)
其中,SKS表示发送者S的私钥;
发送者S判断自己的公钥PKS和部分私钥TS是否满足验证条件:
vS(PKS+Ppub)=VS(TS+H1(IDS,VS)vS)
若满足,则发送者S通知私钥生成中心PKG执行本步骤的第三步,否则,向私钥生成中心PKG报错,并退出发送者S注册过程;
第三步,发送者S将自己的公钥PKS发送给私钥生成中心PKG,并由私钥生成中心PKG对外公布发送者S的公钥PKS,同时,发送者S安全保存自己的私钥SKS,并退出发送者S注册过程。
步骤3,接收者Li注册。
第一步,接收者Li随机选取整数vi∈Zp *作为秘密值,并计算自己的验证份额Vi
Vi=viP
其中,vi表示接收者Li的秘密值,Vi表示接收者Li的验证份额;
第二步,接收者Li将自己的验证份额Vi和身份信息IDi发送给私钥生成中心PKG,私钥生成中心PKG接收到接收者Li发送的验证份额Vi和身份信息IDi后,私钥生成中心PKG随机选取整数di∈Zp *,计算第i个接收者Li的公钥:
PKi=H0(IDi,di)P+H1(IDi,Vi)Vi
私钥生成中心PKG计算第i个接收者Li的部分私钥:
Ti=H0(IDi,di)+s(mod p);
其中,di表示私钥生成中心PKG为接收者Li随机选取的整数,PKi表示接收者Li的公钥,IDi表示接收者Li的身份信息,Ti表示接收者Li的部分私钥;
私钥生成中心PKG将接收者Li的部分私钥Ti和公钥PKi发送给接收者Li,接收者Li接收后,计算自己的私钥SKi
SKi=Ti+H1(IDi,Vi)vi(mod p)
其中,SKi表示接收者Li的私钥;
接收者Li判断自己的公钥PKi是否满足验证条件:
vi(PKi+Ppub)=Vi(Ti+H1(IDi,Vi)vi)
若满足,则接收者Li通知私钥生成中心PKG执行本步骤的第三步,否则,向私钥生成中心PKG报错,并退出接收者Li注册过程;
第三步,接收者Li将自己的公钥PKi发送给私钥生成中心PKG,并由私钥生成中心PKG对外公布接收者Li的公钥PKi,同时,接收者Li安全保存自己的私钥SKi,并退出接收者Li注册过程。
步骤4,发送者S签密。
发送者S执行步骤2进行注册,得到自己的公钥PKS和私钥SKS,发送者S随机选取n个接收者L1,L2,…,Ln,对每一个i=1,2,…,n,发送者S计算接收者Li的伪公钥Qi
Qi=PKi+Ppub
其中,Qi表示接收者Li的伪公钥,n表示发送者S随机选取的接收者的数目;
发送者S随机选择整数r∈Zp *,并按照下式,发送者S计算自己的签密验证份额:
R=rP
其中,r表示发送者S随机选择的整数,R表示发送者S的签密验证份额;
按照下式,发送者S对每一个i=1,2,…,n,计算第i个接收者Li的签密验证份额Fi
Fi=rQi
其中,Fi表示接收者Li的签密验证份额;
接下来,发送者S对每一个i=1,2,…,n,计算接收者Li的伪身份值αi
αi=H2(Fi,R)
其中,αi表示接收者Li的伪身份值;
发送者S将随机选择整数δ∈Zp *作为伪密钥,按照下式,发送者S构造接收者身份信息混合值f(x):
其中,δ表示发送者S随机选取的伪密钥,f(x)表示接收者身份信息混合值,x表示自变量,∏表示连乘操作,c0,c1,...,cn-1表示接收者身份信息混合值f(x)各项的系数;
按照下式,发送者S计算对称密钥k:
k=H3(δ)
按照下式,发送者S计算密文消息J:
J=Ek(m)
其中,J表示密文消息,m表示明文消息;
按照下式,发送者S计算密文的有效性参数γ:
γ=H4(m,δ,c0,c1,...,cn-1,J,R)
其中,γ表示密文的有效性参数;
按照下式,发送者S计算验证发送者S身份的有效性参数τ:
τ=H4(J,σ,γ,R)
其中,τ表示验证发送者S身份的有效性参数,σ=(c0,c1,...,cn-1)表示接收者身份信息混合值f(x)各项的系数的集合;
按照下式,发送者S计算发送者S的伪私钥w:
w=SKS+τr(modp)
其中,w表示发送者S的伪私钥;
按照下式,发送者S计算发送者S的身份的验证份额W:
W=wP-Ppub
其中,W表示发送者S的身份验证份额;
发送者S将密文消息J、发送者的签密验证份额R、接收者身份信息混合值f(x)的系数c0,c1,…,cn-1、密文的有效性参数γ、发送者身份的验证份额W作为签密密文C,并对签密密文C进行广播。
步骤5,接收者解密,接收到步骤4广播的密文后,每个接收者Li通过下面步骤进行解密,i=1,2,…,n。
接收者Li执行步骤3进行注册,得到自己的公钥PKi和私钥SKi,按照下式,接收者Li计算接收者Li的签密验证份额Fi
Fi=SKiR
按照下式,接收者Li计算伪身份值αi
αi=H2(Fi,R)
按照下式,接收者Li计算接收者身份信息混合值f(x):
f(x)=xn+cn-1xn-1+...+c1x+c0
按照下式,接收者Li计算发送者S随机选取的伪密钥δ:
δ=f(αi)
按照下式,接收者Li计算对称密钥k:
k=H3(δ)
按照下式,接收者Li计算明文消息m:
m=Dk(J)
按照下式,接收者Li计算密文的权限参数γ′:
γ′=H4(m,δ,c1,c2,...,cn-1,R,J)
其中,γ′表示密文的权限参数;
接下来,接收者Li判断密文的权限参数γ′与密文的有效性参数γ是否相等,若是,则继续往下执行,否则,接收者Li拒绝明文消息m,并退出接收者解密过程;
按照下式,接收者Li计算验证发送者S身份的权限参数τ′:
τ′=H4(J,σ,γ′,R)
其中,τ′表示验证发送者S身份的权限参数;
按照下式,接收者Li计算发送者S身份的有效性验证份额W':
W′=τ′R+PKS
其中,W'表示发送者S身份的有效性验证份额;
接下来,接收者Li判断发送者S身份的验证份额W与发送者S身份的有效性验证份额W'是否相等,若是,说明发送者S的身份通过验证,接收者Li确定接受发送者S发送的明文消息m,并退出接收者的解密过程,否则,说明发送者S的身份验证不通过,接收者Li拒绝发送者S发送的明文消息m,并退出接收者的解密过程。

Claims (1)

1.一种基于椭圆曲线高效匿名的无证书多接收者签密方法,其特征在于包括以下步骤:
步骤一、私钥生成中心PKG选取大素数p,选择阶为大素数p的有限域Fp和安全的椭圆曲线E(Fp)以及加法循环群Gp,选取加法循环群Gp上的生成元P;
其中,Fp表示阶为大素数p的有限域,P表示加法循环群Gp上的生成元;
步骤二、私钥生成中心PKG选取***主密钥s∈Zp *,计算Ppub=sP作为***公钥,并将***主密钥s安全保存;
其中,∈表示限定域符号,Zp *表示基于大素数p构成的非零乘法群,Ppub表示***公钥;
步骤三、私钥生成中心PKG构造5个抗碰撞的哈希函数,分别记为:H0:H1:其中λ1=|ID|;H2:H3:H4:其中λ2=|m|;
其中,H0,H1,H2,H3,H4表示抗碰撞的哈希函数,A→B表示定义域A到值域B的映射,表示长为λ1的0或1构成的串,λ1=|ID|表示用户的身份信息的长度,表示长为λ2的0或1构成的串,λ2=|m|表示明文消息的长度,×表示笛卡尔乘积;
步骤四、私钥生成中心PKG选取安全的对称加密函数Ek(.)和对称解密函数Dk(.);
其中,k表示对称密钥;
步骤五、私钥生成中心PKG公布阶为大素数p的有限域Fp,加法循环群Gp,加法循环群Gp上的生成元P,安全的椭圆曲线E(Fp),5个抗碰撞的哈希函数H0,H1,H2,H3,H4,对称加密函数Ek(.),对称解密函数Dk(.),***公钥Ppub,安全保存***主密钥s;
步骤六、用户注册步骤中的用户包括接收者和发送者,均需通过执行下列步骤获取自己的公钥和私钥;
步骤七、用户随机的选取一个整数v∈Zp *作为秘密值;
其中,v表示用户随机选择的秘密值;
步骤八、按照下式,计算用户的验证份额V:
V=vP
步骤九、用户将自己的验证份额V和自己的身份信息ID发送给私钥生成中心PKG;
步骤十、私钥生成中心PKG收到用户的验证份额V和用户的身份信息ID后,随机选取整数d∈Zp *,按照下式计算用户的公钥PK:
PK=H0(ID,d)P+H1(ID,V)V
其中,d表示私钥生成中心PKG随机选取的整数,H0,H1表示抗碰撞的哈希函数;
步骤十一、按照下式,私钥生成中心PKG计算用户的部分私钥T:
T=H0(ID,d)+s(mod p)
其中,H0表示抗碰撞的哈希函数,mod表示求模操作;
步骤十二、私钥生成中心PKG将用户的部分私钥T和用户的公钥PK发送给用户,其中用户的部分私钥T通过安全信道发送给用户;
步骤十三、用户收到私钥生成中心PKG发送的用户的部分私钥T和用户的公钥PK,按照下式计算用户的私钥SK:
SK=T+H1(ID,V)v(mod p)
步骤十四、用户判断收到的公钥PK和部分私钥T是否满足如下等式,若是,则执行步骤十五,否则,则执行步骤十六:
v(PK+Ppub)=V(T+H1(ID,V)v)
其中,Ppub表示***公钥,V表示用户的验证份额,T表示用户的部分私钥,H1表示抗碰撞的哈希函数,ID表示用户的身份信息;
步骤十五、用户将公钥PK发送给私钥生成中心PKG,并由私钥生成中心PKG对外公布用户的公钥PK,用户安全保存自己的私钥SK,之后退出用户注册过程;
步骤十六、用户向私钥生成中心PKG报错,并退出用户注册过程;
步骤十七、发送者S判断自己是否已经执行用户注册过程,若是,利用自己的公钥PKS和私钥SKS,执行步骤十八,否则,发送者S执行用户注册过程获取自己的公钥PKS和私钥SKS后,再执行步骤十八;
步骤十八、发送者S随机选取n个接收者L1,L2,...,Ln,其中,n表示大于0的整数;
步骤十九、按照下式,对每一个i=1,2,…,n,发送者S计算第i个接收者Li的伪公钥Qi
Qi=PKi+Ppub
其中,Qi表示第i个接收者Li的伪公钥,n表示发送者S随机选取的接收者的数目,PKi表示第i个接收者Li的公钥,Ppub表示***公钥;
步骤二十、发送者S随机选择整数r∈Zp *,按照下式计算发送者S的签密验证份额R:
R=rP
其中,r表示发送者S随机选择的整数,R表示发送者S的签密验证份额;
步骤二十一、按照下式,对每一个i=1,2,…,n,计算第i个接收者Li的签密验证份额Fi
Fi=rQi
其中,Fi表示第i个接收者Li的签密验证份额,n表示发送者S随机选取的接收者的数目,Qi表示第i个接收者Li的伪公钥;
步骤二十二、按照下式,对每一个i=1,2,…,n,发送者S计算第i个接收者Li的伪身份值αi
αi=H2(Fi,R)
其中,αi表示第i个接收者Li的伪身份值,H2表示抗碰撞的哈希函数,Fi表示第i个接收者Li的签密验证份额,n表示发送者S随机选取的接收者的数目;
步骤二十三、发送者S随机选择整数δ∈Zp *作为伪密钥后,按照下式,发送者S构造接收者身份信息混合值f(x):
其中,δ表示发送者S随机选取的伪密钥,f(x)表示接收者身份信息混合值,x表示自变量,Π表示连乘操作,n表示发送者S随机选取的接收者的数目,αi表示第i个接收者Li的伪身份值,mod表示求模操作,c0,c1,...,cn-1表示接收者身份信息混合值f(x)各项的系数;
步骤二十四、按照下式,发送者S计算对称密钥k:
k=H3(δ)
其中,H3表示抗碰撞的哈希函数;
步骤二十五、发送者S按照下式计算密文消息J:
J=Ek(m)
其中,Ek(.)表示对称加密函数,m表示明文消息;
步骤二十六、按照下式,发送者S计算密文的有效性参数γ:
γ=H4(m,δ,c0,c1,...,cn-1,J,R)
其中,γ表示密文的有效性参数,H4表示抗碰撞的哈希函数;
步骤二十七、按照下式,发送者S计算验证发送者S身份的有效性参数τ:
τ=H4(J,σ,γ,R)
其中,H4表示抗碰撞的哈希函数,J表示密文消息,σ=(c0,c1,...,cn-1)表示接收者身份信息混合值f(x)各项的系数的集合;
步骤二十八、按照下式,发送者S计算发送者S的伪私钥w:
w=SKS+τr(modp)
其中,SKS表示发送者S的私钥;
步骤二十九、按照下式,发送者S计算发送者S身份的验证份额W:
W=wP-Ppub
其中,w表示发送者S的伪私钥,Ppub表示***公钥;
步骤三十、发送者S将密文消息J、发送者S的签密验证份额R、接收者身份信息混合值f(x)的系数c0,c1,…,cn-1、密文的有效性参数γ、发送者S身份的验证份额W作为签密密文C,并将签密密文C进行广播给接收者;
步骤三十一、接收者Li判断自己是否已经执行用户注册过程,若是,利用自己的公钥PKi和私钥SKi,执行步骤三十二,否则,接收者Li执行用户注册过程获取自己的公钥PKi和私钥SKi后,再执行步骤三十二;
步骤三十二、按照下式,接收者Li计算自己的签密验证份额Fi
Fi=SKiR
其中,Fi表示接收者Li的签密验证份额,SKi表示接收者Li的私钥,R表示发送者S的签密验证份额;
步骤三十三、按照下式,接收者Li计算自己的伪身份值αi
αi=H2(Fi,R)
其中,αi表示接收者Li的伪身份值,H2表示抗碰撞的哈希函数,Fi表示接收者Li的签密验证份额,i=1,2,…,n,n表示发送者S随机选取的接收者的数目,R表示发送者S的签密验证份额;
步骤三十四、按照下式,接收者Li计算接收者身份信息混合值f(x):
f(x)=xn+cn-1xn-1+...+c1x+c0
其中,f(x)表示接收者身份信息混合值,x表示自变量,n表示发送者S随机选取的接收者的数目,c0,c1,...,cn-1表示接收者身份信息混合值f(x)各项的系数;
步骤三十五、按照下式,接收者Li计算发送者S随机选取的伪密钥δ:
δ=f(αi)
其中,δ表示发送者S随机选取的伪密钥,f(x)表示接收者身份信息混合值,x表示自变量,αi表示接收者Li的伪身份值;
步骤三十六、按照下式,接收者Li计算对称密钥k:
k=H3(δ)
其中,k表示对称密钥,H3表示抗碰撞的哈希函数;
步骤三十七、按照下式,接收者Li计算明文消息m:
m=Dk(J)
其中,m表示明文消息,Dk(.)表示对称解密函数,J表示密文消息;
步骤三十八、按照下式,接收者Li计算密文的权限参数γ′:
γ′=H4(m,δ,c0,c1,...,cn-1,J,R)
其中,γ′表示密文的权限参数,H4表示抗碰撞的哈希函数;
步骤三十九、接收者判断密文的权限参数γ′与密文的有效性参数γ是否相等;若是,则执行步骤四十,否则,接收者Li拒绝明文消息m,并退出接收者解密过程;
步骤四十、按照下式,接收者Li计算验证发送者S身份的权限参数τ′:
τ′=H4(J,σ,γ′,R)
其中,τ′表示验证发送者S身份的权限参数,H4表示抗碰撞的哈希函数,J表示密文消息,σ=(c0,c1,...,cn-1)表示接收者身份信息混合值f(x)各项的系数的集合,c0,c1,…,cn-1表示接收者身份信息混合值f(x)各项的系数,γ′表示密文的权限参数,R表示发送者S的签密验证份额;
步骤四十一、按照下式,接收者Li计算发送者S身份的有效性验证份额W':
W′=τ′R+PKS
其中,W'表示发送者S身份的有效性验证份额,τ′表示验证发送者S身份的权限参数,R表示发送者S的签密验证份额,PKs表示发送者S的公钥;
步骤四十二、接收者Li判断发送者S身份的验证份额W与发送者S身份的有效性验证份额W'是否相等,若是,说明发送者S的身份通过验证,接收者Li确定接受发送者S发送的明文消息m,并退出接收者的解密过程,否则,说明发送者S的身份验证不通过,接收者Li拒绝发送者S发送的明文消息m,并退出接收者的解密过程。
CN201710332215.7A 2017-05-12 2017-05-12 基于椭圆曲线高效匿名的无证书多接收者签密方法 Active CN106936593B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710332215.7A CN106936593B (zh) 2017-05-12 2017-05-12 基于椭圆曲线高效匿名的无证书多接收者签密方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710332215.7A CN106936593B (zh) 2017-05-12 2017-05-12 基于椭圆曲线高效匿名的无证书多接收者签密方法

Publications (2)

Publication Number Publication Date
CN106936593A CN106936593A (zh) 2017-07-07
CN106936593B true CN106936593B (zh) 2019-12-17

Family

ID=59430486

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710332215.7A Active CN106936593B (zh) 2017-05-12 2017-05-12 基于椭圆曲线高效匿名的无证书多接收者签密方法

Country Status (1)

Country Link
CN (1) CN106936593B (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107682145B (zh) * 2017-09-12 2019-09-03 西安电子科技大学 真实匿名的无证书多消息多接收者签密方法
CN108809650B (zh) * 2018-05-04 2021-04-13 西安电子科技大学 无安全信道的无证书匿名多接收者签密方法
CN108833345B (zh) * 2018-05-04 2020-08-28 西安电子科技大学 可追踪匿名发送者身份的无证书多接收者签密方法
CN109257181B (zh) * 2018-10-17 2019-10-29 西安邮电大学 无证书环境下椭圆曲线盲签密方法
CN110166228B (zh) * 2019-03-29 2022-02-18 南通大学 车载自组织网络中基于无证书环签密的隐私保护方法
CN110061828B (zh) * 2019-04-04 2021-05-04 西安电子科技大学 无可信中心的分布式数字签名方法
CN110335042B (zh) * 2019-06-26 2020-10-20 创新先进技术有限公司 基于环签名的匿名交易方法及装置
CN110708157B (zh) * 2019-10-29 2023-06-27 南京邮电大学 一种基于无证书的多接收者匿名签密方法
CN111262709B (zh) * 2020-01-17 2022-05-10 铜陵学院 基于陷门哈希函数的无证书签密***及方法
CN113225302B (zh) * 2021-01-27 2022-06-24 暨南大学 一种基于代理重加密的数据共享***及方法
CN113708924B (zh) * 2021-07-30 2022-09-30 西安邮电大学 基于区块链的椭圆曲线门限签名方法
CN113747425B (zh) * 2021-11-04 2022-02-18 晨越建设项目管理集团股份有限公司 基于智慧城市安防***的rfid标签匿名认证与密钥协商方法
CN115580402B (zh) * 2022-12-09 2023-03-17 蓝象智联(杭州)科技有限公司 一种用于安全多方计算的数据隐匿查询方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102201920A (zh) * 2011-07-12 2011-09-28 北京中兴通数码科技有限公司 一种无证书公钥密码***的构造方法
CN102624524A (zh) * 2011-01-26 2012-08-01 丁素芬 一种基于双线性对的不可锻造的知识证明和消息签名认证方法
CN104539425A (zh) * 2014-12-25 2015-04-22 西北工业大学 基于多变量、多安全属性的多接收者签密方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9774610B2 (en) * 2015-07-28 2017-09-26 Futurewei Technologies, Inc. Certificateless data verification with revocable signatures

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102624524A (zh) * 2011-01-26 2012-08-01 丁素芬 一种基于双线性对的不可锻造的知识证明和消息签名认证方法
CN102201920A (zh) * 2011-07-12 2011-09-28 北京中兴通数码科技有限公司 一种无证书公钥密码***的构造方法
CN104539425A (zh) * 2014-12-25 2015-04-22 西北工业大学 基于多变量、多安全属性的多接收者签密方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
《Certificateless proxy identity-based signcryption scheme without bilinear pairings》;Qi Yanfeng,et al.;《China Communications》;20131122;第10卷(第11期);全文 *
《Lightweight Certificateless and Provably-Secure Signcryptosystem for the Internet of Things》;Kim Thuat Nguyen,et al.;《2015 IEEE Trustcom/BigDataSE/ISPA》;20150822;全文 *
《基于无证书群签名方案的电子现金***》;梁艳等;《通信学报》;20160531;第37卷(第5期);全文 *

Also Published As

Publication number Publication date
CN106936593A (zh) 2017-07-07

Similar Documents

Publication Publication Date Title
CN106936593B (zh) 基于椭圆曲线高效匿名的无证书多接收者签密方法
US5796833A (en) Public key sterilization
CN107733648B (zh) 一种基于身份的rsa数字签名生成方法及***
CN108667625B (zh) 协同sm2的数字签名方法
EP2429115B1 (en) Method for verification of decryption processes
CN104821880B (zh) 一种无证书广义代理签密方法
CN110545279A (zh) 兼具隐私和监管功能的区块链交易方法、装置及***
CN110120939B (zh) 一种基于异构***的可否认认证的加密方法和***
CN108809650B (zh) 无安全信道的无证书匿名多接收者签密方法
CN107707358A (zh) 一种ec‑kcdsa数字签名生成方法及***
CN103414569A (zh) 一种建立抗攻击的公钥密码的方法
US20050169478A1 (en) Practical non-malleable public-key cryptosystem
EP2792098B1 (en) Group encryption methods and devices
CN114157427A (zh) 基于sm2数字签名的门限签名方法
Cheng et al. An Improved Certificateless Signcryption in the Standard Model.
Libert et al. Towards black-box accountable authority IBE with short ciphertexts and private keys
CN108696362B (zh) 可更新密钥的无证书多消息多接收者签密方法
Wei et al. Remove key escrow from the BF and Gentry identity-based encryption with non-interactive key generation
CN105978687B (zh) 一种标准模型中素数阶下基于身份匿名广播加密方法
Guo et al. Membership encryption and its applications
CN112350820B (zh) 多接收者签密方法、发送端、接收端、***及存储介质
CN110708157B (zh) 一种基于无证书的多接收者匿名签密方法
CN111092720A (zh) 能抵抗主密钥和解密密钥泄漏的基于证书加密方法
Lu et al. Related-key security for hybrid encryption
Gong et al. A homomorphic encryption scheme with adaptive chosen ciphertext security but without random oracle

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