[发明专利]一种改进的SHA-1哈希算法有效
申请号: | 201010193116.3 | 申请日: | 2010-06-04 |
公开(公告)号: | CN101872338A | 公开(公告)日: | 2010-10-27 |
发明(设计)人: | 吴卿;张奇锋;倪永军;周兴武;金恭华;赵俊杰;郁伟炜;吴鹏;曾虹 | 申请(专利权)人: | 杭州电子科技大学 |
主分类号: | G06F17/15 | 分类号: | G06F17/15;H04L29/06 |
代理公司: | 杭州求是专利事务所有限公司 33200 | 代理人: | 杜军 |
地址: | 310018 浙*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明涉及一种改进的SHA-1哈希算法。现有的SHA-1哈希算法安全性不高。本发明方法首先在待处理的消息后面添加一个1、若干个0和一个64比特的二进制串,其次对该消息进行扩大分组,使得原来512bit的分组变为1024bit的分组并初始化存器值;然后利用主循环依次处理每个分组,主循环共有四轮运算,每轮运算中包含逻辑函数和压缩函数处理。最后所有的分组处理完毕后,输出160位的消息摘要,在传输消息摘要时,给待传输的消息摘要添加安全散列值。通过本发明方法,能使原来的SHA-1算法在对消息的处理上具有更高的安全性,并且通过改进该算法的逻辑函数的表达式和压缩函数逻辑结构,提高了SHA-1算法的效率。 | ||
搜索关键词: | 一种 改进 sha 算法 | ||
【主权项】:
一种改进的SHA-1哈希算法,其特征在于该方法包括如下步骤:步骤(1)在待处理的消息后面添加一个1和N个0,使消息的长度变成对512求余的结果为448,512≥N≥1;步骤(2)在新得到的消息后面添加一个64比特的二进制串,二进制串的值为消息的原始长度,然后对该消息进行扩大分组,使得原来512bit的分组变为1024bit的分组,即相邻的512bit的分组组成新的1024bit的分组;步骤(3)初始化缓存器值,所述的缓存器值为5个32比特的变量,包括变量A、变量B、变量C、变量D、变量E;步骤(4)利用主循环依次处理每个分组,所述的主循环共有四轮运算,第一轮运算有20次操作,每次操作为:A=B+CB=C+DC=D+ED=E+AE=A+Bf1=(B AND C)OR(NOT B AND D)A,B,C,D,E<-(E+f1+S5(A)+Wt+Kt),A,S30(B),C,D第二轮运算有20次操作,每次操作为:A=B+CB=C+DC=D+ED=E+AE=A+Bf2=B XOR C XOR DA,B,C,D,E<-(E+f2+S5(A)+Wt+Kt),A,S30(B),C,D第三轮运算有20次操作,每次操作为:A=B+CB=C+DC=D+ED=E+AE=A+Bf3=(B AND C)OR(B AND D)OR(C AND D)A,B,C,D,E<-(E+f3+S5(A)+Wt+Kt),A,S30(B),C,D第四轮运算有20次操作,每次操作为:A=B+CB=C+DC=D+ED=E+AE=A+Bf4=(B AND NOT C)XOR DA,B,C,D,E<-(E+f4+S5(A)+Wt+Kt),A,S30(B),C,D其中B、C和D均表示缓存器值,AND表示与运算,OR表示或运算,NOT表示非运算,XOR表示异或运算,Wt表示第t个分组中待处理的32位字,“+”表示mod 232加法,“<-”表示赋值运算,Sk(A)表示变量A循环左移k位,Kt表示一个用于加法的常量,四轮循环中的值都不同;步骤(5)所有的分组处理完毕后,输出160位的消息摘要,在传输消息摘要时,给待传输的消息摘要添加安全散列值。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州电子科技大学,未经杭州电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201010193116.3/,转载请声明来源钻瓜专利网。
- 上一篇:一种多灰斗底部合用一个或几个储灰仓的除尘器
- 下一篇:一种新型空气滤清器滤芯