《一种加固的基于压缩函数的hash函数构造方法》
点击下载 ⇩文件编号: | KEYAN6666634666 |
---|---|
下载格式: | Word/DOC(PDF已转Word) |
中图分类: | O174 |
完成/联系人 | 王勇 刘建明 汪华登 蔡国永 付莉 陈智勇 |
来源省份: | 广西 |
完成单位: | 桂林电子科技大学 |
所属部门: | 广西壮族自治区教育厅 |
科研日期: | 2017 |
研究行业: | 自然科学研究与试验发展 |
研究主题: | 函数构造方法,密码算法, |
联系电话: | 下载查看 |
联系地址: | 广西壮族自治区桂林市金鸡路1号 |
传媒
现有的hash函数是基于一种迭代的算法,其迭代所用的压缩函数是相同的,在这样的情况下可能存在一些攻击,比如碰撞攻击、原像攻击和第二原像攻击等。现有的hash(又译为哈希、杂凑、散列)函数主要有两大类,它们分别是以压缩函数和分组密码算法为基本计算单元的,以压缩函数构造的hash函数为例,它将明文消息进行一定的填充处理,对消息进行分组后,依次对每一个分组采用相同的压缩函数进行压缩,运算到最后一个分组后,得到hash值。这种设计结构简单,便于理解与实现,但是,却存在一定的不合理性:第一个分组和最后一个分组与中间分组采用相同的压缩函数,而第一个分组和最后一个分组的处理有特殊之处,第一个分组由于没有前面的压缩结果,所以需要一个确定的初始值参与运算,这个值是不变的,在密码分析的时候,没有选择的自由度,而最后一个分组包含一定的填充数据和关于消息长度的信息,具有较大的冗余度,并不像其他的分组的数据是完全自由、随机的(抛开明文的冗余度)。这样的冗余数据对于密码分析是不利的,因为对于密码分析者任何一个bit有选择性总比没有选择性好,而且,最后一个分组包含关于消息长度信息。因此,该发明考虑加固这两个分组。对这两个分组进行加强的理由有:第一,它们是比较难以破解的部分,对于hash函数的原像攻击是必须将每一个分组逆推出来,这样,加强最难的分组将会让破译难度更大。第二,它们是必须存在的分组,特殊的时候,第一个分组就是最后一个分组,而中间分组可能是不存在的,所以从这个角度,加强必需分组可增强安全性。第三,对于很长的明文,如果中间分组的运算量很大,则计算hash的运算量会很大,所以,中间分组的计算量应较小,这样中间分组与最前和最后分组不宜采用相同的压缩函数,中间分组采用相对简单,而最前和最后分组采用相对更为复杂的算法则更容易接受。第四,最后一个分组含有重要的信息,即关于明文长度的信息,如果可以随意破解这个分组,则分析者有可能任意设定伪造明文(碰撞消息)的长度,这对于破解是有利的,因为密码分析者可以根据自己的需要设定伪造明文的长度,选择更为有利的、最容易破译的长度,一般地,他可能会设定最短的,使得填充处理后的消息不超过一个分组长度,这样破译的工作量会较小。由于hash是多对一的映射,比如有的hash分组长度是512bit,hash值长度是128bit,即使设定消息的长度(对于一些hash明文消息长度的信息是64bit),对于一个确定的hash值,在该消息长度下平均而言也有大量的消息与这个hash值对应。由此可见,最后一个分组需要进行加固。第五,现有的一些hash分析大多数都是考虑两个明文分组或者单个明文分组的情况寻找碰撞,该设计的加固第一个分组和最后一个分组,使得这些hash分析无法绕过。鉴于上面的分析,以及传统的hash函数的缺陷,该发明中考虑对第一个分组和最后一个分组进行加固,特别是最后一个分组应该采用有效加固方法:第一个分组采用加固的、比较安全的压缩函数F1,中间分组采用通常的压缩函数Fz,最后一个分组采用加固的压缩函数Fn。该课题的创造性体现在关键的分组采用了加固的压缩函数,从而增强了安全性。技术已经较为成熟,适用于安全保密要求高和计算能力强的哈希函数应用;在一些领域得到了应用。
提示:为方便大家复制编辑,博主已将PDF文件制作为Word/Doc格式文件。