法律状态公告日
法律状态信息
法律状态
2018-05-29
未缴年费专利权终止 IPC(主分类):H04L9/32 授权公告日:20160302 终止日期:20170506 申请日:20130506
专利权的终止
2016-03-02
授权
授权
2013-10-23
实质审查的生效 IPC(主分类):H04L9/32 申请日:20130506
实质审查的生效
2013-09-18
公开
公开
技术领域
本发明涉及一种多接收者签密方法,特别涉及一种接收者身份匿名的多接收者签 密方法。
背景技术
在分布式网络应用(例如网络会议、圆桌会议及收费电视)中,为了保护通信系 统中进行会话的所有参与者身份隐私,以及确保会话内容仅可以被授权用户正确解密, 而非授权用户无法正确解密,需要安全广播技术作为支持。安全广播是实现一个发送 者向多个授权接收者安全发送相同消息的技术,能够实现上述网络应用的安全需求。
文献“Cryptanalysis and improvements of an anonymous multi-receiver identity-based encryption scheme.IET Inf.Secur,2012,6(1):20–27”公开了一种基于身份的接收者匿名 的多接收者加密方法,该方法的主要步骤是:首先,用户以自身的身份信息向可信第 三方TTP(Trusted Third Party)进行注册,TTP为每一个注册用户计算公钥和私钥,并将 用户的公钥公开,将相应的私钥秘密地分发给各个用户;加密时,发送者先利用哈希 函数对接收者身份进行映射,然后根据所得参数构造拉格朗日插值函数,从而将所有 授权接收者的身份信息融合在一起作为密文的一部分,最后发送者使用对称加密算法 对明文消息进行加密,并将所得到的全部密文进行广播;解密时,接收者收到密文后, 根据部分密文计算得到解密密钥,再使用对称解密算法解密恢复明文消息,最后接收 者通过计算判断等式是否成立来验证解密消息的正确性,如果成立,则明文消息正确, 接收该消息,否则存在错误,拒绝该消息,完成解密。但是该方案存在一些缺陷:当 授权接收者正确解密密文获得明文消息后,他可以利用明文消息通过计算得到一些参 数,然后利用这些参数、密文中部分元素和授权接收者的身份信息三者之间的等价关 系来验证其他人是否为授权接收者,从而不能保证接收者身份匿名性,包括授权接收 者对非授权接收者的身份匿名以及授权接收者之间的身份匿名;另外该方法的加密和 解密计算量都较大,严重影响了加密和解密效率。
发明内容
为了克服现有的多接收者签密方法安全性差的不足,本发明提供一种接收者身份 匿名的多接收者签密方法。该方法的发送者在签密时,利用密码单向哈希函数和双线 性对两种运算将每个授权接收者的身份信息隐藏起来,并利用上述运算得到的参数构 造多项式函数,将多项式函数的系数作为签密密文的一部分进行广播;每个接收者收 到签密密文后,利用签密密文中的多项式函数的系数重新还原多项式函数,再将接收 者的私钥通过双线性对和密码单向哈希函数两种运算获得的结果带入到被还原的多项 式函数中从而获得解密参数,然后利用此解密参数通过进一步的计算获得明文消息和 发送者身份,最后接收者利用解密获得的明文消息通过计算判断发送者身份的有效性 和签密密文的正确性。可以有效地防止广播通信时潜在的接收者的身份信息泄露问题, 同时具有较高的加密解密的效率。
本发明解决其技术问题所采用的技术方案:一种接收者身份匿名的多接收者签密 方法,其特点是包括以下步骤:
(1)发送者的签密过程;
发送者IDs对明文消息M的签密时,
(1a)发送者IDs选取n个授权接收者ID1,ID2,...,IDn,建立授权接收者身份信息 列表L={ID1,ID2,...,IDn},其中n为大于零的整数;
(1b)发送者IDs选择秘密随机数r∈Zq*,计算数值Y=rP和数值J=rPpub,其中, Zq*为基于素数q的非零乘法群,P为G1上的生成元,Ppub为系统主公钥;
(1c)对于每一个授权接收者IDi,发送者IDs计算中间参数pi=H2(e(Qi+P1,J)), 其中i=1,2,…,n,Qi为授权接收者IDi的公钥,P1为群G1中任意选取的元素,H2为密 码单向哈希函数,e为双线性映射;然后,使用计算得到的n个中间参数pi,i=1,2,…,n, 构造n阶多项式函数f(x)如下:
其中,x为多项式函数f(x)的自变量,t为发送者IDs选择的随机数且t∈Zq*,ai为多项式函数f(x)的系数且ai∈Zq*,i=0,1,…,n-1;
(1d)发送者IDs计算数值X=r(Qs+P1)和数值h=H3(M,a0,a1,…,an-1,X),然后计算 签名W=(h+r)Ds,其中,H3为密码单向哈希函数,Qs为发送者IDs的公钥,Ds为发送 者IDs的私钥;
(1e)发送者IDs计算消息密文其中,H4为密码单向哈希函数, IDs为发送者的身份信息,M为明文消息,为逐位模2加法运算,||为级联符号;
(1f)发送者IDs构造签密密文C=<a0,a1,...,an-1,σ,Y,X,W>,并对签密密文C 进行广播,完成签密操作;
(2)接收者的解密过程;
接收者IDi,i=1,2,...,n,对签密密文C的解密时,
(2a)接收者IDi使用签密密文C中的元素a0,a1,...,an-1重构多项式函数f(x)如下:
f(x)=a0+a1x+...+an-1xn-1+xn
(2b)接收者IDi计算中间参数vi=H2(e(Di,Y)),将中间参数vi带入多项式函数f(x) 中计算解密参数t′=f(vi),其中Di为授权接收者IDi的私钥,Qi为授权接收者IDi的公 钥,e为双线性映射,H2为密码单向哈希函数,Y为签密密文C中的元素;
(2c)接收者IDi利用解密参数t′和密码单向哈希函数H4计算以获得发 送者的身份信息IDs和明文消息M的级联信息(IDs||M),然后进一步对该级联信息 (IDs||M)进行解链接操作得到发送者身份信息IDs和明文消息M;
(2d)接收者IDi计算数值h′=H1(M,a0,a1,...,an-1,X),然后判断等式e(P,W)=e(Ppub, h′(Qs+P1)+X)是否成立,其中,W,X为签密密文C中的元素,P,Ppub,P1为系统公 开参数,e为双线性映射,Qs为发送者IDs的公钥;
若等式成立,则说明解密获得的明文消息M是正确的并且发送者身份是有效的; 若不成立,则说明发送者身份是无效的或者解密获得的明文消息是错误的。
本发明的有益效果是:由于该方法的发送者在签密时,利用密码单向哈希函数和 双线性对两种运算将每个授权接收者的身份信息隐藏起来,并利用上述运算得到的参 数构造多项式函数,将多项式函数的系数作为签密密文的一部分进行广播;每个接收 者收到签密密文后,利用签密密文中的多项式函数的系数重新还原多项式函数,再将 接收者的私钥通过双线性对和密码单向哈希函数两种运算获得的结果带入到被还原的 多项式函数中从而获得解密参数,然后利用此解密参数通过进一步的计算获得明文消 息和发送者身份,最后接收者利用解密获得的明文消息通过计算判断发送者身份的有 效性和签密密文的正确性。有效地防止了广播通信时潜在的接收者的身份信息泄露问 题,同时具有较高的加密解密的效率。
下面结合附图和实施例对本发明作详细说明。
附图说明
图1是本发明接收者身份匿名的多接收者签密方法的流程图。
具体实施方式
参照图1详细说明本发明。
名词解释。
TTP:可信第三方,常由密钥生成中心担当,负责产生发送者和接收者的私钥;
z:可信第三方TTP选取的系统安全参数;
q:可信第三方TTP选取的大素数,其中q>2z;
G1:可信第三方TTP选取的q阶加法循环群;
G2:可信第三方TTP选取的q阶乘法循环群;
e:可信第三方TTP选取的G1和G2上的双线性映射,即e:G1×G1→G2;
A→B:定义域A到值域B的映射;
P:G1上的生成元,由可信第三方TTP随机选取;
s:系统主密钥,由可信第三方TTP随机选取的;
Zq*:基于素数q的非零乘法群;
Ppub:系统主公钥,Ppub=sP;
Hi:密码单向哈希函数,其中i=1,2,3,4;
{0,1}*:任意长的“0”或“1”构成的串;
M:明文消息;
|M|:明文消息M的长度;
P1:从群G1中任意选取的元素;
params:系统公开参数;
ID:用户身份信息;
IDs:发送者身份信息;
Qs:发送者IDs的公钥,Qs=H1(IDs);
Ds:发送者IDs的私钥,Ds=s(Qs+P1);
n:授权接收者的个数;
IDi:授权接收者的身份信息,其中i=1,2,…,n;
Qi:授权接收者IDi的公钥,Qi=H1(IDi),其中i=1,2,…,n;
Di:授权接收者IDi的私钥,Di=s(Qi+P1),其中i=1,2,…,n;
L:授权接收者身份信息列表;
A mod q:表示A除以q后的余数;
f(x):n次多项式函数,其中x为自变量;
:逐位模2加法运算;
A||B:表示A与B的级联,其中A和B链接起来即为A||B,通过对A||B解链接操作即 可得到A和B;
σ:消息密文;
C:签密密文;
<a,b,…,c>:由元素a,b,…,c构成的有顺序的元素集合。
具体实施方法如下:
步骤1,系统建立。
密钥生成中心根据安全参数z选取一个大素数q,其中q>2z,构造一个q阶的加法循 环群G1和一个q阶乘法循环群G2;构造一个双线性映射e:G1×G1→G2;从群G1上随机选 取生成元P,并随机选取系统主密钥s∈Zq*,计算对应的系统主公钥Ppub=sP;构造4个 密码单向哈希函数,记为:H1:{0,1}*→G1;H2:G2→Zq*;H3:{0,1}|M|×Zq*n×G1→Zq*; H4:Zq*→{0,1}*;并从群G1中任意选取的一个元素P1;
密钥生成中心构造并公布系统参数params,params构造方法为:
params=<G1,G2,q,e,P,P1,Ppub,H1,H2,H3,H4>
同时,密钥生成中心安全保存系统主密钥s。
步骤2,用户注册。
用户向密钥生成中心提交身份信息ID∈{0,1}*,密钥生成中心根据系统参数 params,主密钥s和用户身份信息ID∈{0,1}*计算用户的公钥QID=H1(ID),用户的私 钥DID=s(QID+P1),对外公布该用户的公钥并将用户的私钥安全地发送给用户。
步骤3,发送者签密。
发送者IDs选取n个授权接收者ID1,ID2,...,IDn,其中n为整数且n大于0,构造授 权接收者身份信息列表L={ID1,ID2,...,IDn};发送者IDs对明文消息M的签密过程如下:
发送者IDs任意选取一个秘密整数r∈Zq*,计算数值Y=rP和数值J=rPpub;
对于每一个授权接收者IDi,发送者IDs利用该授权接收者的公钥Qi计算中间参数 pi=H2(e(Qi+P1,J)),其中,i=1,2,…,n,Qi为该授权接收者的公钥,P1为群G1中任意选 取的元素,H2为密码单向哈希函数;
发送者IDs随机选取整数t∈Zq*,并利用中间参数pi建立n阶多项式函数f(x)如下:
其中,x为多项式函数f(x)的自变量,ai为多项式函数f(x)的系数且ai∈Zq*;
发送者IDs计算数值X=r(Qs+P1)和数值h=H3(M,a0,a1,…,an-1,X),使用发送者IDs的 私钥Ds进行签名W=(h+r)Ds,其中,H3为密码单向哈希函数,Qs为发送者IDs的公钥 且Qs=H1(IDs),Ds为发送者IDs的私钥且Ds=s(Qs+P1);
发送者IDs计算消息密文M为明文消息,,H4为密码单向哈希 函数为逐位模2加法运算,||为级联符号;
发送者IDs构造签密密文为C=<a0,a1,...,an-1,σ,Y,X,W>并将签密密文C进行 广播。
步骤4,接收者解密。
接收者IDi,i=1,2,...,n,对签密密文C=<a0,a1,...,an-1,σ,Y,X,W>进行解密过程 如下:
首先根据签密密文C中的元素a0,a1,...,an-1重构n阶多项式函数f(x)如下:
f(x)=a0+a1x+...+an-1xn-1+xn
然后接收者IDi使用私钥Di和签密密文C中的元素Y计算中间参数vi=H2(e(Di,Y)), 并将中间参数vi带入多项式函数f(x)中计算得到解密参数t′=f(vi),其中Di为发送者IDi的私钥且Di=s(Qi+P1);
接收者IDi利用解密参数t′计算从而获得发送者的身份信息IDs和明文 消息M的级联信息(IDs||M),然后进一步对该级联信息(IDs||M)进行解链接操作得到发 送者身份信息IDs和明文消息M;
接收者IDi利用解密得到的明文消息M和签密密文C中的元素(a0,a1,...,an-1),X 计算数值h′=H1(M,(a0,a1,...,an-1),X),然后判断等式e(P,W)=e(Ppub,h′(Qs+P1)+X)是否 成立;
若等式成立,则说明解密获得的明文消息是正确的并且发送者身份是有效的,若 不成立,则说明发送者身份是无效的或者解密获得的明文消息是错误的。
机译: 具有通过显示与接收者相对应的图像来确认接收者身份的功能的无线通信终端及其方法
机译: 认证身份接收者身份的方法,移动用户设备及其系统
机译: 匿名提供者与接收者通信的系统和方法