[发明专利]一种可平衡代价的前向安全数字签名方法与系统无效
申请号: | 200910216530.9 | 申请日: | 2009-12-03 |
公开(公告)号: | CN101707523A | 公开(公告)日: | 2010-05-12 |
发明(设计)人: | 许春香;张辉 | 申请(专利权)人: | 电子科技大学 |
主分类号: | H04L9/32 | 分类号: | H04L9/32 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 611731 四川省成*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明属于信息安全技术领域,涉及对数字信息进行签名问题,更确切地说是涉及一种能够减轻签名密钥泄露影响的更适于应用的数字签名方法与系统。该签名方法与普通数字签名相比,增加了一个密钥更新算法,实现了签名密钥的前向安全,即:即使敌手获得当前时间段的签名密钥,敌手也不能够通过该密钥伪造出一个属于前一时间段的合法签名,保护了以前的签名的有效性,降低了密钥泄露的损失。另外,该方案可以根据具体的应用情况,在同等的安全性基础上,允许工程设计人员可以根据硬件条件选择适合的密钥存储代价和计算代价,充分利用硬件的存储能力和计算能力,使密钥存储代价和计算代价达到完美平衡。 | ||
搜索关键词: | 一种 平衡 代价 安全 数字 签名 方法 系统 | ||
【主权项】:
1.一种数字签名方法与签名系统,该签名方法可以按照实际应用环境,选择合适的参数,获得密钥存储代价和计算代价之间的平衡。另外,该签名方案具有前向安全性,在签名密钥发生泄露时,可以保护了以前的签名的有效性,降低了密钥泄露的损失。其特征是,安全性方案基于Blum数分解困难问题,整个方案包括四个部分:密钥生成算法、密钥更新算法、签名算法、签名验证算法。下面是这一可平衡代价的前向安全数字签名方案的完整描述:Algorithm KG(k,l,l′,T)随机选择两个k/2比特长大素数p和q,满足p≡q≡3(mod4);根据应用需求选择l和l’的值,其中,l为Hash函数输出二进制串长度,l′∈[1,l];N←pqFor
doS i , 0 ← R Z N * ; ]]>U i ← 1 / S i , 0 2 l ′ ( T + 1 ) mod N ]]> End For![]()
Return(PK,SK0)Algorithm Upd(SKj-1)
1≤j≤T+1If j=T+1 then return empty stringElseFor
doS i , j ← S i , j - 1 2 l ′ mod N ]]> End For
Return SKjEnd IFAlgorithm![]()
R ← R Z N * ; ]]>Y = R 2 l ′ ( T + 1 - j ) ; ]]>![]()
Return<j,(σ,Z)>Algorithm VfPKH(M,<j,(σ,Z)>)
If σ=H(j,Y,M)Then return 1 Else return 0Algorithm KG()是密钥生成算法,由签名者执行.通过执行该算法,签名者可以获得用于对消息签名的初始签名密钥SK0和对应验证密钥PK.其中,验证密钥PK公开并在整个签名周期保持不变,签名密钥SK0需要签名者秘密保存.该算法的输入包括k,l,l’,T四个参数,其中k和l为安全参数,k代表所选大素数p和q二进制长度,一般建议为512bit;l为算法采用的Hash函数输出的二进制串长度,一般为160bit.T为总的时段数,例如,声明签名验证密钥PK有效期为1年,如果计划每月更新一次签名密钥,则T设置为12,如果计划每天更新一次,则T设置为365.l’为平衡计算代价和存储代价的一个参数,取值范围为[1,l],当l’=1时,本方案便为BM方案,计算代价最低,存储代价最高,当l’=l时,本方案便成了AR方案,计算代价最高,存储代价最低.随着l’取值由小到大,方案的存储代价逐步降低,计算代价逐步升高.Algorithm Upd()是密钥更新算法,由签名者在每一个时段的初始时刻执行该算法。该算法的输入为上一时段的签名密钥SKj-1,输出为本时段的签名密钥SKj。需要强调的是,当该算法执行完毕获得SKj后,要彻底删除前一时段密钥SKj-1。另外,在这里我们规定,当整个周期结束,即j-1=T时,再执行该算法,得到输出为空串。Algorithm Sgn()是签名算法,由签名者执行。该算法的输入为待签名消息M,以及签名者当前时段的签名密钥Skj,输出为一个三元组首<j,(σ,Z)>作为消息M在j时段的签名。签名的计算过程中,先使用输出长度为l的Hash函数H()计算M的Hash值σ,而后对σ按l’长度依次进行分割,得到
个二进制串σi,其中σ1,σ2,…
的长度为l’,
的长度为l mod l’。另外
也非通常意义上的Si,j的σi次幂,σi在这里代表二进制串,而非代表一个整数。
需要按照前面基础数论知识介绍中Fσ:Q →Q的定义来计算。Algorithm Vf()是签名验证算法,可由任何拥有签名验证密钥PK的签名验证者执行。该算法的输入为消息M以及其待验证的签名<j,(σ,Z)>,输出为一个二进制位:0代表否认<j,(σ,Z)>为消息M在j时段的签名,1代表肯定<j,(σ,Z)>为消息M在j时段的签名。算法中对待验证签名中的值σ的分割方法以及
的计算方法与签名算法是对应相同的。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于电子科技大学,未经电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/200910216530.9/,转载请声明来源钻瓜专利网。
- 上一篇:一种管材线材吹除装置
- 下一篇:一种灯头可旋转的LED日光灯管