[发明专利]用于生成哈希值的方法和装置有效
申请号: | 201410199922.X | 申请日: | 2014-05-13 |
公开(公告)号: | CN104158648B | 公开(公告)日: | 2019-03-29 |
发明(设计)人: | M.刘易斯 | 申请(专利权)人: | 罗伯特·博世有限公司 |
主分类号: | H04L9/00 | 分类号: | H04L9/00 |
代理公司: | 中国专利代理(香港)有限公司 72001 | 代理人: | 臧永杰;胡莉莉 |
地址: | 德国斯*** | 国省代码: | 德国;DE |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 生成 哈希值 方法 装置 | ||
本发明涉及生成哈希值的方法,包括:a.将输入数据划分为十六个分别具有32*m位长度的输入数据块,m是大于等于1的整数,下标变量i=0,…,15表示第i个输入数据块Mi,b.用可预先给定的值初始化八个工作数据块,八个工作数据块中的每个都具有32*m位的长度,下标变量k=0,…,7表示第k个工作数据块Mk,c.按照如下规则改变输入数据块和工作数据块:对于i=1至15,将输入数据块Mi,n的内容指派给输入数据块Mi‑1,n+1,n是大于等于零的整数并且代表处理周期;对于k=0,k=1,k=2以及对于k=4,k=5,k=6,将工作数据块Wk,n的内容指派给工作数据块Wk+1,n+1;将第一、第二、第三函数T、G、F的输出值分别指派给输入数据块M15,n+1,工作数据块W0,n+1,工作数据块W4,n+1,其中改变的步骤c)被执行N次,N>1。
技术领域
本发明涉及用于根据数字输入数据生成哈希值的方法。本发明还涉及用于生成这种哈希值的装置。
背景技术
作为输出值提供一个或多个哈希值的哈希函数尤其是被使用在密码学中,特别是针对安全相关的应用例如数字签名、密码存储以及文件的完整性检验等等。广泛流行的密码哈希函数组基于所谓的安全哈希算法版本2(SHA-2)标准,其尤其是在公布“FederalInformation Processing Standards Publication,Secure Hash Standard,FIPS PUB180-3,2008”中得以描述并且可以在因特网中在地址下被调用。相应的专利出版物是US 6,829,355B2。
一般,密码哈希函数接受任意长度的数字输入数据流并且由此生成所谓的哈希值、也即可预先给定的、尤其是固定的长度的数字输出数据。哈希值有时也被称为数字指纹。
哈希值的特别重要的特性在于,哈希函数输入数据的轻微变化已经引起在由此计算的哈希值中的非常大的变化。
此外,密码哈希算法可以具有三个特别的特性:
1.所谓的“抗原像(Preimage Resistance)”,这意味着,必须证明:在有限的、实际可用的计算能力情况下,对于哈希算法的每个可设想的输出值不可能找到所属的输入数据值。
2.所谓的“抗第二原像(Second Preimage Resistance)”,这意味着,在知道由输入数据值和哈希函数的所属输出数据值(哈希值)组成的数据对的情况下实际上不可能找到第二输入数据值,该第二输入数据值通向同一输出数据值、也即哈希值。
3.“抗碰撞(Collision Resistance)”,这意味着,实际上不可能找到两个输入数据值,它们通向同一哈希值。
发明内容
本发明的任务在于,如下地改善开头所述类型的方法和装置:能够实现更简单并且高效的实施。
该任务在开头所述类型的方法中通过如下方式被解决,即该方法具有如下步骤:
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是大于等于零的整数并且代表处理周期,
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于罗伯特·博世有限公司,未经罗伯特·博世有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410199922.X/2.html,转载请声明来源钻瓜专利网。