[发明专利]用于生成哈希值的方法和装置有效
申请号: | 201410199922.X | 申请日: | 2014-05-13 |
公开(公告)号: | CN104158648B | 公开(公告)日: | 2019-03-29 |
发明(设计)人: | M.刘易斯 | 申请(专利权)人: | 罗伯特·博世有限公司 |
主分类号: | H04L9/00 | 分类号: | H04L9/00 |
代理公司: | 中国专利代理(香港)有限公司 72001 | 代理人: | 臧永杰;胡莉莉 |
地址: | 德国斯*** | 国省代码: | 德国;DE |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 生成 哈希值 方法 装置 | ||
1.一种用于根据数字输入数据生成哈希值的方法,其中该方法包括下面的步骤:
a)将输入数据划分为分别具有32*m位长度的十六个输入数据块,其中m是大于等于1的整数,并且其中下标变量i=0,…,15表示第i个输入数据块Mi,
b)用可预先给定的值初始化八个工作数据块,其中八个工作数据块中的每个都具有32*m位的长度,并且其中下标变量k=0,…,7表示第k个工作数据块Wk,
c)按照如下规则改变输入数据块和工作数据块:
c1)对于i=1至15,将输入数据块Mi,n的内容指派给输入数据块Mi-1,n+1,其中n是大于等于零的整数并且代表处理周期,
c2)对于k=0,k=1,k=2以及对于k=4,k=5,k=6,将工作数据块Wk,n的内容指派给工作数据块Wk+1,n+1,
c3)将第一函数T的输出值指派给输入数据块M15,n+1,
c4)将第二函数G的输出值指派给工作数据块W0,n+1,
c5)将第三函数F的输出值指派给工作数据块W4,n+1,
其中改变的步骤c)被执行N次,其中N>1,其中
A)在m=1的情况下
-函数T被定义为
其中是操作数x向右逐位旋转y个许多位,其中是操作数x向右逐位逻辑移位y个许多位,其中XOR是异或逻辑连接,
-函数G被定义为G=T0+T1,其中其中其中AND是与逻辑连接,其中NOT是逐位非,其中Wk,n是处理周期n的第k个工作数据块,其中kn是可预先给定的常数,其中
-函数F被定义为F=W3,n+T0,
以及其中
B)在m=2的情况下
-函数T被定义为
-函数G被定义为G=T0+T1,其中T0=M0,n+
其中
,其中
-函数F被定义为,
d)从至少经改变的工作数据块中生成哈希值。
2.根据权利要求1所述的方法,其中设置有8个哈希数据块,其中8个哈希数据块中的每个都具有32*m位的长度,并且其中在r*N次执行步骤c)之后将工作数据块的内容优选逐块地加到哈希数据块的内容上,其中r是大于等于1的整数。
3.根据权利要求2所述的方法,其中所述加的步骤包括下面的步骤:
d1)将工作数据块W7,n和哈希数据块H7,n之和指派给哈希数据块H0,n+1,
d2)对于I=1至7,将哈希数据块HI-1,n的值指派给哈希数据块HI,n+1。
4.根据权利要求1至3之一所述的方法,其中m=1和/或其中N=64和/或其中在八个工作数据块的初始化的步骤中进行下面的指派:
和/或其中八个哈希数据块通过下面的指派被初始化:。
5.根据权利要求1至3之一所述的方法,其中m=2和/或其中N=80和/或其中在八个工作数据块的初始化的步骤中进行下面的指派:
和/或其中八个哈希数据块通过下面的指派被初始化:
。
6.根据权利要求1至3之一所述的方法,其中第一移位寄存器被用于至少暂时地存储输入数据块,和/或其中第二移位寄存器被用于至少暂时地存储工作数据块,和/或其中第三移位寄存器被用于至少暂时地存储哈希数据块。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于罗伯特·博世有限公司,未经罗伯特·博世有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410199922.X/1.html,转载请声明来源钻瓜专利网。