一个由字符串映射到固定大小矩阵的哈希函数的制作方法

文档序号:9527383阅读:614来源:国知局
一个由字符串映射到固定大小矩阵的哈希函数的制作方法
【技术领域】
[0001] 本发明涉及哈希函数,属于密码学中通信安全领域,尤其涉及基于格理论的签名 体制的构造所需哈希函数。构造了一种新型的哈希函数,将字符串哈希到矩阵,有利于在基 于格的密码学研究中的各种计算。
【背景技术】
[0002] 哈希函数在计算机和密码学领域均有广泛地应用。在密码学领域中,哈希函数又 被称为单向散列函数,哈希值又被称为消息摘要、指纹、密码校验和、信息完整性检验、操作 检验吗等。它虽然不是加密算法,但是是现代密码学的中心,是许多密码协议的基本结构模 块。本专利声明研究的就是密码学哈希函数,下文所提到的若没有特殊声明均指密码学的 哈希函数。
[0003] 哈希函数是一个密码函数,其输入为任意有限长度的消息,输出为固定长度的哈 希值。除了广泛地用于数字签名、消息完整性鉴别、消息的起源认证等,另外也和各种密码 算法一起构成混合密码系统。哈希函数的模型为:h=H(M)。
[0004] 其中Μ是待处理的明文,可以为任意长度;Η是哈希函数,h是生成的报文摘
[0005] 要,它具有固定的长度,并且和Μ的长度无关。单向哈希函数具有下列性质:
[0006] (1)给定Μ,很容易计算h=Η(Μ),称之为可计算性;
[0007] (2)给定h,找到满足H(M)=h的Μ在计算上是不可行的,称为单向性;
[0008] (3)给定Μ,找到Μ'使得Η(Μ) =Η(Μ')在计算上是不可行的,称为抗第二原像攻 击;
[0009] (4)找出两条随机消息Μ和Μ',使得H(M) =Η(Μ')在计算上是不可行的,称之 为抗碰撞攻击。
[0010] 这里如果满足了前三条,称之为弱哈希函数;四条都满足,则称为强哈希函数。
[0011] 哈希函数最早应用于数字签名领域,设计一个安全的哈希函数并不是十分困难, 如最早的基于大整数分解设计的哈希函数,但是,在量子计算机提出之后,基于格理论的密 码体制得到广泛地研究,这类密码体制涉及许多的线性运算,用矩阵表示方便而易懂。
[0012] 1977年美国加密标准DES的出现,激发了人们用分组密码涉及哈希函数的热潮, 这最早可追溯到1978年Rabin的工作。1989年美密会上同时发表了两篇在哈希函数涉及 历史上具有重要影响意义的文章,它们提吃了类似地迭代结构,将涉及抗碰撞的哈希函数 转化为抗碰撞的压缩函数。同年,就出现基于该迭代结构设计的哈希函数Snefru,但随后便 被差分攻击完全攻破了; 1990年年Rivest设计了一个称为MD4的哈希算法,该算法的设计 没有基于任何假设和密码体制。哈希函数的这种直接构造方法因其运算速度快、非常实用 等特点收到了人们的广泛青睐。但后来人们发现MD4存在安全性缺陷。基于这类设计思想 出现了许多官方标准的哈希函数,成为MD4-X系列哈希函数,这些函数基于当时已有的软 件平台,实现效率高,设计者也声称这些哈希函数比较安全,但后来人们发现MD4存在安全 性缺陷。1992年Rivest对其进行了改进,构造出了MD5。1998年之前,对此类哈希函数的 分析主要集中在MD4和MD5上,并且对MD5的攻击没有实质性的结果。SHA是美国国家安全 局设计,美国国家标准与技术研究院发布的一系列密码散列函数。1993年发布了SHA-0,两 年之后SHA-1接着发布,它们都是会从一个最大2~64位元的讯息中产生一串160位元的摘 要,然后用MD4及MD5的算法为基础来加密。1998年,Chabaud和Joux采用"扰动-修正 "的思想从理论上对SHA-0进行了分析,得到较好地结果。2004年,相继有众多出色的攻击 方法和结果出现,这些创新的攻击方法对一系列的哈希函数都进行了成功地攻击。
[0013] 评价一个哈希函数的一个最好的方法就是看攻击者找到一堆碰撞消息所花费的 代价有多大。假设攻击者知道哈希算法,攻击者的主要目标是找到一对或更多对的碰撞消 息。常用的分析哈希函数的方法有生日攻击和差分攻击,生日攻击是对哈希函数进行分析 和计算碰撞消息的一般方法。它没有利用哈希函数的结构和任何代数弱性质,只依赖于消 息摘要的长度,这种攻击方法给出了哈希函数具备安全性的一个条件。差分攻击是Bliham 和Shamir提出针对迭代分组密码的分析方法。其基本思想是通过分析特定明文对密文差 的影响来获得性能最大的密钥。2004年美密会上,王小云教授做了破译MD5、HAVAL-128、 MD4和RIPEMD算法的报告,当时世界仍然认为SHA-1是安全的,几个月后王小云教授就宣 布破译SHA-1的消息,并提出了攻击方法,再一次震撼了世界密码学界。但是从技术上讲, MD5和SHA-1的碰撞可在短时间内被求出并不意味着两种算法完全失效,但无论如何,王小 云的方法已经成为短时间内找到MD5和SHA-1的碰撞成为可能。
[0014] 1996年Ajtai证明了在一定的参数条件下,平均情况的小整数解SIS问题的困难 性等价于某类格上最差情况下的特定问题的困难性,比如近似最短向量问题GapSVP和最 短线性无关向量组问题SIVP。在提出此开创性结论的同时,海鲫鱼SIS够早了一组单向函 数,其安全性在最差情况下的ne近似最短向量问题GapSVP的困难假设,其中近似因子c为 大于〇的常数。Goldreich等证明了Ajtai单向函数的抗碰撞性。后续在此函数上的一些 工作主要通过减少c的值来增强其安全性,目前最好的结果是c= 1.但是只有当ef时, GapSVP问题才被认为是NP-Hard问题,而且为了获得100比特的安全性,密钥长度就要达 到500, 000比特,要进行50, 000次的算数运算,因此此方案的实用性较差。为了提高效率, Micciancio将上述单向函数建立在一种结构化格-循环格上,开辟了一种在特殊结构上构 建的高校密码方案的方法。之后,Lyubashevsky等在一种更宽泛的结构化格-理想格上, 构建了更加高效、安全的SWIFFT单向函数,主要使用技术是傅里叶变换FFT,效率很高,并 且具有强可碰撞性,可以将其应用与数字签名方案中,但是SWIFFT不是一个伪随机函数, 也不适合用于随机预言机的初始化。
[0015] 基于格理论的密码体制已经得到了广泛的研究,最早的Ajtai和Dwork提出的基 于格构建的公钥密码加密方案AD,Doldreich、Goldwasser和Halevi在1997年提出的GGH 公钥加密方案,Hoffdtein等提出的NTRU方案等等。在基于格理论设计方案时,涉及到矩 阵运算,因此,为了更好的对基于格理论的密码体制进行研究,一个能够生成分布较为均匀 的矩阵的哈希函数成为需求。
[0016] 基于以上所述,构造一个新型的哈希函数,使其能够将普通的字符串映射到一个 分布较为均匀的矩阵成为一个需要解决的问题。

【发明内容】

[0017] 本发明的目的在于:实现一个基于格困难问题的从字符串映射到矩阵的哈希函 数,它能够满足哈希函数的基本性质,安全性可以得到证明,还可以应用到一定的基于格的 密码体制中。
[0018] 该哈希函数的设计包括以下几部分组成:
[0019] (1)对于需要进行哈希的字符串se{〇,1}%选取基本杂凑函数h:{0,1}~{0, l}m.
[0020] (2)参数初始化:设定系统参数n,m,qeN,其中η为安全参数,m和q满足 nlogq<mS且q = 〇(ne)其中 c>〇 为常数;
[0021](3)基于格困难的基本哈希函数:为了生成哈希函数,随机选取矩阵Me ,对 于输入字符串Ve{〇,1}%计算:
[0022] hM(s< ) =Ms'modq=ΣΜ;modq输出为长度为η的C上的字符串;
[0023] (4)构造最终的哈希结构:利用前一步骤所述的基本结构,构造能够生成nXm的 矩阵,
[0024]
[0025] 这样,就将我们提供的任意长度的
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1