基于混沌的带密钥散列函数安全分析
- 格式:pdf
- 大小:925.49 KB
- 文档页数:7
一种基于混沌的带密钥hash 函数的碰撞问题及分析3王继志1) 王美琴2) 王英龙1)1)(山东省计算中心,济南 250014)2)(山东大学密码技术与信息安全教育部重点实验室,济南 250100)(2007年6月26日收到;2007年9月17日收到修改稿) 指出了一类基于混沌映射构造带密钥单向hash 函数算法的碰撞问题,并对其产生的机理进行了初步分析,给出了数字化混沌序列非奇异的定义,证明了数字化混沌序列非奇异的充要条件,并分析了变参数离散混沌动力系统数字化后序列的周期性.分析结果表明这类算法产生碰撞的原因是其对混沌映射的数字化导致混沌序列的奇异性,因此必须谨慎选择混沌映射的数字化方法以保证混沌序列的非奇异性.关键词:混沌,带密钥散列函数,碰撞,非奇异性PACC :05453山东省自然科学基金(批准号:Y 2006A27)资助的课题.11引言混沌是一种动力学行为,混沌现象表面上看起来是随机的、不可预测的,但实际上却是按照严格而且常常是简单的规律发生变化的一种自然现象,可以利用简单的数学表达式产生复杂的混沌行为.因此,混沌的这种性质在现代密码学中具有重要的应用价值.目前,已有很多文献提出了基于混沌映射构造带密钥的单向hash 函数的算法[1—5].其中文献[1]提出了一种基于混沌神经网络的带密钥的单向Hash 函数构造方法.该方法通过使用以混沌分段线性函数作为输出函数的神经网络和基于时空混沌的密钥生成函数实现明文和密钥信息的混淆和扩散.然而,通过仔细考察,发现该算法比较容易构造明文对,使得明文对的hash 值在同一密钥下发生碰撞,不满足hash 函数的抗碰撞性;也比较容易构造密钥对,使得对同一明文的hash 值发生碰撞,不满足对密钥的敏感性.本文首先指出该算法所存在的问题,对产生该问题的原因进行了初步分析,给出了混沌序列非奇异的定义,分析结果表明保证数字化混沌序列的非奇异性是避免该问题产生的方法.21碰撞问题2111原算法概述文献[1]中的算法将256位的明文块映射为128位的Hash 值,其中密钥为128位.映射采用混沌神经网络,具有输入和输出两层结构,输入层具有8个节点,输出层具有4个节点.具体算法如下:1)256位的明文块分成32个8比特的数据,其中每4个8比特的数据为一组,记为P 0,0P 0,1P 0,2P 0,3…P 7,0P 7,1P 7,2P 7,3共8组.2)每组4个8比特数据P i ,0P i ,1P i ,2P i ,3i =0,1,…,7,通过固定权值[1Π281Π2161Π2241Π232],即P i =P i ,0Π28+P i ,1Π216+P i ,2Π224+P i ,3Π232转化为[0,1]之间的小数.3)将P i i =0,1,…,7分别输入8个输入层节点,其节点的传递函数为f (x ,Q )=x ΠQ ,0≤x <Q ,(x -Q )Π(015-Q ),Q ≤x <015(1-Q -x )Π(015-Q ),015≤x <1-Q ,(1-x )ΠQ ,1-Q ≤x ≤1,(1)第57卷第5期2008年5月100023290Π2008Π57(05)Π2737206物 理 学 报ACT A PHY SIC A SI NIC AV ol.57,N o.5,May ,2008ν2008Chin.Phys.S oc.其中Q取1Π3,迭代次数取40.4)128位密钥分为4个32位整数,除以232量化为[0,1]之间的小数k1k2k3k4,按下式进行迭代: x1(i+1)=(1-ε)g(x1(i))+εg(x4(i)),x2(i+1)=(1-ε)g(x2(i))+εg(x1(i)),x3(i+1)=(1-ε)g(x3(i))+εg(x2(i)),x4(i+1)=(1-ε)g(x4(i))+εg(x3(i)),其中ε=1Π3,g为Logistic映射x(i+1)=4x(i)(1 -x(i)).连续取10个每隔30步迭代的系统状态值,其中前8个4维状态值作为输入层神经元到输出层神经元的连接权值W,其后的2个4维状态值分别作为阈值矢量Θ和控制参数矢量Q.5)输出层4个节点的输出按下式计算:c=f(m od(wU+Θ,1),Q),其中,U为输入层的输出,迭代40次.将4个输出层输出连接起来即为128位hash值.2121构造明文对碰撞首先考察神经元传递函数f(x,Q)的性质.命题1 f(x,Q)=f(1-x,Q).证明 当0≤x<Q时,显然1-Q<1-x≤1,所以f(x,Q)=xΠQ,f(1-x,Q)=(1-(1-x))ΠQ=xΠQ,因此f(x,Q)=f(1-x,Q). 当Q≤x<015,015≤x<1-Q,1-Q≤x<1时,同样可证f(x,Q)=f(1-x,Q).因此命题1得证.命题2 若有两组4个8比特的数据aa1a2 a3和b0b1b2b3,满足a0Π28+a1Π216+a2Π224+a3Π232=1-(b0Π28+b1Π216+b2Π224+b3Π232),(2)则明文对aa1a2a3P1,0P1,1P1,2P1,3…P7,0P7,1 P7,2P7,3和b0b1b2b3P1,0P1,1P1,2P1,3…P7,0P7,1 P7,2P7,3在同一密钥K下得到的hash值相等.该命题的证明是显然的.根据命题1,两个明文在步骤3)中得到的一次迭代值是完全相同的,因此40次迭代值也是完全相同的,由于输出层的输出只与密钥、输入层的输出有关,显然在同一密钥K下得到的hash值相等.(2)式很容易满足,例如,a0=64,a1=a2=a3= 0,b0=192,b1=b2=b3=0,满足(2)式.2131构造密钥对碰撞首先考察Logistic映射的性质.对于映射g(x)=4x(1-x),显然有命题3 g(x)=g(1-x).命题4 若两个32位整数a和b,满足aΠ232=1-bΠ232,则密钥对a k2k3k4和b k2k3k4在同一明文下,得到的hash值相等.该命题的证明是显然的.两个密钥在步骤4)中得到的一次迭代值是完全相同的,因此得到的参数W,Θ和Q也是完全相同的,所以在同一明文下得到的hash值相等.31分 析 从上文的分析可以看出,原算法不满足抗碰撞性和密钥敏感性,主要是在从二进制数向小数的转换过程中,由于混沌映射的对称性,导致不同的二进制数映射为同一小数,从而产生hash值的碰撞.下面推广到一般情况,分析该问题是如何产生的以及如何避免.3111前提条件下面主要研究形如(3)式的一维离散混沌系统x n+1=f(x n,μ),n=0,1,2,…,x∈R且x∈[a,b],(3)其中,μ为参数,R为实数集.如果在迭代过程中,参数μ恒定不变,则称(3)式为定参数离散混沌动力系统;否则,称(3)式为变参数离散混沌动力系统.在基于(3)式构造密码算法时,需要将明文的二进制数转换为有限精度的实数,反过来说也就是离散混沌系统的数字化,以生成混沌序列.一般的方法是采用线性变换,如用m bit二进制数表示实数xn,即在区间[a,b]上等间隔的选择2m个离散点,分别用0,1,2,…,2m-1表示.例如,用0表示a,用1表示a+(b-a)Π2m,用2表示a+2(b-a)Π2m,以此类推,用2m-1表示a+(2m-1)(b-a)Π2m.若用8372物 理 学 报57卷y n 表示数字化后的数值,则x n =a +y n (b -a )Π2m.(4)将(4)式代入(3)式得y n +1=g(y n ,μ)=2mb -a f a +y n (b -a)2m,μ-a ,(5)其中,[]表示取整运算.由于y n ,y n +1是m bit 二进制整数,而(5)式右边一般是浮点运算,因此计算的最后结果需要取整(如果直接用浮点数进行运算,取有限精度就相当于这里的取整运算).观察(5)式可以看出,其产生序列的方法与一级q 元反馈移位寄存器的结构是类似的,如图1所示.图1 一级反馈移位寄存器下面,以反馈移位寄存器的观点来考察(5)式.3121非奇异性对于数字化定参数离散混沌动力系统y n +1=g (y n ,μ),n =0,1,2,…,y n ∈{0,1,2,…,2m-1},(6)从任何一个初值y 0出发,通过(6)式的迭代运算,可以得到序列y 0,y 1,y 2,…,因此至多迭代2m次,必有y i +k =y i .这样,从y i 到y i +k -1就构成了一个循环序列,其周期为k .如果把y 的每一个取值看作一个状态,可得到如图2所示的状态转移图.图2 状态转移从图2可以看出,文献[1]中算法之所以存在碰撞问题,就是因为它所产生的数字化混沌序列的状态图存在分枝点,即对于y i ,存在两个先导节点y i -1和y i +k -1,使得g (y i -1,μ)=g (y i +k -1,μ),从而导致最后的hash 值存在碰撞.显然,对于某一离散混沌映射来说,其全部状态转移可能是由几个类似图2的状态转移图构成的.那么是否存在状态转移是由有限个彼此没有公共顶点的圈所构成的情况,也就是说状态图中不存在分枝节点;如果存在,满足这一要求的充要条件是什么,下面来讨论这一问题.首先类似于反馈移位寄存器非奇异的定义[6],给出离散混沌映射数字化序列非奇异的定义.定义1 如果一个离散混沌映射数字化后的序列状态图是由有限个彼此没有公共顶点的圈所构成,则称此离散混沌映射数字化后的序列是非奇异的,否则称之为奇异的.定理1 一个离散混沌映射数字化后序列非奇异的充要条件是对于x ≠y ,x ,y ∈{0,1,2, (2)-1},定参数数字化离散混沌映射g (x ,μ),方程g (x ,μ)-g (y ,μ)=0无解.证明 必要性.根据非奇异的定义,状态图是由有限个圈构成的,即状态图不存在分枝点,也就是说不存在两个点x ,y ,且x ≠y ,使得g (x ,μ)=g (y ,μ),即方程g (x ,μ)-g (y ,μ)=0无解.充分性.由于方程g (x ,μ)-g (y ,μ)=0无解,也就是说不存在两个不同的离散点,使得他们映射到同一个点,也就是状态图中不存在分枝节点,所以序列是非奇异的.证毕.推论1 如果一个离散混沌映射f (x n ,μ)数字化时,所取的离散点中存在x i ,x j ,i ≠j ,使得f (x i ,μ)=f (x j ,μ),则该离散混沌映射数字化后是奇异的.该推论的证明是显然的.因为若存在x i ,x j ,i ≠j ,使得f (x i ,μ)=f (x j ,μ),则必有数字化后的函数g (x i ,μ)=g (x j ,μ),因此该函数产生的序列是奇异的.再回到文献[1]的算法.根据推论1,显然存在不相等的离散点,使得神经元的传递函数f (x ,Q )相等,即该离散混沌映射数字化后是奇异的.因此可以93725期王继志等:一种基于混沌的带密钥hash 函数的碰撞问题及分析把数字化混沌序列是否奇异作为一个判定条件,即若数字化混沌序列是奇异的,则比较容易构造不同的明文,使得它们的迭代值相等.下面以一个简单的分段线性映射为例来说明如何选择离散点以保证数字化混沌序列的非奇异性.分段线性映射x n +1=f (x n ,μ)=1+μx n ,x <0,1-μx n ,x ≥0,(7)取参数μ=2,x n ∈[-1,1],得到如图3所示的迭代结果,可以看出在区间[-1,1]中有明显的混沌现象发生.下面对该离散混沌映射进行数字化.首先采用线性变换.假设用7bit 二进制数表示x n ,用y n 表示,则y n∈{0,1,2,…,127},也就是说需要在区间[-1,1]之间选择128个离散的点.如果按下式等间隔进行选取:x n =2y n Π128-1,则存在y n =1和y n =127,使得f (2×1Π128-1,2)=1+2(2×1Π128-1)=-124Π128,f (2×127Π128-1,2)=1-2(2×127Π128-1)=-124Π128,即f (2×1Π128-1,2)=f (2×127Π128-1,2).根据推论1,可得该映射数字化后的序列是奇异的.因此该方法是不可行的.图3 分段线性映射由于该函数是关于x =0对称的,下面给出另外一种取点的方法:x n =2(y n +0.5)128-1,y n <64,x n =2y n128-1,y n ≥64(8)该方法采用分段线性变换,避开了使f (x i ,μ)=f (x j ,μ)的点,因此是可行的.如图4所示,(b )是(a )的局部放大.图4 数字化映射取点根据(5)式,由于最后结果要进行取整运算,如果只是在选取离散点时避开了使f (x i ,μ)=f (x j ,μ)的点,仍不能保证数字化后的序列是非奇异的.例如,如图4(b )所示的x ,y 两点,如果这两点的函数值之差小于(b -a )Π2m=1Π64,则取整运算后,这两个点可能取整为同一个整数,导致序列奇异.因此要保证类似这两点的函数值之差大于选取离散点的间隔距离,才能保证取整运算后,取整为不同的整数,即需满足|f ’(x ,μ)|≥2,其中f ’表示f 的一阶导数.那么对于导数的绝对值小于2的分段线性映射函数,是不是数字化后的序列肯定是奇异的?答案是否定的,因为可以选择f 的多次迭代作为一次迭代.例如,假设|f ’(x ,μ)|=k <2,取n 次迭代作为一次迭代,即0472物 理 学 报57卷f(f(…f(f(x))))n个f,求其一阶导数f′(f(…f(x))n-1个f )・f′(f(…f(x))n-2个f)・…・f′(n)共n个=k n,对于k>1,则总可以找到一个n,使得k n≥2.但是在具体的数字计算中发现,分段线性映射函数本身满足该条件,多次迭代作为一次迭代,可能会导致原先不相等的离散点反而相等,情况比较复杂.另外,对于不是分段线性的情况,如抛物线映射x n+1=1-4(x n-015)2,x n∈[0,1],在xn=015时,无论迭代多少次,其一阶导数都等于0,这时可以采用不等间隔取点,即斜率f′大的地方取的间隔小,斜率f′小的地方取的间隔大,只要函数值的区间距离大于1Πf′个选取离散点的区间距离,仍可以保证取整运算后不会取整为同一整数.根据上述结论,(7)式采用(8)式的取点方法,经计算(最后取整运算采用四舍五入)可得,其状态图是由2个周期为36的圈,1个周期为35的圈,1个周期为18的圈,1个周期为3的圈,共5个圈构成的,如下:1)0,1,3,7,15,31,63,127,2,5,11,23,47,95, 66,124,8,17,35,71,114,28,57,115,26,53,107,42, 85,86,84,88,80,96,64(周期35).2)4,9,19,39,79,98,60,121,14,29,59,119,18, 37,75,106,44,89,78,100,56,113,30,61,123,10,21, 43,87,82,92,72,112,32,65,126(周期36).3)6,13,27,55,111,34,69,118,20,41,83,90,76, 104,48,97,62,125(周期18).4)12,25,51,103,50,101,54,109,38,77,102,52, 105,46,93,70,116,24,49,99,58,117,22,45,91,74, 108,40,81,94,68,120,16,33,67,122(周期36).5)36,73,110(周期3).这说明上述方法是有效的,数字化后的混沌序列是非奇异的.然而上述方法仍然可能存在短周期现象,这对密码算法来说是有害的,最好是能生成全字长的M 序列,以避免算法陷入到短周期.如何生成M序列还需要进一步研究.3131变参数离散混沌映射的周期文献[1]中的算法是将明文作为迭代初值,密钥作为控制参数,而文献[5]中的算法采用相反的做法,即将密钥作为迭代初值,明文作为控制参数,因此有必要考察变参数离散混沌映射的周期性,以防止混沌序列陷入到短周期序列中.考察下述变参数离散混沌动力系统:x n+1=f(x n,μn),n=0,1,2,…μn+1=g(μn),如果μn是周期为Pg的序列,对于任意μm,定参数离散混沌序列xn+1=f(x n,μm)均为非奇异的,周期均为Pf,且对于任意两个参数,其数字化序列皆不是移位等价的,则有下述定理.定理2 根据上述前提条件,对于变参数离散混沌动力系统数字化后序列的周期P,有P=m P g,m为自然数且1≤m≤P f. 证明 对于变参数离散混沌映射可以转化为P g个定参数离散混沌映射函数,如下式所示:x n+1=f(x n,μ0),n m od P g=0,x n+1=f(x n,μ1),n m od P g=1,x n+1=f(x n,μ2),n m od P g=2, …x n+1=f(x n,μpg-1),n m od Pg=P g- 1. 下面先证P=mPg,m为自然数.用反证法.假设P m od Pg=k,k≠0,则不失一般性x0=x P,x1=x P+1,所以f(x0,μ0)=f(x p,μk)=f(x0,μk).由于k≠0,μ0≠μk,上式与条件中对于任意两个参数,其数字化序列皆不是移位等价矛盾.所以k=0.下面证明m的范围为1≤m≤Pf.m≥1是显然的.对于任意μm,定参数离散混沌序列x n+1= f(x n,μm)只有P f个状态,那么从初值x0出发,最理想的情况就是把Pf个状态遍历一遍,再回到x0,也就是m=Pf.所以1≤m≤Pf.证毕.从定理2可以看出,变参数混沌序列的周期主要是由控制参数序列的周期性决定的,这表明应用该方法设计密码算法时,关键的是参数序列的迭代函数,而不是初始状态的迭代函数.14725期王继志等:一种基于混沌的带密钥hash函数的碰撞问题及分析41结 论 本文对文献[1]中的算法进行了仔细地考察,指出其中存在的碰撞问题,并从一般情况出发,得出了一个判定条件,即若数字化后的混沌序列是奇异的,则比较容易构造明文对,使得它们的迭代值相同.同时对定参数混沌映射的数字化及变参数混沌映射的周期进行了讨论.对于定参数离散混沌映射,其数字化时需要注意两个问题:一是要避开使得映射函数值相等的离散点;一是所选取的离散点中函数值接近的任意两个点,取整运算后不能取整为同一个整数,如果映射函数不满足这个条件,可以把多次迭代作为一次迭代,使得该条件满足.但也可能出现映射函数本身满足该条件,多次迭代作为一次迭代反而不满足该条件,情况比较复杂,需要具体分析.对于变参数离散混沌映射函数,其数字化后的序列周期,主要是由参数序列的迭代周期决定的,因此在设计密码算法时要重点关注于参数序列迭代函数的选取.[1]Liu GJ,Shan L,Dai Y W,Sun J S,W ang Z Q2006Acta Phys.Sin.555688(in Chinese)[刘光杰、单 梁、戴跃伟、孙金生、王执铨2006物理学报555688][2]Liu J D,Y u Y M2007Acta Phys.Sin.561297(in Chinese)[刘建东、余有明2007物理学报561297][3]W ei P C,Zhang W,Liao X F,Y ang H Q2006Journal onCommunications27(9)27(in Chinese)[韦鹏程、张 伟、廖晓峰、杨华千2006通信学报27(9)27][4]Li H D,Feng D G2003Chinese Journal o f Computer26460(inChinese)[李红达、冯登国2003计算机学报26460][5]Sheng L Y,Li G Q,Li Z W2006Acta Phys.Sin.555700(inChinese)[盛利元、李更强、李志炜2006物理学报555700] [6]X iao G Z,Liang C J,W ang Y M1985The theory and applicationso f pseudo2random sequence(Beijing:National defence industrypress)39(in Chinese)[肖国镇、梁传甲、王育民1985伪随机序列及其应用(北京:国防工业出版社)第39页]The collision of one keyed ha sh function ba sed onchaotic map and analysis3W ang Ji2Zhi1) W ang M ei2Qin2) W ang Y ing2Long1)1)(Shandong Computer Science Center,Jinan 250014,China)2)(K ey Laboratory o f Cryptography&In formation Security Ministry o f Education,Jinan 250100,China)(Received26June2007;revised manuscript received17September2007)AbstractThe collision of a keyed hash function based on chaotic map is pointed out.Its principle is analyzed in theory.The definition of the nonsingularity is presented based on analyzing digital discrete chaotic sequence.The necessary and su fficient conditions for the nonsingularity is deduced.The period of digital discrete chaotic sequence with variable parameter is discussed. The result shows that the singulartiy of chaotic sequence leads to the collision of the hash function.S o the digital method of chaotic map must be chosen carefully to ensure the nonsingularity of chaotic sequence.K eyw ords:chaos,keyed hash function,collision,nonsingularityPACC:05453Project supported by the Natural Science F oundation of Shangdong Province,China(G rant N o.Y2006A27).2472物 理 学 报57卷。
基于超混沌Chen系统和密钥流构造单向散列函数的方法任海鹏;庄元
【期刊名称】《通信学报》
【年(卷),期】2009(030)010
【摘要】提出了一种基于超混沌Chen系统和密钥流构造单向敞列函数的方法,这种方案把明文和密钥作为2个超混沌Chen系统的初始值,按照系统的超混沌动力学特性进行一定时间的演化.将演化的最终结果进行量化,将量化值代入密钥流进行迭代,实现明文和密钥信息的混淆和扩散,并基于密码块链接方式产生任意长度明文的128bit散列值.理论分析和实验表明,这种构造散列函数的方法可以满足散列函数所要求的数值压缩功能、不可逆性、初值敏感性、防伪造性和抗碰撞性等安全性能要求.提出的散列函数构造方法较现有一些方法具有更好的抗碰撞性能.
【总页数】8页(P100-106,113)
【作者】任海鹏;庄元
【作者单位】西安理工大学,自动化与信息工程学院,陕西,西安,710048;西安理工大学,自动化与信息工程学院,陕西,西安,710048
【正文语种】中文
【中图分类】TN393.06;TP309.2
【相关文献】
1.基于自适应同步的超混沌Chen系统的参数识别 [J], 王春妮
2.基于改进观测器的分数阶超混沌Chen系统广义同步 [J], 陈向荣;刘崇新;李永勋
3.基于Lyapunov法的超混沌Chen系统同步 [J], 伍林;魏金成;刘洁;王波
4.基于Chen系统与超混沌Lorenz系统的彩色图像\r加密算法 [J], 李鸫
5.一种基于新超混沌Chen系统的置乱替代相结合的加密算法 [J], 钟彩; 潘梅森因版权原因,仅展示原文概要,查看原文内容请购买。
《基于时空混沌的密码学算法研究》篇一一、引言随着信息技术的快速发展,数据安全和隐私保护变得越来越重要。
密码学作为保障信息安全的核心技术,其研究与应用显得尤为重要。
基于时空混沌的密码学算法是一种新型的加密技术,它利用混沌系统的复杂性和不可预测性来增强加密算法的安全性。
本文旨在探讨基于时空混沌的密码学算法的研究现状、理论分析以及未来发展趋势。
二、时空混沌理论基础时空混沌是指在一个多维度的空间和时间域中,系统表现出复杂的、不可预测的动态行为。
这种动态行为具有高度的敏感性和不可复制性,为密码学提供了新的思路。
时空混沌理论主要包括混沌系统的定义、性质以及混沌系统的数学描述等方面。
三、基于时空混沌的密码学算法研究基于时空混沌的密码学算法利用混沌系统的复杂性和不可预测性来增强加密算法的安全性。
本文将重点介绍几种典型的基于时空混沌的密码学算法。
1. 混沌流密码混沌流密码是一种基于混沌系统的流式加密算法。
该算法将明文数据与混沌序列进行异或运算,生成密文。
由于混沌系统的复杂性和不可预测性,使得生成的密钥序列具有高度的随机性和复杂性,从而提高了加密算法的安全性。
2. 混沌置换密码混沌置换密码是一种基于混沌系统的置换加密算法。
该算法通过将明文数据进行重新排列和组合,生成密文。
在置换过程中,利用混沌系统的动态行为来改变数据的排列顺序,使得密文具有更高的复杂性和不可预测性。
3. 基于时空混沌的哈希函数哈希函数是密码学中的重要组成部分,用于数据的完整性校验和身份认证等。
基于时空混沌的哈希函数利用混沌系统的复杂性和不可预测性来提高哈希函数的复杂性和安全性。
该算法通过将明文数据映射为一系列与时空混沌系统相关的参数,然后利用这些参数生成哈希值。
四、研究现状与展望目前,基于时空混沌的密码学算法已经得到了广泛的研究和应用。
在理论研究方面,学者们不断探索新的混沌系统,并将其应用于密码学中,以提高加密算法的安全性。
在应用方面,基于时空混沌的密码学算法已经广泛应用于数据加密、身份认证、数字签名等领域。
基于混沌的Hash函数的安全性分析谭雪;周琥;王世红【期刊名称】《计算机应用与软件》【年(卷),期】2016(033)006【摘要】With the development of modern cryptology,hash functions play an increasingly important role.In this paper,we analyse the security of two hash algorithms,one is a parallel hash function construction based on coupled map lattice,the other is the keyed serial hash function based on a dynamic lookup table.For the former,we find that the coupled map lattice leads to a structural defect in the algorithm. Under the condition of block index and block message meeting specific constraint,without the complicated computation it is able to directly give the intermediate hash value of the specific block index and block message.For the latter,we analyse the constraint condition of the state of a buffer that the collision is produced.Under this condition,the cost of output collisions of the algorithm found is O (2 100 ),much higher than that of the birthday attack.%随着现代密码学的发展,Hash函数算法越来越占有重要的地位。
基于双混沌系统的带秘密密钥散列函数构造
韦鹏程;张伟;廖晓峰;杨华千
【期刊名称】《通信学报》
【年(卷),期】2006(27)9
【摘要】在对逐段非线性映射详细分析的基础上,提出一种用逐段非线性映射构造基于扰动的双混沌数字系统方法,然后建立一个基于双混沌系统的带秘密密钥的散列算法,算法以迭代初始点作为秘密密钥,以粗粒化的迭代轨迹作为其散列值.实验结果表明, 这种算法具有对初值有高度敏感性、很好的单向性、弱碰撞性,较基于单一混沌映射的散列函数具有更强的保密性能,且实现简单.
【总页数】7页(P27-33)
【作者】韦鹏程;张伟;廖晓峰;杨华千
【作者单位】重庆大学,计算机科学与工程学院,重庆,400044;重庆教育学院,计算机与现代教育技术系,重庆,400067;重庆大学,计算机科学与工程学院,重庆,400044;重庆教育学院,计算机与现代教育技术系,重庆,400067;重庆大学,计算机科学与工程学院,重庆,400044;重庆大学,计算机科学与工程学院,重庆,400044;重庆教育学院,计算机与现代教育技术系,重庆,400067
【正文语种】中文
【中图分类】TP309.2
【相关文献】
1.基于混沌的带密钥散列函数安全分析 [J], 郑世慧;张国艳;杨义先;李忠献
2.基于超混沌Chen系统和密钥流构造单向散列函数的方法 [J], 任海鹏;庄元
3.基于神经网络模型的双混沌 Hash 函数构造 [J], 刘慧;赵耿;白健
4.基于双混沌映射的文本hash函数构造 [J], 康小培;李艳涛;邓绍江;冯艳茹
5.基于双混沌系统的数字混沌加密算法 [J], 王亚伟;王行愚
因版权原因,仅展示原文概要,查看原文内容请购买。
基于混沌理论的信息安全技术研究随着现代网络技术的发展,网上交流、支付、购物等活动越来越频繁。
但同时,信息的泄露和安全问题也随之而来,涉及的领域也越来越广泛。
因此,保障信息安全的技术对于网络的健康和发展具有重要意义。
在信息安全的研究中,基于混沌理论的信息安全技术受到了越来越广泛的关注。
一、混沌理论混沌理论是一种用于描述非线性系统行为的数学理论。
一个动态系统如果非常敏感于初始条件,其输出值就会产生随时间变化的非周期性、随机性的现象,这种现象称为混沌。
混沌性质可以提高密码学中一些重要问题的可靠性,例如随机性、相位同步和分布等。
二、基于混沌理论的信息安全技术基于混沌理论的信息安全技术是一种新兴的信息安全技术。
混沌信号的随机性、加密性和扰动性,使其适用于加密机制、密钥交换协议、签名、备份和认证等领域。
1. 混沌加密技术混沌加密技术利用混沌系统产生的随机扰动,将明文进行加密,从而避免了传统加密算法被破解,如DES、RSA等。
混沌加密技术的优点是其加密过程具有随机性和灵活性,不受密钥长度限制,可有效保护敏感信息的安全性。
2. 混沌同步技术混沌同步是指两个或多个混沌系统通过相互作用,达到相同的混沌状态。
混沌同步技术可以应用于保护主要通信信道或信号,以保证恰当的数据接收和分配。
典型的混沌同步方法包括脉冲耦合同步、反馈同步和耦合同步等。
3. 混沌密钥交换技术混沌密钥交换技术是一种新型的密钥交换技术,利用混沌信号的随机性和不可预测性,在保证信息交换的秘密性的同时生成出一个完全随机的密钥。
该技术可以有效解决密钥交换过程中侦听和插入攻击等问题,进一步提高信息的安全性。
三、混沌与信息安全领域的应用研究基于混沌理论的信息安全技术不仅可以应用于数据加密和解密,还可以应用于密码学领域。
例如,混沌同步技术可以应用于实现分组密码中的密码流生成器;混沌序列可以应用于实现分组密码算法中的S-box;基于混沌的模型,可以建立复杂网络安全评估模型等。
基于混沌映射的散列函数加密算法分析及设计向志华; 赖小平【期刊名称】《《软件》》【年(卷),期】2019(040)008【总页数】4页(P66-69)【关键词】散列函数; 混沌; 加密; 算法【作者】向志华; 赖小平【作者单位】广东理工学院信息技术学院广东肇庆 526020【正文语种】中文【中图分类】TP311.1传统加密算法和混沌系统两者的混合特性都比较好,并且它们的加密过程也相似。
在传统加密算法中所具备的混乱特性,类似于混沌系统的类随机特性及参数敏感性。
并且在传统密算法中所具备的扩散特性,这又类似于在混沌系统中的所具备的轨道混合特性,如轨道发散性和初值敏感性等。
随着可信计算技术近年来的发展,散列算法的应用也越来越广泛。
因此对混沌映射的散列函数的研究具有重要的实际意义。
本文主要研究怎样将混沌思想应用到散列函数加密算法中。
在原有的单向散列方法中,主要存在有MD5,MD2,SHA-1等实现标准,要设计实现无碰撞的压缩函数,一般可以基于异或等逻辑运算的复杂方法来进行。
基于异或运算本身所带有的缺点,就算被操作的文本长度很短,单步执行过程简化,计算的轮数也依然很大。
基于安全的考虑,要求迭代的轮次必须足够多。
基于DES的分组加密说法可以通过多次迭代得到对应散列结果。
在分组加密方法中,散列函数的执行效率和安全机制主要取决于所采用的基本密码算法,运算量较大,所以难以同时找到快速并可靠的加密算法。
混沌,可以理解为:一种无序状态的集合,在确定的非线性系统中无需附加别的随机因素也会出现的随机行为[1]。
混沌系统是由一种非线性函数f对其自身进行迭代所构成的[2],即:。
在该系统中,根据上次迭代所得到的结果,再次使用相同的方法作二次及多次迭代。
在混沌系统中,有着复杂的动力学行为,和对初始状态和系统参数的异常敏感,因而很难用概率统计学原理进行重构并预测。
同时,在混沌系统中,迭代过程是单向的,每次迭代都会生成截然不同的的结果。
基于混沌系统的密码学安全性分析密码学是一门研究如何保护信息安全的学科,其在实际应用中起到了至关重要的作用。
随着现代密码学的发展,基于混沌系统的密码学作为一种新兴的密码保护算法得到了广泛关注。
本文将针对基于混沌系统的密码学安全性进行分析,以探讨其在实际应用中的优势和潜在风险。
首先,我们需要了解混沌系统的基本概念。
混沌系统是一类非线性系统,具有灵敏依赖于初始条件的特点,这意味着微小的扰动可能导致系统的完全不同的行为。
与传统密码学中使用的确定性算法不同,基于混沌系统的密码学采用了随机性和不可预测性作为其核心特点。
基于混沌系统的密码学算法的一个重要应用是生成密钥。
密钥生成是信息安全的基石,安全性的强弱直接影响到整个加密系统的可靠性。
传统的密钥生成方法通常基于伪随机数生成器,而基于混沌系统的密码学则利用其混沌特性生成看似随机的密钥,从而提高了密钥的不可预测性和安全性。
另一个基于混沌系统的密码学应用是加密和解密。
在基于混沌系统的密码学中,混沌系统可以被看作是一个非线性的变换函数,用来对明文进行加密,而解密则是将密文通过逆变换还原成明文。
由于混沌系统的不可预测性,使得加密后的密文具有很高的安全性。
而且,与传统的对称加密算法相比,基于混沌系统的加密算法在计算复杂性上更为简单,加密解密过程更为高效。
然而,基于混沌系统的密码学也存在一些潜在的风险和挑战。
首先,混沌系统对初始条件和参数的依赖性极高,稍微的参数改变或初值扰动就会导致完全不同的系统行为,这可能使得攻击者通过分析系统参数或初值推测出密钥,从而威胁到系统的安全性。
其次,混沌系统的非线性特性和随机性使得密码学算法的设计和分析变得复杂,从而增加了系统漏洞被攻击者利用的可能性。
此外,现有的混沌系统在实际应用中也存在一定的局限性,如对计算精度要求较高、系统抗干扰能力较低等问题。
为了应对基于混沌系统的密码学的安全性挑战,我们可以采取以下几种措施。
首先,合理选择和设计混沌系统的参数和初值,确保系统的不可预测性和安全性。
基于混沌密码算法的网络信息安全研究网络信息安全是当今社会中一个非常重要的议题。
随着互联网的广泛普及和信息技术的迅猛发展,网络安全问题也日益严重。
为了保护网络中的敏感信息和个人隐私,人们使用各种密码算法进行数据加密和解密。
在这篇文章中,我们将研究基于混沌密码算法的网络信息安全。
混沌密码算法是一种基于混沌系统的数据加密和解密算法。
混沌系统是一种具有高度不可预测性和复杂性的动力学系统。
混沌密码算法利用混沌系统的特性来生成密钥和加密数据,从而提高数据的安全性。
首先,我们将介绍混沌密码算法的基本原理。
混沌系统的特点是非线性、随机性和敏感性依赖于初始条件。
混沌密码算法利用混沌系统的这些特性来生成随机的密钥。
生成密钥的过程通常包括两个步骤:首先,选择合适的混沌系统;其次,使用混沌系统生成密钥流。
密钥流是一串随机的比特序列,用于对数据进行加密和解密。
混沌密码算法的关键是如何将密钥流与明文进行混合。
通常,混淆函数被用于将密钥流与明文混合。
混淆函数通常是一种非线性函数,它将明文的每个比特与密钥流的对应比特进行异或运算。
通过不断重复这个过程,将整个明文与密钥流进行混合,从而实现数据加密。
同样重要的是选择合适的混淆函数和混淆轮数。
混淆函数的选择应该具有一定的非线性和随机性。
一般来说,非线性的函数更难破解。
混淆轮数的选择应该足够多,以增加密码破解的难度。
然而,过多的混淆轮数可能会增加加密和解密的时间成本。
此外,混沌密码算法还需要考虑密钥管理的问题。
密钥管理是一个重要的环节,直接影响到密码算法的安全性。
密钥应该是足够长、随机和安全的。
除了选择合适的密钥,还需要保证密钥在传输和存储过程中的安全性。
尽管混沌密码算法具有一定的优势,但仍然存在一些挑战和局限性。
首先,混沌密码算法对初始条件和参数的选择非常敏感,稍有不慎就可能导致解密失败。
其次,混沌系统的随机性和复杂性使得算法的设计和分析变得更加困难。
此外,混沌密码算法在速度和效率方面也存在一定的限制。
2011年5月Journal on Communications May 2011 第32卷第5期通信学报V ol.32No.5基于混沌的带密钥散列函数安全分析郑世慧1,张国艳3,杨义先1, 2,李忠献1(1. 北京邮电大学网络与信息攻防技术教育部重点实验室,北京100876;2. 北京邮电大学网络与交换技术国家重点实验室信息安全中心,北京100876;3. 山东大学计算机学院,山东济南 250100)摘 要:利用统计分析、生日攻击等方法,针对一类基于混沌系统的带密钥散列函数进行了分析,给出了针对这些算法的伪造攻击和等价密钥恢复攻击。
同时,研究了上述攻击奏效的原因,并由此总结了基于混沌技术设计带密钥散列函数时应该注意的问题。
最后,提出了一个改进方案,该方案可以抵抗伪造攻击和等价密钥攻击,并且增加的计算负担可以忽略不计。
关键词:混沌;带密钥散列函数;伪造;密钥恢复中图分类号:TP309.2 文献标识码:A 文章编号:1000-436X(2011)05-0146-07 Cryptanalysis of some chaos-based keyed hash functionsZHENG Shi-hui1, ZHANG Guo-yan3, YANG Yi-xian1,2, LI Zhong-xian1(1. Key Laboratory of Network and Information Attack & Defence Technology of MOE, Beijing University of Posts and Telecommunications, Beijing 100876, China; 2. Information Security Center, State Key Laboratory of Networking and Switching Technology,Beijing University of Posts and Telecommunications, Beijing 100876, China; 3. School of Computer Science, Shandong University, Jinan 250100, China)Abstract: By employing the methods including statistic analysis, birthday attacks, and so on, the forging attacks and equivalent-key recovering attacks towards a categories keyed hash functions that are based on chaos systems were pro-posed. Meanwhile, the reasons for that these attacks succeed were analyzed and some suggestions for design keyed hash functions by using chaos systems were summarized. Finally, an improved scheme was presented. The scheme could resist the forging attacks and equivalent-key recovering attacks, while the increased workload could be neglected.Key words: chaos; keyed hash function; forgery; key recovery1引言带密钥的散列函数(KHF),又称为消息认证码(MAC),主要用于消息完整性验证和消息源的认证。
消息认证的思想早在20世纪70年代早期就已经诞生了[1],随着一系列标准(ISO/IEC 9797, FIPS 81, ANSI X9.9等)的逐步制定,KH函数的构造技术和分析技术都有了长足发展。
混沌现象是非线性动力系统中一种确定的、类似随机的过程。
由于混沌迭代函数具有初值敏感性、不可逆等性质,非常适于构造KH函数,涌现了很多混沌KH算法[2~6]。
同时由于混沌迭代比较耗时,上述算法效率都不高,所以一些设计者将混沌迭代函数和传统密码技术结合,借助混沌函数的复杂性和传统密码技术的高效性设计KH函数[7,8]。
其中文献[2~8]均采用消息分块迭代的方式,然而设计收稿日期:2009-12-31;修回日期:2010-08-06基金项目:国家重点基础研究发展计划(“973”计划)基金资助项目(2007CB310704, 2007CB807902);国家自然科学基金资助项目(90718001, 60973159, 61003285)Foundation Items: The National Basic Research Program of China (973 Program) (2007CB310704, 2007CB807902); The Na-tional Natural Science Foundation of China (90718001, 60973159, 61003285)第5期郑世慧等:基于混沌的带密钥散列函数安全分析·147·者对于设计细节没有认真考虑,致使所设计的KHF[5~8]不能满足设计者宣称的安全强度[9]。
简单来说,对于某个KHF,如果攻击者可以成功伪造一个新消息M的MAC值MAC(M), (M, MAC(M))可以通过合法用户检验,且攻击复杂度远远低于穷举攻击的复杂度O(n)(n为输出长度),则认为该KHF不安全。
进一步,按照破译程度由弱到强可以把攻击分为如下几类。
1) 存在性伪造:成功伪造新消息的MAC值,但攻击者事先不知道新消息的内容。
2) 选择消息攻击:攻击者成功伪造一个自己选取的新消息的MAC值。
3) 等价密钥攻击:恢复等价的密钥,利用这个密钥攻击者可以伪造任何消息的MAC值。
4) 密钥恢复攻击: 恢复合法用户使用的密钥,从而可以生成任何消息的MAC值。
3)和4)通常称为完全破译,使得攻击者几乎可以冒充合法用户,然而安全的带密钥散列函数必须可以抵抗存在性伪造攻击。
本文细致分析了一类基于混沌技术设计的KH 函数[5~8]的安全性:首先给出了这些算法的伪造攻击或等价密钥恢复攻击;然后从结构和内部压缩函数两方面分析了产生攻击的原因及对策;并总结了基于混沌系统的带密钥混沌散列函数设计中应注意的问题。
最后,在文献[8]提出算法的基本架构上稍做改进,提出一个抗存在性伪造的带密钥散列函数方案。
2一类KH函数的攻击文献[5,6]给出2种基于混沌系统构造的带密钥散列函数,文献[7,8]提出混沌技术和传统密码技术结合构造的KHF,下面分4个小节分别介绍其对应算法和攻击。
这类算法都是对消息进行简单填充(使消息长度为分组长度的整数倍)、分块,然后逐块通过压缩函数进行处理,最后一块处理完后,经过简单变换输出MAC值。
设补位后消息M分为t块M=M0M1…M t-1,经过t轮压缩迭代输出MAC值,记为H,合法用户使用的初始密钥记为K。
|M i|表示M i的比特长度。
‖表示比特串连接运算,^是异或运算。
2.1算法1 基于混沌神经网络的KHF[5]算法:|M i|=256, |K|=128, |H|=1281) K分为4个32比特串K=(k1, k2, k3, k4),并计算K0=(k1/232, k2/232, k3/232, k4/232)。
2) i=0, …, t−1计算C i=CNN(K i, M i);K i+1=C i。
CNN是压缩函数:先以K i的4个小数进入4维单向耦合映像格子迭代,每迭代30步,取系统状态值,共取10个。
前8个4维状态值赋给W2i,其后的2个分别赋给Θi和Q i。
W2i l,T i l和Q i l分别表示它们的第l行。
M i分割为字节|p i j,l|=8, j=0,…,7;l=0, 1, 2, 3,i 表示第i个消息;M i=(p i,00//…//p i0,3//p i1,0//…//p i1,3//…//p i7,3);U i j=f τ(W1p i j,1/3),U i=(U i0,…,U i7);c i l=f τ(mod(W2i l U i+Θi l,1), Q i l), C i=(c i0,…,c i3)。
其中,f是为分段线性混沌映射,τ是迭代次数,W1=(1/28,1/216,1/224,1/232)。
H=G(c n−1),函数G将c n−1向量的4个32比特的小数通过位连接转换成128比特散列值。
命题1上述算法存在选择消息伪造攻击。
证明假设攻击者希望伪造消息M(1)=M0//M1的MAC码,攻击者发送M(2)=M0给合法用户,获取相应的MAC码H(2);攻击者做逆G运算,可以获得K1,然后攻击者计算CNN(K1,M1) =C1得到消息M(1)的MAC码H(1)=G(C1)。
消息M(1)为攻击者事先选定,即为选择消息攻击。
攻击复杂度大概为1次KHF运算。
攻击实例攻击者选取K=0x1691AF0F13475 A384CBCEA022ACF3F8A;M(1)=M0‖M1=0x0100000000000000000000000 000000000000000000000000000000000000000||001 0101010101010101010101010101010101010101010 101010101010101010。
攻击者获取M(2)=M0=0x010000000000000000 00000000000000相应的MAC码:H(2)=0x10228810A7C3A023441C6787B0A034 BF。
则攻击者知K1=0x10228810A7C3A023441C 6787B0A034BF,自己计算M(1)的MAC码为H(1)=0x399BE32AF57606EEBFCF88709D480 256。
2.2 算法2 基于双混沌系统的KHF[6]算法:|M i|=N,|H|=N,其中N=128j,j=1, 2, …1) K=(x1(0), x2(0)), 0<x1(0), x2(0)<1;H0是事先约定的初始向量。
·148· 通 信 学 报 第32卷2) i =0,…, t −1计算H i+1=DDC(K , M i , H i )。