本发明属于网络信息安全技术领域,具体涉及到公钥密码学或通用可复合安全框架或代理签密。
背景技术:
通用可复合安全框架由rancanetti于2001年提出。通用可复合安全框架满足协议的模块化设计要求,可以单独用来设计协议。如果某个协议满足通用可复合安全性,该协议可以保证和其它协议并发组合运行时的安全性。设计一个安全的协议,首先要将协议所希望完成的功能抽象为一个理想函数,该理想函数相当于现实世界中一个不可攻破的可信第三方。通用可复合安全框架是由现实模型、理想模型和混合模型组成。在通用可复合框架中,用交互式图灵机(itm,interactiveturningmachine)来描述协议的参与方、敌手和环境机等实体。每个itm的运行都被限定在概率多项式时间内。在现实模型中,包括了参与方、敌手、协议和环境机等实体,参与方不仅诚实地执行协议,而且相互之间还可以直接通信。在理想模型中,包括了参与方、仿真者、理想函数和环境机等实体,和现实模型不一样的是,参与方之间不能直接通信,而是通过理想函数来转发信息。
代理签密被广泛应用在移动代理、电子会议等方面。传统公钥基础设施中的代理签密存在证书产生、存储、分发、撤销及验证证书的计算费用等问题。身份代理签密中用户公钥由用户的身份信息确定,用户私钥由私钥生成器确定,从而克服了证书管理问题,但是目前还没有通用可复合框架下的身份代理签密。如何采用通用可复合安全框架来构造身份代理签密是密码学中当前需要迫切解决的一个技术问题。
技术实现要素:
本发明所要解决的技术问题在于上述现有技术的缺点,提供一种安全性好、计算复杂度低的通用可复合的身份代理签密方法。
解决上述技术问题所采用的技术方案由下述步骤组成:
a、系统初始化
(a1)私钥生成器选取阶为大素数q的一个循环加法群g1和一个循环乘法群g2,设定p是循环加法群g1的一个生成元、e是g1×g1→g2的一个双线性映射,其中q是有限的正整数。
(a2)私钥生成器选取密码学安全的hash函数h1、h2、h3、h4:h1是{0,1}*→g1,h2是
(a3)私钥生成器随机选取主控钥s∈zq*并确定系统公钥y:
y=sp。
(a4)私钥生成器保密主控钥s,公布系统参数β:
β=(g1,g2,q,e,t,l,p,y,h1,h2,h3,h4)。
b、生成用户公私钥
(b1)私钥生成器确定拥有身份ia的原始签密方的公钥ya和私钥sa:
ya=h1(ia)
sa=sya。
(b2)私钥生成器确定拥有身份ip的代理签密方的公钥yp和私钥sp:
yp=h1(ip)
sp=syp。
(b3)私钥生成器确定拥有身份ib的接收方的公钥yb和私钥sb
yb=h1(ib)
sb=syb。
c、生成代理密钥
(c1)原始签密方选取一个随机数ka∈zq*,确定ua、v:
ua=kaya
v=h2(mw,ua)sa
式中mw是原始签密方生成的一个授权证书。
(c2)原始签密方发送ua、v、mw给代理签密方。
(c3)
代理签密方确定代理密钥sap:
sap=sp+v。
d、代理签密
(d1)代理签密方选取一个随机数
up=kpp
式中m是消息。
(d2)代理签密方使用代理密钥生成消息m的签名s。
(d3)代理签密方通过公开信道将生成的密文σ:
σ=(c,mw,s,ua,up)
输出给拥有身份ib的接收者。
e、解密
(e1)拥有身份ib的接收方收到密文σ,确定r:
r=e(up,sb)。
(e2)接收方恢复m:
f、验证
(f1)接收方确定r:
r=h4(m,ia,ip,ib,up,r)。
(f2)下式:
e(p,s)=e(y,h2(mw,ua)ya+yp)re(up,yp)
成立,密文有效;否则,密文无效。
上述的代理签密步骤d的步骤d2中,代理签密方用自己的私钥生成消息m的签名,通过如下步骤实现:
(d2.1)代理签密方确定r:
r=h4(m,ia,ip,ib,up,r)
式中up=kpp,
(d2.2)代理签密方确定签名s:
s=rsap+kpyp
式中sap=sp+v,yb=h1(ib)。
本发明在通用可复合框架下结合代理签密和身份密码系统,提出了一种通用可复合的身份代理签密方法,给出了通用可复合的身份代理签密协议与该协议的ind-cca2和uf-cma安全性之间的等价关系。该方法可以使代理签密方为接收方生成消息密文,除接收方之外的其他人看不到真实消息,同时接收方能够确信消息源自代理签密方。
在通用可复合的身份代理签密方法中,用户公钥由用户的身份信息确定,用户私钥由私钥生成器产生。该方法克服了传统公钥基础设施中证书产生、存储、分发、撤销及验证证书的计算费用等问题,无需安全信道,可以同时达到保密并认证的效果。本发明具有通用可复合安全性、计算复杂度低等优点,适用于移动代理、电子会议等技术领域。
附图说明
图1是本发明实施例1的流程图。
具体实施方式
下面结合附图和实施例对本发明进一步详细说明,但本发明不限于这些实施例。
实施例1
本实施例以大素数q为2192-264-1为例,通用可复合的身份代理签密方法由下述步骤组成:
a、系统初始化
(a1)私钥生成器选取阶为大素数q为2192-264-1的一个循环加法群g1和一个循环乘法群g2,设定p是循环加法群g1的一个生成元、e是g1×g1→g2的一个双线性映射。
(a2)私钥生成器选取密码学安全的hash函数h1、h2、h3、h4:h1是{0,1}*→g1,h2是
(a3)私钥生成器随机选取主控钥s∈zq*并确定系统公钥y:
y=sp。
(a4)私钥生成器保密主控钥s,公布系统参数β:
β=(g1,g2,2192-264-1,e,t,l,p,y,h1,h2,h3,h4)。
b、生成用户公私钥
(b1)私钥生成器确定拥有身份ia的原始签密方的公钥ya和私钥sa:
ya=h1(ia)
sa=sya。
(b2)私钥生成器确定拥有身份ip的代理签密方的公钥yp和私钥sp:
yp=h1(ip)
sp=syp。
(b3)私钥生成器确定拥有身份ib的接收方的公钥yb和私钥sb:
yb=h1(ib)
sb=syb。
c、生成代理密钥
(c1)原始签密方选取一个随机数ka∈zq*,确定ua、v:
ua=kaya
v=h2(mw,ua)sa
式中mw是原始签密方生成的一个授权证书。
(c2)原始签密方发送ua、v、mw给代理签密方。
(c3)
代理签密方确定代理密钥sap:
sap=sp+v。
d、代理签密
(d1)代理签密方选取一个随机数
up=kpp
式中m是消息。
(d2)代理签密方使用代理密钥生成消息m的签名s,通过如下步骤实现:
(d2.1)代理签密方确定r:
r=h4(m,ia,ip,ib,up,r)
式中up=kpp,
(d2.2)代理签密方确定签名s:
s=rsap+kpyp
式中sap=sp+v,yb=h1(ib)。
(d3)代理签密方通过公开信道将生成的密文σ:
σ=(c,mw,s,ua,up)
输出给拥有身份ib的接收者。
上述的代理签密可以使代理签密方为接收方生成消息m的密文,除接收方之外的其他人看不到真实消息,同时接收方能够确信消息源自代理签密方,克服了传统公钥基础设施中证书产生、存储、分发、撤销及验证证书的计算费用等问题,无需安全信道,同时达到了保密并认证的效果,具有通用可复合安全性、计算复杂度低等优点。
e、解密
(e1)拥有身份ib的接收方收到密文σ,确定r:
r=e(up,sb)。
(e2)接收方恢复m:
f、验证
(f1)接收方确定r:
r=h4(m,ia,ip,ib,up,r);
(f2)下式:
e(p,s)=e(y,h2(mw,ua)ya+yp)re(up,yp)
成立,密文有效;否则,密文无效。
实施例2
本实施例以大素数q为2224-296+1为例,通用可复合的身份代理签密方法由下述步骤组成:
a、系统初始化
(a1)私钥生成器选取阶为大素数q为2224-296+1的一个循环加法群g1和一个循环乘法群g2,设定p是循环加法群g1的一个生成元、e是g1×g1→g2的一个双线性映射。
(a2)私钥生成器选取密码学安全的hash函数h1、h2、h3、h4:h1是{0,1}*→g1,h2是
(a3)私钥生成器随机选取主控钥s∈zq*并确定系统公钥y:
y=sp。
(a4)私钥生成器保密主控钥s,公布系统参数β:
β=(g1,g2,2224-296+1,e,t,l,p,y,h1,h2,h3,h4)
其它步骤与实施例1相同。
实施例3
本实施例以大素数q为2256-2224+2192+296+1为例,通用可复合的身份代理签密方法由下述步骤组成:
a、系统初始化
(a1)私钥生成器选取阶为大素数q为2256-2224+2192+296+1的一个循环加法群g1和一个循环乘法群g2,设定p是循环加法群g1的一个生成元、e是g1×g1→g2的一个双线性映射。
(a2)私钥生成器选取密码学安全的hash函数h1、h2、h3、h4:h1是{0,1}*→g1,h2是
(a3)私钥生成器随机选取主控钥s∈zq*并确定系统公钥y:
y=sp。
(a4)私钥生成器保密主控钥s,公布系统参数β:
β=(g1,g2,2256-2224+2192+296+1,e,t,l,p,y,h1,h2,h3,h4)
其它步骤与实施例1相同。
实施例4
本实施例以大素数q为2384-2128-296+232-1为例,通用可复合的身份代理签密方法由下述步骤组成:
a、系统初始化
(a1)私钥生成器选取阶为大素数q为2384-2128-296+232-1的一个循环加法群g1和一个循环乘法群g2,设定p是循环加法群g1的一个生成元、e是g1×g1→g2的一个双线性映射。
(a2)私钥生成器选取密码学安全的hash函数h1、h2、h3、h4:h1是{0,1}*→g1,h2是
(a3)私钥生成器随机选取主控钥s∈zq*并确定系统公钥y:
y=sp。
(a4)私钥生成器保密主控钥s,公布系统参数β:
β=(g1,g2,2384-2128-296+232-1,e,t,l,p,y,h1,h2,h3,h4)
其它步骤与实施例1相同。
实施例5
本实施例以大素数q为2521-1为例,通用可复合的身份代理签密方法由下述步骤组成:
a、系统初始化
(a1)私钥生成器选取阶为大素数q为2521-1的一个循环加法群g1和一个循环乘法群g2,设定p是循环加法群g1的一个生成元、e是g1×g1→g2的一个双线性映射。
(a2)私钥生成器选取密码学安全的hash函数h1、h2、h3、h4:h1是{0,1}*→g1,h2是
(a3)私钥生成器随机选取主控钥s∈zq*并确定系统公钥y:
y=sp。
(a4)私钥生成器保密主控钥s,公布系统参数β:
β=(g1,g2,2521-1,e,t,l,p,y,h1,h2,h3,h4)
其它步骤与实施例1相同。
根据上述原理,取不同的大素数q的值,可以得出不同的通用可复合的身份代理签密方法,均在本发明的保护范围之内。