[发明专利]一种改进的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)在待处理的消息后面添加一个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+C
B=C+D
C=D+E
D=E+A
E=A+B
f1=(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+C
B=C+D
C=D+E
D=E+A
E=A+B
f2=B XOR C XOR D
A,B,C,D,E<-(E+f2+S5(A)+Wt+Kt),A,S30(B),C,D
第三轮运算有20次操作,每次操作为:
A=B+C
B=C+D
C=D+E
D=E+A
E=A+B
f3=(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+C
B=C+D
C=D+E
D=E+A
E=A+B
f4=(B AND NOT C)XOR D
A,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位的消息摘要,在传输消息摘要时,给待传输的消息摘要添加安全散列值。
2.根据权利要求1所述的一种改进的SHA-1哈希算法,其特征在于:
所述的添加安全散列值的方法为:
发送方的工作:
(1)产生要发送的消息摘要M;
(2)根据该消息摘要M的序列号或者时间戳产生随机分组Si;
(3)将Si添加到消息摘要M尾部或者事先约定的其它位置,对添加了随机分组的消息用散列函数计算散列值H(M,Si);
(4)将消息摘要M与散列值H(M,Si)一同发送出去;
接收方的工作:
(1)从接收到的报文中分离出消息摘要M与散列值H(M,Si);
(2)根据序列号或者时间戳产生随机分组Si′;
(3)将Si′添加到消息摘要尾部或者事先约定的其它位置,对添加了随机分组的消息计算散列值H′(M,Si′);
(4)将H′(M,Si′)与接收到的散列值所H(M,Si)进行比较,若相等则表明消息没有被修改。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州电子科技大学,未经杭州电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010193116.3/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种多灰斗底部合用一个或几个储灰仓的除尘器
- 下一篇:一种新型空气滤清器滤芯