一种无证书广义代理签密方法

文档序号:8499875阅读:175来源:国知局
一种无证书广义代理签密方法
【技术领域】
[0001] 本发明属于信息安全技术领域,具体设及一种无证书广义代理签密方法。
【背景技术】
[0002] 在传统的公钥密码体制中,公钥是一堆乱码,所W需要一个可信第S方--认证中 屯、(CertificateAuthority,W下简称CA)颁发一个证书来把用户的公钥与其身份信息进 行绑定。而证书的管理费用高昂,该阻碍了传统公钥密码体制的广泛使用。
[0003] 基于身份的密码体制可W降低高昂的证书管理费用,它是化amir于1984年在 CRYPTO'84中提出的概念。基于身份的密码体制是先确定用户的公钥,再计算相应的私钥。 因而公钥可W取为用户的身份信息,从而省去了公钥证书,降低了公钥管理的费用。但基于 身份的密码体制的私钥必须由可信第S方一私钥生成中屯、(PrivateIfeyGenerator,W下 简称PKG)产生,不可避免地引起密钥托管问题,即PKG知道所有用户的私钥。
[0004] 无证书密码体制既可降低公钥的管理费用又可解决密钥托管问题,它是 Al-Riyami和化terson于2003年在ASIACRYPT' 2003中提出的概念。无证书密码体制的 私钥由两部分组成。一部分是密钥生成中屯、化巧GenerationCenter,W下简称KGC)生成 的部分私钥;另一部分是用户自己选取的一个秘密值。公钥也由两部分组成。一部分是用 户的身份信息;另一部分是秘密值对应的公钥。由于KGC不知道用户的完整私钥,因而解决 了密钥托管问题。并且用户的公钥不需要证书,因而降低了公钥的管理费用。
[0005] 保密性和认证性是信息安全领域里两个基本的安全需求。保密性可W通过加密技 术来实现;而认证性可W通过数字签名来实现。当我们同时需要保密性和认证性时,传统 做法是"先签名再加密"。签密可W实现在一个逻辑步骤内同时实现加密和签名两项功能, 而且其计算代价和通信成本比传统的"先签名再加密"的两步实现要小得多,它是化eng于 1997年在CRYPTO' 97中提出的概念。
[0006] 在同时需要机密性和认证性的场合,签密确实十分高效。但当系统只需要机密性 或认证性时,签密将不再适合。于是系统必须使用另外的加密算法或数字签名算法才能满 足要求,该势必将会增加系统的开销和实现复杂性。为克服该种不足,韩益亮等人于2006 年提出了广义签密的概念。广义签密可W只用一个算法和一对密钥同时实现或加密、或签 名和或签密S项功能。
[0007] 代理签名可W让一个原始签名人在自己不方便的时候,委托一个可信任的代理签 名人代替自己签名,它是Mamk)等人于1996年提出的概念。自该概念提出后,代理签名得 到了广泛的应用。1999年,Gamage等人将代理签名的概念和签密的概念相结合,提出了代 理签密的概念。
[0008] 在现有的实现中,代理签名和代理签密是分开的。如果某人有时想使用代理签名 功能,另外一些时候又想使用代理签密功能,则他必须保存两对密钥和使用两个算法。代理 签名用一个算法和一对密钥;代理签密使用另外一个算法和另外一对密钥。该样势必要增 加系统存储密钥的空间、管理密钥的成本、验证密钥的时间和实现两个算法给系统带来的 实现复杂性。

【发明内容】

[0009] 本发明的目的在于克服上述现有技术的缺陷,借鉴广义签密的概念,结合无证书 密码体制的优越性,提供一种只需使用一个算法和一对密钥就可实现代理签名和代理签密 两项功能的一种无证书代理签密方法,我们称其为广义代理签密方法。
[0010] 本发明通过W下技术方案来实现:
[0011] 一种无证书广义代理签密方法,代理人只需使用一对密钥和一个算法就可实现代 理签名和代理签密两项功能,原始签名或签密人授权一个他信任的代理签名或签密人代表 他进行签名或签密;对于敏感数据,代理人可W使用代理签密方法;对于其它信息,他可W 使用代理签名方法;包括W下具体步骤:
[0012] 步骤1、系统初始化;设定系统参数,用于生成用户的私钥和公钥、代理授权生成、 广义代理签密和广义代理解签密。
[001引步骤2、部分私钥生成:用户提交自己的身份信息1町给密钥生成中屯、KGC,KGC根 据系统参数和用户身份信息1町生成用户的部分私钥Di并秘密地发送给用户。
[0014]步骤3、用户密钥生成:用户基于系统参数随机生成一个秘密值Xi,计算相应于该 秘密值的公钥并设置自己的完整私钥;
[0015] 步骤4、代理授权生成:原始签名或签密人产生一个授权证书m,,然后根据系统参 数、自己的完整私钥、自己的身份与公钥对授权证书进行签名产生代理授权0并公开发送 曰给代理签名或签密人。代理签名或签密人根据系统参数、原始签名或签密人的身份与公 钥和111,对0进行验证,验证通过后接受代理授权0,否则要求原始签名或签密人重新生成 代理授权0。
[0016] 步骤5、广义代理签密:代理签名或签密人根据系统参数、自己的完整私钥、代理 授权0、授权证书m,、消息M、自己的身份与公钥和接收人的身份与公钥生成广义代理签密 文Op。该步骤包括两种模式:代理签名模式和代理签密模式。如果接收人身份为空则它工 作于代理签名模式;如果接收人身份不空则它工作于代理签密模式。
[0017] 步骤6、广义代理解签密;该步骤也包括两种模式:代理签名验证模式和代理解签 密模式。如果接收人的身份为空,则它工作于代理签名验证模式,任何人都可W根据系统参 数,原始签名或签密人的身份与公钥、代理签名或签密人的身份与公钥和授权证书nv验证 代理签名Op的正确性,如果验证通过则接受该代理签名0P,否则拒绝;如果接收人的身份 不空,则它工作于代理解签密模式,接收人可W根据系统参数,原始签名或签密人的身份与 公钥、代理签名或签密人的身份与公钥、自己的身份与公钥和授权证书nv验证代理签密文 Op的正确性,如果验证通过则接受该代理签密文0P,然后再使用自己的完整私钥解密出 消息M,否则拒绝。
[0018] 作为本发明的优选,进一步地,所述步骤1的系统参数设置具体为:所述步骤1的 系统参数设置具体为:
[0019] 安全参数k为正整数;一个循环加法群Gi和一个循环乘法群G2,两个群的阶都为 素数q;-个随机的Gi的生成元P; -个双线性映射e:GiXGi-G2;四个安全的散列函数 //|:肿11 一G'l, 一和巧4:化i}*^{〇,ir,其中{(ur表示任意比特长的二进制 序列组成的集合,Gi>表示去掉单位元所得的加法群,Z。'是由所有大于等于1且小于q的正 整数组成的有限域,{〇,1}-表示比特长为m的二进制序列组成的集合,m为预设参数,表示 消息的比特长度;一个特殊函数f(ID),其中IDG{〇,ir为用户身份;如果身份为空,令 f(ID) = 0,否则令f(ID) = 1 ;-个随机数sez;作为主私钥,计算Ppub=sP作为主公钥;公 开系统参数为{6,61,62乂口。。6,111,也&,&,11^师)},保密主密钥8;
[0020] 所述步骤2部分私钥生成具体包括:
[0021] 密钥生成中屯、计算用户的部分私钥Di=sQi,其中Qi=Hi(IDi);则身份为IDa的 原始签名或签密人的部分私钥为Da,身份为IDp的代理签名或签密人的部分私钥为DP,身份 为IDb的接收人的部分私钥为DB;
[0022] 所述步骤3用户密钥生成具体包括:
[0023] 用户随机选取秘密值、',eZ;,计算公钥PKi=XiP,并设置完整私钥为SKi=值。Xi); 则身份为IDa的原始签名或签密人的秘密值为XA,公钥为PKa,完整私钥为SKa=值A,Xa);身 份为IDp的代理签名或签密人的秘密值为XP,公钥为PKp,完整私钥为SKp=(DP,Xp);身份为 IDb的接收人的秘密值为XB,公钥为PKb,完整私钥为SKb=值B,Xb);
[0024] 所述步骤4代理授权生成具体包括:
[00幼原始签名或签密人A随机选取kZ;,计算U=rP,h2=H2(n\,U,IDa,PKa),h3= & (m,,U,IDa,PKa),V= (r+hsXA)Qa+IisDa,其中m,为所述原始签名或签密人给代理签名或签密 人的授权证书,m,中明确说明原始签名或签密人和代理签名
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1