[发明专利]一种生成消息摘要的方法有效
申请号: | 200810102536.9 | 申请日: | 2008-03-24 |
公开(公告)号: | CN101247233A | 公开(公告)日: | 2008-08-20 |
发明(设计)人: | 陆舟;于华章 | 申请(专利权)人: | 北京飞天诚信科技有限公司 |
主分类号: | H04L9/32 | 分类号: | H04L9/32 |
代理公司: | 北京三高永信知识产权代理有限责任公司 | 代理人: | 何文彬 |
地址: | 100083北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 生成 消息 摘要 方法 | ||
1.一种生成消息摘要的方法,其特征在于,所述方法包括:
步骤A1:用预先规定的常量分别初始化字变量1、字变量2、字变量3、字变量4和字变量5;根据预设的消息块长度对原始消息进行补位和补长度处理,得到新消息,将所述新消息划分为多个消息块,每个消息块的长度为所述预设的消息块长度,计算所述消息块的总块数、所述新消息的补位总长度;初始化当前消息块号为0;
步骤A2:判断当前消息块号是否小于消息块的总块数,如果是,执行步骤A3,否则,执行步骤A7;
步骤A3:根据所述当前消息块在所述新消息中的位置初始化中间量缓冲区,将所述中间量缓冲区中按字节规则存放的数据转换为按字规则存放的数据,从而得到16字中间量;
步骤A4:将所述字变量1、字变量2、字变量3、字变量4和字变量5分别赋给预先设定的字变量6、字变量7、字变量8、字变量9和字变量10,令计数变量等于0;
步骤A5:对于计数变量取值0到79,循环计算中间量、字变量6、字变量7、字变量8、字变量9和字变量10;其中,所述计数变量的初始值为0,每循环计算一次,所述计数变量加1;每循环一次,根据当前中间量按照预设规则修改所述字变量6、字变量7、字变量8、字变量9和字变量10;所述中间量分如下两步计算:
1)如果所述计数变量取值0到15,把所述中间量缓冲区中计数变量对应的中间量作为当前中间量;
2)如果所述计数变量取值16到79,将所述中间量缓冲区中缓存的16个中间量依次从0至15编号,提取所述16个中间量中第0、2、8、13个编号对应的中间量,运用预先规定的算法计算当前中间量,并根据所述当前中间量更新所述中间量缓冲区中的中间量;
步骤A6:所述计数变量等于80时,根据如下公式:
字变量1=字变量1+字变量6,
字变量2=字变量2+字变量7,
字变量3=字变量3+字变量8,
字变量4=字变量4+字变量9,
字变量5=字变量5+字变量10;
计算当前字变量1、字变量2、字变量3、字变量4和字变量5;当前消息块号加1;执行步骤A2;
步骤A7:每个消息块都处理完毕,将当前的字变量1、字变量2、字变量3、字变量4和字变量5作为消息摘要。
2.如权利要求1所述的生成消息摘要的方法,其特征在于,所述步骤A1中的预先规定的常量为0x67452301,0xEFCDAB89,0x98BADCFE,0x10325476,0xC3D2E1F0。
3.如权利要求1所述的生成消息摘要的方法,其特征在于,所述步骤A1中的计算所述消息块的总块数、所述新消息的补位总长度包括:
所述消息块的总块数等于所述新消息的长度的六十四分之一;
将所述新消息的长度减去所述原始消息的长度,得到的结果再减去8后的值作为所述新消息的补位总长度。
4.如权利要求1所述的生成消息摘要的方法,其特征在于,所述步骤A3包括:
步骤A31:如果当前消息块位于所述新消息中的原始消息部分,则用所述当前消息块按字节顺序初始化所述中间量缓冲区,然后执行步骤A34;
步骤A32:如果所述当前消息块中位于所述新消息中的原始消息部分的长度大于1,且小于64字节,则用所述当前消息块中的原始消息部分按字节顺序初始化中间量缓冲区,所述中间量缓冲区没有初始化的单元按消息补位、补长度规则进行补位及补长度,若只补位就完成中间量缓冲区的剩余单元的初始化,然后执行步骤A34,否则,在补位后再补长度来完成中间量缓冲区的剩余单元的初始化,然后后执行步骤A34;
步骤A33:如果所述当前消息块位于所述新消息中的补位或补长度部分,按消息补位、补长度规则初始化中间量缓冲区,然后执行步骤A34;
步骤A34:把中间量缓冲区中按字节规则存放的数据转换成按字规则存放的数据,从而得到16字中间量。
5.如权利要求1所述的生成消息摘要的方法,其特征在于,所述步骤A5中的运用预先规定的算法计算当前中间量,并根据所述当前中间量更新所述中间量缓冲区中的中间量的步骤包括:
对提取出的第0、2、8、13个编号对应的中间量进行异或运算,对异或运算的结果做循环左移1位运算,将移位后的结果作为当前中间量;
把所述中间量缓冲区中第1至15号中间量依次赋值给第0至14号中间量,然后将第15号中间量保存所述当前中间量。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京飞天诚信科技有限公司,未经北京飞天诚信科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200810102536.9/1.html,转载请声明来源钻瓜专利网。
- 上一篇:粉末涂料
- 下一篇:储罐用的组装式外浮盘