首页 / 专利库 / 电脑安全 / 密码学 / 将任意长度字符串映射到固定大小矩阵的哈希函数方法

将任意长度字符串映射到固定大小矩阵的哈希函数方法

阅读:1060发布:2020-06-26

专利汇可以提供将任意长度字符串映射到固定大小矩阵的哈希函数方法专利检索,专利查询,专利分析的服务。并且本 发明 构造了一种新的哈希函数,属于通信安全 基础 领域,结果是将任意长度字符串哈希到规定固定大小的矩阵上面。本发明包括一下几个主要组成部分:对输入的任意长度的字符串首先选取一个普通的哈希a=h(b),能够将其映射到一个长度为m字符串;随机系统参数初始化,安全参数为n,m和q满足且q=O(nc)其中c>0为常数;基于格困难问题构造的一个基本哈希函数hM(s′),能够将二进制长度为m的字符串映射到二进制长度nlogq;最后,结合上述结论,构造最终哈希函数最后,证明该哈希函数满足可计算性、单向性以及抗碰撞性。,下面是将任意长度字符串映射到固定大小矩阵的哈希函数方法专利的具体信息内容。

1.一种将任意长度字符串映射到固定大小矩阵的哈希函数方法,所述哈希函数应用于密码学,其特征如下面所描述:
要求将任意长度的原始字符串s哈希为一个固定大小的矩阵 其中n,m,q会在
后面的介绍中一一说明;
选取杂凑函数h:{0,1}*→{0,1}m,此处,箭头表示由左边的字符串生成右边的字符串,h是已有的能将任意长度字符串哈希到固定长度字符串的哈希函数;
系统参数初始化:设定系统参数n,m,q∈N,其中n为安全参数,m和q满足
且q=O(nc)其中c>0为常数;
基于格困难的基本哈希函数:为了生成哈希函数,随机选取矩阵 假设有字符串s′∈{0,1}m,计算:h(M)(s′)=Ms′mod q=∑ssi′Mimod q输出为长度为n的 上的字符串;
构造最终的哈希结构:利用前一步骤所述的基本哈希函数,构造能够生成n×m的矩阵,这样,就将任意长度的字符串哈希到一个固定大小的矩阵上。

说明书全文

将任意长度字符串映射到固定大小矩阵的哈希函数方法

技术领域

[0001] 本发明涉及哈希函数,属于密码学中通信安全领域,尤其涉及基于格理论的签名体制的构造所需哈希函数。构造了一种新型的哈希函数,将字符串哈希到矩阵,有利于在基于格的密码学研究中的各种计算,所述哈希函数应用于密码学。

背景技术

[0002] 哈希函数在计算机和密码学领域均有广泛地应用。在密码学领域中,哈希函数又被称为单向散列函数,哈希值又被称为消息摘要、指纹、密码校验和、信息完整性检验、操作检验吗等。它虽然不是加密算法,但是是现代密码学的中心,是许多密码协议的基本结构模。本专利声明研究的就是密码学哈希函数,下文所提到的若没有特殊声明均指密码学的哈希函数。
[0003] 哈希函数是一个密码函数,其输入为任意有限长度的消息,输出为固定长度的哈希值。除了广泛地用于数字签名、消息完整性鉴别、消息的起源认证等,另外也和各种密码算法一起构成混合密码系统。哈希函数的模型为:h=H(M)。其中M是待处理的明文,可以为任意长度;H是哈希函数,h是生成的报文摘要,它具有固定的长度,并且和M的长度无关。单向哈希函数具有下列性质:
[0004] (1)给定M,很容易计算h=H(M),称之为可计算性;
[0005] (2)给定h,找到满足H(M)=h的M在计算上是不可行的,称为单向性;
[0006] (3)给定M,找到M‘使得H(M)=H(M‘)在计算上是不可行的,称为抗第二原像攻击;
[0007] (4)找出两条随机消息M和M‘,使得H(M)=H(M‘)在计算上是不可行的,称之为抗碰撞攻击。
[0008] 这里如果满足了前三条,称之为弱哈希函数;四条都满足,则称为强哈希函数。
[0009] 哈希函数最早应用于数字签名领域,设计一个安全的哈希函数并不是十分困难,如最早的基于大整数分解设计的哈希函数,但是,在量子计算机提出之后,基于格理论的密码体制得到广泛地研究,这类密码体制涉及许多的线性运算,用矩阵表示方便而易懂。
[0010] 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年,相继有众多出色的攻击方法和结果出现,这些创新的攻击方法对一系列的哈希函数都进行了成功地攻击。
[0011] 评价一个哈希函数的一个最好的方法就是看攻击者找到一堆碰撞消息所花费的代价有多大。假设攻击者知道哈希算法,攻击者的主要目标是找到一对或更多对的碰撞消息。常用的分析哈希函数的方法有生日攻击和差分攻击,生日攻击是对哈希函数进行分析和计算碰撞消息的一般方法。它没有利用哈希函数的结构和任何代数弱性质,只依赖于消息摘要的长度,这种攻击方法给出了哈希函数具备安全性的一个条件。差分攻击是Bliham和Shamir提出针对迭代分组密码的分析方法。其基本思想是通过分析特定明文对密文差的影响来获得性能最大的密钥。2004年美密会上,王小教授做了破译MD5、HAVAL-128、MD4和RIPEMD算法的报告,当时世界仍然认为SHA-1是安全的,几个月后王小云教授就宣布破译SHA-1的消息,并提出了攻击方法,再一次震撼了世界密码学界。但是从技术上讲,MD5和SHA-1的碰撞可在短时间内被求出并不意味着两种算法完全失效,但无论如何,王小云的方法已经成为短时间内找到MD5和SHA-1的碰撞成为可能。
[0012] 1996年Ajtai证明了在一定的参数条件下,平均情况的小整数解SIS问题的困难性等价于某类格上最差情况下的特定问题的困难性,比如近似最短向量问题GapSVP和最短线性无关向量组问题SIVP。在提出此开创性结论的同时,还基于SIS够早了一组单向函数,其安全性在最差情况下的nc近似最短向量问题GapSVP的困难假设,其中近似因子c为大于0的常数。Goldreich等证明了Ajtai单向函数的抗碰撞性。后续在此函数上的一些工作主要通过减少c的值来增强其安全性,目前最好的结果是c=1.但是只有当 时,GapSVP问题才被认为是NP-Hard问题,而且为了获得100比特的安全性,密钥长度就要达到500,000比特,要进行50,000次的算数运算,因此此方案的实用性较差。为了提高效率,Micciancio将上述单向函数建立在一种结构化格-循环格上,开辟了一种在特殊结构上构建的高校密码方案的方法。之后,Lyubashevsky等在一种更宽泛的结构化格-理想格上,构建了更加高效、安全的SWIFFT单向函数,主要使用技术是傅里叶变换FFT,效率很高,并且具有强可碰撞性,可以将其应用与数字签名方案中,但是SWIFFT不是一个伪随机函数,也不适合用于随机预言机的初始化。
[0013] 基于格理论的密码体制已经得到了广泛的研究,最早的Ajtai和Dwork提出的基于格构建的公钥密码加密方案AD,Doldreich、Goldwasser和Halevi在1997年提出的GGH公钥加密方案,Hoffdtein等提出的NTRU方案等等。在基于格理论设计方案时,涉及到矩阵运算,因此,为了更好的对基于格理论的密码体制进行研究,一个能够生成分布较为均匀的矩阵的哈希函数成为需求。
[0014] 基于以上所述,构造一个新型的哈希函数,使其能够将普通的字符串映射到一个分布较为均匀的矩阵成为一个需要解决的问题。

发明内容

[0015] 本发明的目的在于:实现一个基于格困难问题的从字符串映射到矩阵的哈希函数,它能够满足哈希函数的基本性质,安全性可以得到证明,还可以应用到一定的基于格的密码体制中。
[0016] 该哈希函数的设计包括以下几部分组成:
[0017] (1)对于需要进行哈希的字符串s∈{0,1}*,选取基本杂凑函数h:{0,1}*→{0,1}m.[0018] (2)参数初始化:设定系统参数n,m,q∈N,其中n为安全参数,m和q满足且q=O(nc)其中c>0为常数;
[0019] (3)基于格困难的基本哈希函数:为了生成哈希函数,随机选取矩阵 对于输入字符串s′∈{0,1}*,计算:
[0020] hM(s′)=Ms′mod q=Σssi′Mi mod q输出为长度为n的 上的字符串;
[0021] (4)构造最终的哈希结构:利用前一步骤所述的基本结构,构造能够生成n×m的矩阵,
[0022]
[0023] 这样,就将我们提供的任意长度的字符串哈希到一个固定大小的矩阵上。
[0024] 由于本发明是基于格困难问题假设的基础上构建的哈希函数,故对此哈希函数的性质的证明应该基于格上困难问题的假设。
[0025] 本发明的有益效果在于:
[0026] (1)基于格困难问题构建的哈希函数,其安全性较强,求哈希函数值的过程也简单易见。
[0027] (2)能够实现将任意长度的字符串经过两次映射,得到一个固定要求大小的矩阵。
[0028] (3)这样的构建在基于格上构建密码体制带来很大的方便。附图说明
[0029] 本发明将通过具体的实例及附图的方式进行说明,其中
[0030] 图1为发明总体体构造过程的流程图
[0031] 图2为H矩阵具体生成图。

具体实施方式

[0032] 下面结合附图对本发明的技术方案做详细说明,要求将长度为任意的原始字符串s哈希为一个固定大小的矩阵 其中n,m,q,会在后面的介绍中一一说明,结合附图1,具体实施过程如下。
[0033] (1)对任意长度字符串的处理:在我们的哈希过程中,需要对任意长度或者固定长度的字符串做处理,为了后续的构造,我们首先选取一个普通杂凑函数,设此哈希函数记做h:{0,1}*→{0,1}m,此处,箭头表示由左边的字符串生成右边的字符串,h是已有的能将任意长度字符串哈希到固定长度字符串的哈希函数,即a=h(b),此处a∈{0,1}m和b为任意长度;
[0034] (2)系统参数的初始化:对于安全参数n,我们选取一个随机矩阵 m和q的选取满足 且q=O(nc),c>0为常数;
[0035] (3)基于格困难的基本哈希过程:选择哈希方程如下,假设输入字符串s′∈{0,1}m,计算哈希值的过程为:
[0036] hM(s′)=Ms′ mod q=Σisi′Mi mod q
[0037] 此处,二进制输出长度为nlogq,由于参数满足nlogq
[0038] (4)对于以上步骤的描述,对于输入的任意长度的字符串s,进行下面的运算[0039]
[0040] 如附图2所示,其中,s字符串长度是任意的,经过基本杂凑函数h后,可以映射为长度为m的字符串,上述以“,”表示将这m个长度为n的向量拼接起来,生成一个 的矩阵。至此,这个特殊哈希函数的构造完成。
[0041] 下面讨论此哈希函数的性质
[0042] (1)可计算性:两个部分都是明显可计算的;
[0043] (2)单向性:a=h(b)的单向性是显而易见的。此外,由格上的理论得知,哈希函数hM是单向并且抗碰撞的,由于M是选取的随机均匀矩阵, 为一个格,设格的基为T,则方程hM(s′)=s0求值很容易,但是已知s0求逆,在不知道T的情况下很难求解,这是由格中的ISIS困难性假设得出的,它在平均情况下是困难的,由此,hm(s′)是满足单向性的,故最终的哈希函数H也是单向的;
[0044] (3)抗碰撞性:a=h(b)由于是已知的普通哈希函数,故其一定是抗碰撞的。同时,hM(s′)=s0输入输出均为二进制串,若存在碰撞,即存在s1≠s2满足Ms1=Ms2,这样M(s1-s2)=0 mod q,即Mx=0 mod q有解,这与格中SIS问题的困难性假设相冲突,故hM是抗碰撞的,从而最终的函数H也是抗碰撞的。
[0045] 综上所述,本发明构造的新型哈希函数实现了将任意字符串映射到固定大小矩阵的功能,同时具备哈希函数的基本性质。
[0046] 以上所述,仅为本发明的具体实施方式,本说明书(包括附加权利要求、摘要和附图)中所公开的任一特征,除非特别叙述,均可被其他等效或具有类似目的的替代特征加以替换,即除非特别叙述,每个特征只是一系列等效或类似特征中的一个例子。本发明可以扩展到任何在本说明书中披露的任何新的组合或新特征,以及披露的任一新的方法或过程的步骤或任何新的组合。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈