基于复合非线性数字滤波器的混沌散列构造方法技术

技术编号:3511881 阅读:262 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种基于复合非线性数字滤波器的混沌散列构造方法。在明文产生的复合序列控制下,随机选择迭代过程中的自回归非线性数字滤波器子系统,将明文巧妙地调制到复合滤波器的高维混沌轨迹中,并以混沌轨迹的粗粒化量化后作为明文的散列值。将复合滤波器的迭代初始点作为算法的密钥,能够满足带密钥散列算法的安全性要求。复合滤波器产生的高维混沌的初值敏感性和遍历特性,使得散列结果对明文极度敏感且在散列空间中均匀分布,且复合序列增加了滤波器子系统选择的随机性,能够保证迭代轨迹与初始条件之间的复杂敏感的非线性关系,从而具有更好的置乱性,更强的抗破译能力,且基于滤波器结构的算法简单快速,易于模块化和硬件实现。

【技术实现步骤摘要】

本专利技术涉及信息安全
中一种提取消息摘要的散列构造方法,可广泛用于数字证书、电子签名、口令保护、数字信息的完整性验证等安全应用场合。
技术介绍
随着电子商务和信息数字化的飞速发展,散列算法在基于网络的安全应用如数字证书、数字签名、身份认证和信息完整性保护中得到广泛的使用。经典的散列算法如MD5(Message Digest 5,消息摘要算法5版)和SHA(SecureHash Algorithm,安全散列算法)在金融、证券等电子商务中得到普遍应用并成为事实上的两大标准。从上世纪90年代以来,人们就对这两大算法进行了安全攻击,并相继提出了“生日攻击”、“微分攻击”等破译方法。2004年,王小云教授在国际密码会Crypto 2004’上的“Collisions for Hash FunctionsMD4,MD5,HAVAL 128 and RIPEMD”报告,对MD5进行了有效攻击。随后,王等人又宣告对SHA-1完成了理论上的破译。鉴于MD5被破译及SHA-1漏洞被发现,美国国家技术与标准局(NIST)表示,他们将逐渐放弃目前使用的SHA-1,并于2010年前逐步推广更安全的SHA-224、SHA-256、SHA-384和SHA-512几种散列算法。但是这些散列算法大多是基于复杂度假设,需要进行大量复杂的异或等逻辑运算或是用分组加密方法进行多次迭代,运算量很大,随着散列长度的增加,其运算复杂度呈指数递增。随着人们对混沌理论的深入研究,发现混沌具有对初始条件敏感、伪随机、类噪声和遍历等优良密码特性,并将混沌广泛应用在加密和随机数生成算法中。2000年刘在文献1“基于混沌映射的单向散列函数构造”(刘军宁等清华大学学报,2000(40)55)中首次将混沌引入到散列生成算法中,提出了一种基于混沌映射的散列算法。2003年王在文献2“基于广义混沌映射切换的单向散列函数构造”(王小敏等物理学报2003(52)2737)中指出该算法基于某一特定的混沌系统,易被混沌预测技术破译,同时有效字长精度效应将导致混沌序列的短周期行为,使得算法的性能蜕化等问题,并提出一种基于广义混沌映射切换的混沌散列构造方法。同年,李在文献3“复合非线性离散动力系统和Hash函数”(李红达计算机学报2003,26460)中采用两个互补的混沌映射形成复合混沌的办法提出了基于复合混沌动力系统的散列构造方法,均取得了较好的效果。但文献2、3方法的性能好坏均还取决于所采用的混沌映射的性能,对于混沌效应强的映射,一般都涉及到复杂的浮点运算,影响运算速度,也不利于硬件实现。另外,对于性能优良的混沌映射,难以找到满足文献3互补要求的混沌源,这在算法结构上不具有通用性和可扩充性,也不利于模块化和硬件实现。2005年xiao等人在文献5“One-way hash fuction construction based on the chaotic mapwith changeable-parameter”(D.Xiao Chaos,Solitons and Fractals,2005(24)65)中用一个带变参数的混沌映射取代了王方案中的多个混沌映射切换,提出一种基于变参数混沌映射的散列构造方法,其设计思想与王方案实质上是一致的。虽然文献5采用具有均匀分布特性的分段线性映射(PWL),但每次迭代时,使用变参数改变了PWL的结构,这实质上是破坏了PWL的全局均匀分布特性,使得散列结果在散列空间中不是均匀分布,而与明文的统计特性有关,因此难以抵御统计攻击。
技术实现思路
本专利技术的目的是提供一种,该方法实现简单、安全,占用存储空间少,运算速度快,易于扩充和软硬件实现。为实现上述目的,本专利技术的技术方案是,一种,包括如下具体步骤1)初始化n维自回归非线性数字滤波器,其初始输入信号为φ,φ∈(-1,1),滤波器初态为{z1,z2,…zn}∈(-1,1),并记密钥为SK={φ,z1,z2,…zn};取散列值的长度L≥128比特,待散列的明文为M′,用零填充后的明文为M,并使M的长度满足|M|=(||M′|/L|+1)L≌sL,(s≥2);将M按长度L分组,记为M=(M1,M2,…,Ms),其中Mi=mi1mi2mi3···miL;]]>建立满足Kelber条件的k(k=2p,L≥p≥1)个n维系数组{ci=ci1,ci2,…cin],i∈},并将其放入系数库;初始散列值为L比特的零向量H0={0}1L;]]>2)散列值生成 ①第一段明文m1的散列值生成将H0与M1异或,得复合控制序列R1=M1H0={r0,r1,…,rL-1};第一次迭代时,取R1中序列r0r1…rp-1对应的十进制整数q,表示为q=(r0r1…rp-1)2,其中p=log2k,]]>k为系数库中系数组ci的个数;然后选择系数库中的第q个系数组cq作为本次迭代的滤波器系数,迭代后滤波器输出为y1。第i次迭代时,取R1中序列ri-1modkrimodkri+1modk…rp+i-2modk,重新计算q=(ri-1modkrimodkri+1modk…rp+i-2modk)2,其中,imodk表示i对k求余;然后按新的q选择系数组cq作为第i次迭代的滤波器系数,迭代后滤波器输出为yi;迭代L次后得到复合系统的输出轨迹{yi}1L,量化为二进制序列作为M1的散列值H1;②第二段明文M2的散列值生成将①步最后一次迭代后的滤波器输出值yL作为本阶段滤波器的初始输入,并以①步生成的M1散列值H1与M2异或,得到复合控制序列R2=H1M2;以R2取代R1,然后用①步相同的方法,得到M2的散列值H2;③第i段明文Mi的散列值生成将i-1段明文Mi-1最后一次迭代后的滤波器输出值yL作为本阶段滤波器的初始输入,并以第i-1段明文Mi-1的散列值Hi-1与Mi异或,得到复合控制序列Ri=Hi-1Mi;以Ri取代R1,然后用①步相同的方法,得到Mi的散列值Hi。④重复③步过程,直至得到最后一段明文Ms的散列值Hs,并以此散列值Hs作为整个明文M的散列值H。与现有技术相比,本专利技术采用的基于非线性数字滤波器的混沌散列构造方法,有如下特点1、基于复合非线性数字滤波器的散列构造方法更安全,这是因为(1)充分利用了高维混沌系统对初始条件敏感和迭代过程的单向性,以及由明文段Mi产生的复合控制序列Ri对滤波器系数选择的随机性,使得最终的散列结果H的每比特都与整个明文M及密钥SK有着敏感、复杂的非线性强藕合关系,可以有效抵抗线性分析;(2)由系统初态形成的散列密钥SK在精度允许范围内发生微小改变,将导致散列结果有近L/2个比特位发生变化,对同一明文用不同的密钥,将得到完全不同的散列值。由于具有很大的密钥空间,算法可以抵抗密钥的强力攻击;(3)复合滤波器产生的混沌序列周期长且满足n维均匀分布,通过对明文的调制和轨迹的粗粒化量化,使散列结果在散列空间中均匀分布,可以抵抗统计攻击;2、基于滤波器结构的算法实现简单快速,没有复杂的浮点运算,比基于其它混沌模型的算法更易于扩充和软硬件实现。3、当改变散列值长度时,传统的MD5和SHA族本文档来自技高网
...

【技术保护点】
一种基于复合非线性数字滤波器的混沌散列构造方法,包括如下具体步骤:1)初始化:n维自回归非线性数字滤波器,其初始输入信号为φ,φ∈(-1,1),滤波器初态为{z↓[1],z↓[2],…z↓[n]}∈(-1,1),并记密钥为SK={φ,z↓[1],z↓[2],…z↓[n]};取散列值的长度L≥128比特,待散列的明文为M′,用零填充后的明文为M,并使M的长度满足|M|=(||M′|/L|+1)L≌sL,(s≥2);将M按长度L分组,记为M=(M↓[1],M↓[2],…,M↓[s]),其中M↓[i]=m↓[i]↑[1]m↓[i]↑[2]m↓[l]↑[3]…m↓[l]↑[L];建立满足Kelber条件的k(k=2↑[p],L≥p≥1)个n维系数组{c↓[i]=[c↓[i1],c↓[i2],…c↓[in]],i∈[0,1,…,k-1]},并将其放入系数库;初始散列值为L比特的零向量H↓[0]={0}↓[1]↑[L];2)散列值生成:①第一段明文M↓[1]的散列值生成:将初始散列值H↓[0]与第一段明文M↓[1]异或,得复合控制序列R↓[1]=M↓[1]*H↓[0]={r↓[0],r↓[1],…,r↓[L-1]};第一次迭代时,取R↓[1]中序列r↓[0]r↓[1]…r↓[p-1]对应的十进制整数q,表示为q=(r↓[0]r↓[1]…r↓[p-1])↓[2],其中p=log↓[2]↑[k],k为系数库中系数组c↓[l]的个数;然后选择系数库中的第q个系数组c↓[q]作为本次迭代的滤波器系数,迭代后滤波器输出为y↓[1]; 第i次迭代时,取R↓[1]中序列r↓[i-1modk]r↓[lmodk]r↓[i+1modk]…r↓[p+i-2modk],重新计算q=(r↓[i-1modk]r↓[lmodk]r↓[l+1modk]…r↓[p+i-2modk])↓[2],其中,imodk表示i对k求余;然后按新的q选择系数组c↓[q]作为第i次迭代的滤波器系数,迭代后滤波器输出为y↓[l];迭代L次后得到复合系统的输出轨迹{y↓[i]}↓[1]↑[L],量化为二进制序列作为第一段明文M↓[1]的散列值H↓[1];②第二段明文M↓[2]的散列值生成:将①步最后一次迭代后的滤波器输出值y↓[L]作为本阶段滤波器的初始输入,并以①步生成的第一段明文M↓[1]的散列值H↓[1]与第二段明文M↓[2]异或,得到复合控制序列R↓[2]=H↓[1]...

【技术特征摘要】

【专利技术属性】
技术研发人员:张家树王小敏
申请(专利权)人:西南交通大学
类型:发明
国别省市:90[中国|成都]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1