[发明专利]一种基于身份的数字签名方法无效
申请号: | 200910027375.6 | 申请日: | 2009-05-31 |
公开(公告)号: | CN101562524A | 公开(公告)日: | 2009-10-21 |
发明(设计)人: | 李继国;姜年进 | 申请(专利权)人: | 河海大学 |
主分类号: | H04L9/32 | 分类号: | H04L9/32 |
代理公司: | 南京经纬专利商标代理有限公司 | 代理人: | 许 方 |
地址: | 21004*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明提供一种基于身份的数字签名方法。该签名方法包括步骤:生成用于签名和验证签名的系统参数;根据用户身份信息以及所述系统参数,生成用户的私钥;利用所得到的私钥对消息进行签名;根据所述系统公开参数和签名者的身份对消息的签名进行验证。由于在本发明中,对于验证方程算法的某些计算在签名算法中,当系统参数确定之后,是常量,则在系统参数生成时对其进行预计算,大大减少验证方程的计算代价;在对同一用户对不同消息进行签名时候,进行特殊处理(文中有详细说明),能大大降低通信代价。经过这样的处理之后,在不降低安全性的基础上,极大的提高系统的运行效率。 | ||
搜索关键词: | 一种 基于 身份 数字签名 方法 | ||
【主权项】:
1、一种基于身份的数字签名方法,其特征在于,依次经过以下几个模块操作步骤:A、系统参数生成模块:PKG运行系统参数生成算法:首先系统选取大素数p,p阶乘法循环群G和GT,双线性映射e:G×G→GT,从G中选择一个生成元g,随机选择g2∈G,α∈Zp,计算g1=gα∈G,随机选择u′∈Zp,m′∈Zp,nu维向量Uv=(ui),nm维向量Mv=(mi),其中ui∈Zp,mi∈Zp。计算z1=e(g1,g2),z2=e(g,g2);综合上述信息,系统参数生成算法生成系统参数,其中系统公开参数为params=(p,g,g1,g2,u′,Uv,m′,Mv,z1,z2),系统主密钥为α∈Zp;B、用户密钥生成模块:步骤1:在线任务分配器用待签名的用户身份发送给密钥生成器;步骤2:密钥生成器将用户的身份信息发送给Hash运算器进行运算,计算得到身份的Hash值u,即:H u : { 0,1 } * → { 0,1 } n u , ]]> 其中Hu是{0,1}*到
的密码学哈希函数,{0,1}*表示有不确定个集合{0,1}的笛卡尔积,
表示有nu个集合{0,1}的笛卡尔积;步骤3:Hash运算器将计算得到的用户身份Hash值u发送给密钥生成器;步骤4:密钥生成器对得到的用户身份Hash值u进行以下处理:u为一个长度为nu的比特串,即经过抗碰撞哈希函数映射之后的Hash值,令U为u中比特值为1的位置的集合,则U ⊆ { 1 , . . . , n u } , ]]> 计算
随机选择t∈Zp,计算用户的密钥d u = ( d 0 , d 1 ) = ( g 2 α + t ( u ′ + Σ i ∈ U u i ) , z 2 t ) , ]]> 并通过安全信道把密钥传给在线任务分配器,若α + t ( u ′ + Σ i ∈ U u i ) = 0 mod p , ]]> 则密钥生成器重新选择随机数t∈Zp,计算用户的私钥,发送给在线任务分配;C、签名模块:步骤5:在线任务分配器将得到的用户密钥通过安全信道发送给相应的用户;步骤6:用户得到密钥后,利用密钥验证器对密钥进行验证。密钥验证器将用户的身份信息发送给Hash运算器;步骤7:Hash运算器将计算得到的用户的定长身份比特串u发送给密钥验证器;密钥验证器验证等式:e ( g , d 0 ) = z 1 · d 1 ( u ′ + Σ i ∈ U u i ) , ]]> 若等式不成立,执行步骤8;反之,则用户可以确认密钥是由PKG产生的,执行步骤9;步骤8:密钥验证器重新向PKG询问密钥,在线任务分配器重新执行步骤1;步骤9:密钥验证器将验证通过的用户密钥du发送给签名运算器;步骤10:签名运算器将待签名的消息比特串发送给Hash运算器进行运算,计算得到消息Hash值m,即:H m : { 0,1 } * → { 0,1 } n m , ]]> 其中Hm是{0,1}*到
的密码学哈希函数,{0,1}*表示有不确定个集合{0,1}的笛卡尔积,
表示有nm个集合{0,1}的笛卡尔积;步骤11:Hash运算器将计算得到的Hash值m发送给签名运算器,签名运算器进行类似上面身份处理方法,令M为m中比特值为1的位置的集合,则M ⊆ { 1 , . . . , n m } , ]]> 计算
随机选择s∈Zp,计算消息的签名,共3个部分,即:σ = ( w , x , y ) = ( d 0 · g 2 s ( m ′ + Σ j ∈ M m j ) , z 2 s , d 1 ) ; ]]> 步骤12:签名运算器将消息的签名σ发送给在线任务分配器;D、验证模块:步骤13:在线任务分配器将待验证消息签名发送给验证者;步骤14:签名验证器首先将消息和签名者身份发送给Hash运算器,进行Hash映射;步骤15:Hash运算器将身份的映射结果u、和消息的映射结果m发送给签名验证器;步骤16:签名验证器用PKG公开参数(p,g,g1,g2,u′,Uv,m′,Mv,z1,z2)和签名用户的身份对消息的签名σ进行验证,若等式e ( g , w ) = z 1 · x ( m ′ + Σ j ∈ M m j ) · y ( u ′ + Σ i ∈ U u i ) ]]> 成立,则签名有效,反之无效。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于河海大学,未经河海大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/200910027375.6/,转载请声明来源钻瓜专利网。