一种基于时滞混沌迭代的数字签名方法及装置的制作方法

文档序号:7723306阅读:151来源:国知局

专利名称::一种基于时滞混沌迭代的数字签名方法及装置的制作方法
技术领域
:本发明属于通信
技术领域
,涉及一种数字签名方法及装置。
背景技术
:21世纪是信息的时代,一方面,信息技术和产业高速发展,呈现出空前繁荣的景象。另一方面,危害信息安全的事件不断发生,形势是严峻的。信息安全事关国家安全和社会稳定,因此,必须采取措施确保我国的信息安全。信息安全系统除了信息保密外,还需要抵抗伪造、篡改、冒充及否认等攻击,这些发送方与接收方之间的问题需要利用认证技术来解决,以此来确定通信双方身份的真实性。数字签名技术的出现解决了上述问题。数字签名技术即进行身份认证的技术。该技术是通过一个单向函数对要传送的消息进行处理,得到的用以认证消息来源并核实消息是否发生变化的一个字母数字串,从而保证信息的真实性和完整性。目前,现有的数字签名技术,其认证步骤如下信息的发送端利用现有的MD4、MD5等Hash函数计算生成一个固定长度的Hash值,并用其私钥对该Hash值进行加密生成数字签名,作为信息的附件和信息一起发送至接收端。信息的接收端首先从接收到的原始信息中,利用现有的MD4、MD5等Hash函数计算出这个固定长度的Hash值,接着再用发送端的公开密钥来对信息附加的数字签名进行解密。如果两个Hash值相同,那么接收端就能确认该数字签名是发送端的,且消息未经篡改。但是,在2004年的美国密码学会议上,山东大学王小云教授发表的题为《对MD4,MD5,HAVAL-128,RIPEMD等Hash函数的碰撞攻击》的学术报告。这份报告对一些国际上通行的Hash函数给出了快速寻找碰撞攻击的方法。之后,在2005年欧洲密码学和美国密码学会议上,王小云进一步发表了他们对Hash函数研究的新进展。由此可以看出,现有数字签名技术中所用到的一些国际上通用的Hash认证函数如MD4、MD5、SHA-1等算法都存在缺陷。进而可以看出现有的数字签名技术的安全性已经开始降低,其防伪造、抗碰撞攻击等能力上均有待提高,进而达到更加安全有效、简洁快速的认证效果。
发明内容针对现有数字签名技术有待于提高其防伪造、抗碰撞攻击能力的技术问题,本发明提供一种数字签名方法及装置。利用时滞混沌迭代的敏感性和遍历性,将明文信息调制在时滞混沌迭代的迭代轨迹(过程)中,使其产生的Hash值具有更大的密钥空间和具备更高的安全性。本发明技术方案如下—种基于时滞混沌迭代的数字签名方法,如图1所示,包括数字签名的生成过程和认证过程,所述数字签名的生成过程包括以下步骤步骤l:对待数字签名的明文信息M(k)(其中k二1,2,3,…K,K为明文信息M(k)的长度)以字符为单位进行ASCII编码,得到明文信息M(k)的ASCII编码序列Asc(M[k]),编码序列Asc(M[k])的每一个ASCII编码的值域范围在之间;然后根据ASCII编码的值域范围对编码序列Asc(M[k])进行线性变换的量化处理,得到符合时滞混沌迭代参数所要求的值域范围[12,12.8]的离散序列C(k),C[k]二g+0.001XAsc(M[k]),其中g为取值范围在[12,12.545]之间的一个常数。步骤2:对步骤1所得的离散序列C(k)进行时滞混沌迭代,获得离散时滞混沌序列X,、iG[l,N]);具体方法为利用一维时滞混沌迭代公式xn+1=asin2(xn+b)对离散序列C(k)中的C(1)、C(2)、C(3)直至C(K)顺序进行K轮时滞混沌迭代,其中,l《n《N,N为每轮时滞混沌迭代的次数;a和b为每一轮时滞混沌迭代的固定参数,且aG[12.000,12.8000],bG;第一轮迭代时,令a二C(l)、选定任意一个初值A,得到N次迭代后与C(1)相关的迭代结果xN+1°;第二轮迭代时,令a=C(2)、以第一轮时滞混沌迭代的迭代结果xN+1°为初值Xl,得到N次迭代后与C(l)和C(2)相关的迭代结果xN+/;第三轮迭代时,令a=C(3)、以第二轮时滞混沌迭代的迭代结果x肝/为初值A,得到N次迭代后与C(l)、C(2)和C(3)相关的迭代结果%+12;直至第K轮迭代时,令a=C(K)、以第(K_l)轮时滞混沌迭代的迭代结果xN+1K-2为初值x"得到N次迭代后与C(l)、C(2)、C(3)……C(K)相关的离散时滞混沌序列XiK—、iG[l,N]),即x,Sc/—1……xNK—、+,、表1所示为时滞混沌迭代轮次与每一轮N次时滞混沌迭代所得离散时滞混沌序列结果。表l迭代轮次初值《离散时滞混沌序列第一轮任意2人W第二轮c[2]第三轮剩义w第《轮+l(1《-1+l步骤3:对步骤2所得离散时滞混沌序列x广、/—1……x/—、+广1进行带密钥的Hash函数运算,获得定长值为L的混沌Hash值Hl。步骤4:对步骤3所得混沌Hash值&进行加密处理,得到最终的数字签名。步骤5:发送方将明文信息M(k)和步骤4所得的数字签名进行组合后发送到通信信道。所述数字签名的认证过程包括以下步骤6步骤6:接收方从通信信道中接收来自于发送方的明文信息和数字签名后,进行下述步骤7至步骤9的处理。步骤7:接收方对接收到的明文信息按照步骤1至步骤3进行处理,得到混沌Hash值H2。步骤8:接收方对接收到的数字签名进行与发送方相对应的解密处理,得到混沌Hash值113。步骤9:判断步骤7所得混沌Hash值H2和步骤8所得混沌Hash值H3是否一致,如果一致,则通过认证;否则,不通过认证。上述技术方案中,步骤3"对步骤2所得离散时滞混沌序列、/—、k—1……x/—、w+,1进行带密钥的Hash函数运算,获得定长值为L的混沌Hash值H/'时,具体方法包括以下步骤步骤3-1:采用ipad序列(ipad序列为"00110110"重复排列任意次的序列)中排在前面、且长度与通信双方约定的密钥Key等长的子序列,与通信双方约定的密钥Key进行异或运算,得到序列SO。步骤3-2:将序列SO与步骤2所得离散时滞混沌序列x^x/^x/—1……x/—1^1"拼接在一起,拼接时,在序列SO与离散时滞混沌序列XlK—、/—1x/—、+,1之间补充一定位数的"0"或"1"字符,使得拼接后构成的离散序列GO能够分成若干个长度相等的数据块。步骤3-3:对离散序列GO进行Hash运算,具体过程为采用一个长度为L的初始hash值,对离散序列GO中的数据块依次进行Hash迭代,得到一个长度为L的hash值H。。步骤3-4:采用opad序列(opad序列为"01011100"重复排列任意次所构成的序列)中排在前面、且长度与通信双方约定的密钥Key等长的子序列,与通信双方约定的密钥Key进行异或运算,得到序列Sl。步骤3-5:将序列SI与步骤3-2所得的hash值H。拼接在一起,拼接时,在序列SI和hash值H。之间补充一定位数的"0"或"1"字符,使得拼接后构成的离散序列Gl能够分成若干个长度相等的数据块。步骤3-6:对离散序列Gl进行Hash运算,具体过程为采用一个长度为L的初始hash值,对离散序列Gl中的数据块依次进行Hash迭代,得到一个长度为L的hash值根据上述技术方案,本发明还提供一种基于时滞混沌迭代的数字签名装置,如图2所示,包括数字签名生成装置和数字签名认证装置。所述数字签名生成装置包括一个性变换模块、一个时滞混沌迭代模块、一个带密钥Hash函数运算模块、一个数字签名加密模块及一个信息传输模块。所述性变换模块完成的功能是对待数字签名的明文信息M(k),其中k=1,2,3,…K,K为明文信息M(k)的长度,以字符为单位进行ASCII编码,得到明文信息M(k)的ASCII编码序列Asc(M[k]),编码序列Asc(M[k])的每一个ASCII编码的值域范围在之间;然后根据ASCII编码的值域范围对编码序列Asc(M[k])进行线性变换的量化处理,得到符合时滞混沌迭代参数所要求的值域范围[12,12.8]的离散序列C(k),C[k]=g+0.001XAsc(M[k]),其中g为取值范围在[12,12.545]之间的一个常数。所述时滞混沌迭代模块完成的功能是对步骤1所得的离散序列C(k)进行时滞混7沌迭代,获得离散时滞混沌序列XiK—、iG[1,N]);具体方法为利用一维时滞混沌迭代公式xn+1=asin2(xn+b)对离散序列C(k)中的C(1)、C(2)、C(3)直至C(K)顺序进行K轮时滞混沌迭代,其中,l《n《N,N为每轮时滞混沌迭代的次数;a和b为每一轮时滞混沌迭代的固定参数,且aG[12.000,12.8000],bG;第一轮迭代时,令a=C(1)、选定任意一个初值xl,得到N次迭代后与C(l)相关的迭代结果xN+1°;第二轮迭代时,令a=C(2)、以第一轮时滞混沌迭代的迭代结果x,^为初值^得到N次迭代后与C(1)和C(2)相关的迭代结果%+/;第三轮迭代时,令a=C(3)、以第二轮时滞混沌迭代的迭代结果xN+,为初值^,得到N次迭代后与C(1)、C(2)和C(3)相关的迭代结果%+12;直至第1(轮迭代时,令a=C(K)、以第(K-l)轮时滞混沌迭代的迭代结果xN+1K—2为初值Xl,得到N次迭代后与C(1)、C(2)、C(3)……C(K)相关的离散时滞混沌序列XiK—、iG[l,N]),即x,、/—、315—1……K_lK-lXNXN+1o所述带密钥Hash函数运算模块完成的功能是对混沌迭代模块所得离散时滞混沌序列XlK—、/—、/—1……%K—、w+,1进行带密钥的Hash函数运算,获得定长值为L的混沌Hash值H丄。所述数字签名加密模块完成的功能是对带密钥Hash函数运算模块所得混沌Hash值&进行加密处理,得到最终的数字签名。所述信息传输模块完成的功能是将明文信息M(k)和数字签名加密模块所得的数字签名进行组合后发送到通信信道。所述数字签名认证装置包括一个信息接收模块、一个明文信息处理模块、一个数字签名解密模块及一个数字签名认证模块。所述信息接收模块完成的功能是从通信信道中接收来自于发送方的明文信息和数字签名。所述明文信息处理模块完成的功能是对接收的明文信息进行明文线性变换、时滞混沌迭代、带密钥的Hash函数运算,获得混沌Hash值H2。所述明文信息处理模块由一个线性变换模块、一个时滞混沌迭代模块和一个带密钥的Hash函数运算模块组成。数字签名认证装置中明文信息处理模块的线性变换模块、时滞混沌迭代模块和带密钥的Hash函数运算模块各自所完成的功能分别与数字签名生成装置中的线性变换模块、时滞混沌迭代模块和带密钥的Hash函数运算模块所完成的功能相对应。所述数字签名解密模块完成的功能是对接收到的数字签名进行与发送方相对应的解密处理,得到混沌Hash值H3。所述数字签名认证模块完成的功能是判断明文信息处理模块所得混沌Hash值H2和数字签名解密模块所得混沌Hash值H3是否一致,如果一致,则通过认证;否则,不通过认证。本发明提供的基于时滞混沌迭代的数字签名方法及装置,利用离散混沌迭代的敏感性和遍历性,将需要传送的明文信息调制在时滞混沌迭代的轨迹(过程)中,使其产生的Hash值(数字签名)具有更大的密钥空间和具备更高的安全性。在时滞混沌迭代过程中,采用运算方式简单、且运算速度较快的一维时滞混沌迭代公式x^=asin2(xn+b),其中,当参数aG[12.000,12.800],bG,系统具有稳定的混沌吸引子,该混沌序列具有很好的类噪声特性。其分布特征适合用来构造单向值的分布平稳,与迭代步数无关,而且与初值无关,分布也较为均匀,这样在已知终值的情况下,初值分布的概率比较均匀,只能以穷举搜索初值,因而保证了不可逆性和防伪造性。在带密钥的Hash函数运算过程中,采用的HMACHash函数运算算法。HMAC算法是基于一个通信双方共享的密钥,在发送明文消息前,对密钥和明文消息都进行了Hash散列(本发明采用的MD5方法)运算;在生成Hash值的过程中,又对密钥进行了两次异或运算,大大加深了攻击者破译的难度。另外,如果配合周期性地动态更新密钥,可进一步克服hash函数和密钥本身潜在的不安全隐患,降低了由此带来的危害,进一步加强了Hash函数运算生成的数字签名的抗攻击性。本发明提供的基于时滞混沌迭代的数字签名方法及装置,具有算法简单、速度快的特点;本发明利用了离散时滞混沌迭代过程对初始条件的敏感性和迭代过程的单向性,使产生的数字签名(Hash值)的每个比特都与需要传送的明文信息相关,并且这种关系对明文信息及时滞混沌迭代初始值的微小改变非常敏感。因此,基于时滞混沌迭代所产生的数字签名(Hash值)与需要传送的明文信息之间的这种复杂而敏感性的非线性关系可以有效地抵御线性分析,具有更大的密钥空间和更大的安全性。图1是本发明提供的一种基于时滞混沌迭代的数字签名方法的流程示意图。图2是本发明提供的一种基于时滞混沌迭代的数字签名装置的结构示意图。具体实施例方式以下结合附图,对本发明技术方案进一步说明。以下描述仅为本发明的一个具体实施方式,并非是对本发明的限定。对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据本发明思想获得其他具体实施方式。对于一个字符长度为6000左右的原始文本文件,对其进行本发明所述的基于时滞混沌迭代的数字签名,包括以下步骤步骤1:将原始文本文件逐字符地进行ASCII编码,得到原始文本文件的ASCII编码序列Asc(M[k])(K为原始文本文件的长度),将值域范围在之间的ASCII编码序列Asc(M[k])进行线性变换的量化处理,得到一个值域范围在[12.000,12.255]之间的离散序列C(k)。步骤2:对步骤1所得的离散序列C(k)进行时滞混沌迭代,获得离散时滞混沌序列X,、iG[l,N]);具体方法为利用一维时滞混沌迭代公式xn+1=asin2(xn+b)对离散序列C(k)中的C(1)、C(2)、C(3)直至C(K)顺序进行K轮时滞混沌迭代,其中,l《n《50,50为每轮时滞混沌迭代的次数;a和b为每一轮时滞混沌迭代的固定参数,且aG[12.000,12.255],bG;第一轮迭代时,令a=C(l)、b=0.1和Xl=0.1,得到50次迭代后与C(1)相关的迭代结果;第二轮迭代时,令a=C(2)、b=0.1禾P力-x乙,得到50次迭代后与C(l)和C(2)相关的迭代结果xN+,;第三轮迭代时,令a=C(2)、b=0.1和x,=x:+,,得到50次迭代后与C(l)、C(2)和C(3)相关的迭代结果xN+12;直至第K轮迭代时,令a=C(K)、b=90.1和^=x=,得到50次迭代后与C(l)、C(2)、C(3)……C(K)相关的离散时滞混沌序列XiK—1(ie[1,N]),艮卩x,—工x/—工x/—1......xNK—1。步骤3:对步骤2所得离散时滞混沌序列XlK—、/—1……xNK—、+广1进行带密钥的Hash函数运算,获得定长值为128的混沌Hash值&;具体步骤包括步骤3-1:采用ipad序列(ipad序列为"00110110"重复排列任意次的序列)中排在前面、且长度与通信双方约定的密钥Key等长的子序列,与通信双方约定的密钥Key进行异或运算,得到序列SO。步骤3-2:将序列SO与步骤2所得离散时滞混沌序列x,、/—、/—1……xNK—、+广1拼接在一起,拼接时,在序列S0与离散时滞混沌序列XlK—、/—1x/—、+,1之间补充一定位数的"0"或"1"字符,使得拼接后构成的离散序列G0能够分成若干个长度为512的数据块。步骤3-3:对离散序列GO进行Hash运算,具体过程为采用一个长度为128的初始hash值,对离散序列GO中的数据块依次进行Hash迭代,得到一个长度为128的hash值H0。步骤3-4:采用opad序列(opad序列为"01011100"重复排列任意次所构成的序列)中排在前面、且长度与通信双方约定的密钥Key等长的子序列,与通信双方约定的密钥Key进行异或运算,得到序列Sl。步骤3-5:将序列SI与步骤3-2所得的hash值H。拼接在一起,拼接时,在序列SI和hash值H。之间补充一定位数的"0"或"1"字符,使得拼接后构成的离散序列Gl能够分成若干个长度为512的数据块。步骤3-6:对离散序列Gl进行Hash运算,具体过程为采用一个长度为128的初始hash值,对离散序列Gl中的数据块依次进行Hash迭代,得到一个长度为128的hash值H1Q步骤4:对步骤3所得混沌Hash值&进行加密处理,得到最终的数字签名。步骤5:发送方将原始文本文件和步骤4所得的数字签名进行组合后发送到通信信道。文件接收方的数字签名的认证过程包括以下步骤步骤6:接收方从通信信道中接收来自于发送方的文本文件和数字签名后,进行下述步骤7至步骤9的处理;步骤7:接收方对接收到的文本文件按照步骤1至步骤3进行处理,得到混沌Hash值H2;步骤8:接收方对接收到的数字签名进行与发送方相对应的解密处理,得到混沌Hash值H3;步骤9:判断步骤7所得混沌Hash值H2和步骤8所得混沌Hash值H3是否一致,如果一致,则通过认证;否则,不通过认证。本发明提供的基于时滞混沌迭代的数字签名方法及装置,利用离散混沌迭代的敏感性和遍历性,将需要传送的明文信息调制在时滞混沌迭代的轨迹(过程)中,使其产生的Hash值(数字签名)具有更大的密钥空间和具备更高的安全性。在时滞混沌迭代过程中,采用运算方式简单、且运算速度较快的一维时滞混沌迭10代公式x^=asin2(Xn+b),其中,当x的值域范围在[O,l],参数aG[12.000,12.800],bG,系统具有稳定的混沌吸引子,该混沌序列具有很好的类噪声特性。其分布特征适合用来构造单向的Hash函数,不仅终值的分布平稳,与迭代步数无关,而且与初值无关,分布也较为均匀,这样在已知终值的情况下,初值分布的概率比较均匀,只能以穷举搜索初值,因而保证了不可逆性和防伪造性。在带密钥的Hash函数运算过程中,采用的HMACHash函数运算算法。HMAC算法是基于一个通信双方共享的密钥,在发送明文消息前,对密钥和明文消息都进行了Hash散列(本发明采用的MD5方法)运算;在生成Hash值的过程中,又对密钥进行了两次异或运算,大大加深了攻击者破译的难度。另外,如果配合周期性地动态更新密钥,可进一步克服hash函数和密钥本身潜在的不安全隐患,降低了由此带来的危害,进一步加强了Hash函数运算生成的数字签名的抗攻击性。本发明提供的基于时滞混沌迭代的数字签名方法及装置,具有算法简单、速度快的特点;本发明利用了离散时滞混沌迭代过程对初始条件的敏感性和迭代过程的单向性,使产生的数字签名(Hash值)的每个比特都与需要传送的明文信息相关,并且这种关系对明文信息及时滞混沌迭代初始值的微小改变非常敏感。因此,基于时滞混沌迭代所产生的数字签名(Hash值)与需要传送的明文信息之间的这种复杂而敏感性的非线性关系可以有效地抵御线性分析,具有更大的密钥空间和更大的安全性。以下是仿真验证说明—、仿真证明,通过对原始文本任意单个字符或连续多个字符的篡改,经本发明所述方法所得到的数字签名(Hash值)均不相同。这意味这原始文本的微小变化,都将到导致输出的Hash值有很大的差异变化。由此可见,本发明提供的基于时滞混沌迭代的数字签名方法及装置具有很强的初值敏感性。二、仿真同时证明,本发明提供的基于时滞混沌迭代的数字签名方法及装置使用微小差异(哪怕这种差异率小于10—3)的密钥进行Hash运算,就会产生截然不同的Hash值,可见该方法单向性好,并且具有十分高的初值敏感性。三、混乱与散布性质统计分析在设计密码的过程中需要根据混乱和散布两个重要原则来设计。这就要求本发明在生成Hash值的过程中,生成的Hash值要与所对应的明文信息在内容上不相关,但是又要对所对应的明文信息有着高度的敏感性。只有这样了才能做到混乱和散布密码设计原则所要求的,使得Hash值尽可能在密文空间均匀分布。理想Hash值的散布效果应该是初值的微小变化将导致结果的每bit都以50%的概率变化。因此,考察Hash值的混乱与散布性质,即需要考察在明文信息发生lbit变化的情况下,引起Hash值结果的变化bit数。如下面式子所示,即为混乱与散布性质的统计数字特征。平均变换比特数J=;l>n;平均变换率P=(5/128)X100%B的均方差A5=|^~丄^-巧2;P的均方差AP=(&/128-尸):<formula>formulaseeoriginaldocumentpage11</formula>其中,K明文的长度,Bn为第n次测试时结果变换的比特数。测试的方法为1)取一段长度为K的明文,通过本发明提供的方法,先计算出该段明文的Hash值Dgt;2)在该段明文的第一个字符的ASCII码上加l,得到一段新的明文,计算出新的明文的Hash值Dgtl;比较Dgt和Dgtl的变换比特数,得到Bi;3)在第一个字符的ASCII码上减1,恢复明文为原始明文;4)在原始明文的第二个字符的ASCII码上加l,得到一段新的明文,计算出新的明文的Hash值Dgt2比较Dgt和Dgt2的变换比特数,得到B2;5)以此类推,最终得到BpB2,B3,……Bn—2Bn—A;6)在得到Bn序列后,计算出相应的统计数据。本发明采用Matlab仿真得到明文长度K为250、500、1000、6500的性能统计数据,如表2所示表2-Hash性能测试统计N<table>tableseeoriginaldocumentpage12</column></row><table>从上表可以看出,明文通过本发明提供的方法得到的Hash值,初始明文只要有微小的变换都将导致Hash值将近有一半的位变化。平均变化比特数和每比特平均变化率都趋近于理想状态下的64比特(Hash值为128比特)和50%。相当充分和均匀地利用了明文空间,明文的任何扰动,使得密文在统计上产生接近等概率的均匀分布,从统计效果上保证了攻击者无法在已知一些明文密文对的情况下伪造其它的明文密文。同时,AB与AP都很小,表明算法对明文的混乱与散布能力强而稳定。四、抗碰撞分析抗碰撞性是衡量Hash性能的又一重要的指标。所谓碰撞,是指不同的初始文本对应的Hash映射结果相同,即发生了多对一映射。如果不同的原始文本对应的Hash值相同,就是所谓的一次碰撞。由于Hash算法的作用是把变长的明文压縮成固定长度的密文,本文提出的算法中Hash值长度只有128bit,因此碰撞分析是非常必要的,是要尽可能防止不同的明文Hash变换成相同的Hash值。对于碰撞的分析可以通过如下的方法来衡量。由于最后的Hash值是通过十六进制的方式来表示的,因此测试的目的就是看每次改变明文的任何一个bit位,而得到的Hash值在相同的位置出现相同十六进制值的情况,并作统计分析。下表所示为经Matlab仿真测试文本长度为250、500、1000、6500情况下,得到相同Hash值的概率K<table>tableseeoriginaldocumentpage12</column></row><table>从表中数据可以看出,多次测试的碰撞值都非常低,说明本发明具有很强的抗碰撞性。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的硬件平台的方式来实现,当然也可以全部通过硬件来实施。基于这样的理解,本发明的技术方案对
背景技术
做出贡献的全部或者部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。权利要求一种基于时滞混沌迭代的数字签名方法,包括数字签名的生成过程和认证过程,所述数字签名的生成过程包括以下步骤步骤1对待数字签名的明文信息M(k),其中k=1,2,3,…K,K为明文信息M(k)的长度,以字符为单位进行ASCII编码,得到明文信息M(k)的ASCII编码序列Asc(M[k]),编码序列Asc(M[k])的每一个ASCII编码的值域范围在之间;然后根据ASCII编码的值域范围对编码序列Asc(M[k])进行线性变换的量化处理,得到符合时滞混沌迭代参数所要求的值域范围[12,12.8]的离散序列C(k),C[k]=g+0.001×Asc(M[k]),其中g为取值范围在[12,12.545]之间的一个常数;步骤2对步骤1所得的离散序列C(k)进行时滞混沌迭代,获得离散时滞混沌序列xiK-1(i∈[1,N]);具体方法为利用一维时滞混沌迭代公式xn+1=asin2(xn+b)对离散序列C(k)中的C(1)、C(2)、C(3)直至C(K)顺序进行K轮时滞混沌迭代,其中,1≤n≤N,N为每轮时滞混沌迭代的次数;a和b为每一轮时滞混沌迭代的固定参数,且a∈[12.000,12.8000],b∈;第一轮迭代时,令a=C(1)、选定任意一个初值x1,得到N次迭代后与C(1)相关的迭代结果xN+10;第二轮迭代时,令a=C(2)、以第一轮时滞混沌迭代的迭代结果xN+10为初值x1,得到N次迭代后与C(1)和C(2)相关的迭代结果xN+11;第三轮迭代时,令a=C(3)、以第二轮时滞混沌迭代的迭代结果xN+11为初值x1,得到N次迭代后与C(1)、C(2)和C(3)相关的迭代结果xN+12;直至第K轮迭代时,令a=C(K)、以第(K-1)轮时滞混沌迭代的迭代结果xN+1K-2为初值x1,得到N次迭代后与C(1)、C(2)、C(3)……C(K)相关的离散时滞混沌序列xiK-1(i∈[1,N]),即x1K-1x2K-1x3K-1……xNK-1xN+1K-1;步骤3对步骤2所得离散时滞混沌序列x1K-1x2K-1x3K-1……xNK-1xN+1K-1进行带密钥的Hash函数运算,获得定长值为L的混沌Hash值H1;步骤4对步骤3所得混沌Hash值H1进行加密处理,得到最终的数字签名;步骤5发送方将明文信息M(k)和步骤4所得的数字签名进行组合后发送到通信信道;所述数字签名的认证过程包括以下步骤步骤6接收方从通信信道中接收来自于发送方的明文信息和数字签名后,进行下述步骤7至步骤9的处理;步骤7接收方对接收到的明文信息按照步骤1至步骤3进行处理,得到混沌Hash值H2;步骤8接收方对接收到的数字签名进行与发送方相对应的解密处理,得到混沌Hash值H3;步骤9判断步骤7所得混沌Hash值H2和步骤8所得混沌Hash值H3是否一致,如果一致,则通过认证;否则,不通过认证。2.根据权利要求1所述的基于时滞混沌迭代的数字签名方法,其特征在于,步骤3"对步骤2所得离散时滞混沌序列XlK—、/—1……x/—、+,1进行带密钥的Hash函数运算,获得定长值为L的混沌Hash值H/,时,具体方法包括以下步骤步骤3-l:采用ipad序列(ipad序列为"00110110"重复排列任意次的序列)中排在前面、且长度与通信双方约定的密钥Key等长的子序列,与通信双方约定的密钥Key进行异或运算,得到序列SO。步骤3-2:将序列SO与步骤2所得离散时滞混沌序列XlK—、/—1……%K—、+,1拼接在一起,拼接时,在序列SO与离散时滞混沌序列XlK—、/—、/—1……x/—、w+,1之间补充一定位数的"0"或"1"字符,使得拼接后构成的离散序列GO能够分成若干个长度相等的数据块。步骤3-3:对离散序列GO进行Hash运算,具体过程为采用一个长度为L的初始hash值,对离散序列GO中的数据块依次进行Hash迭代,得到一个长度为L的hash值H。。步骤3-4:采用opad序列(opad序列为"01011100"重复排列任意次所构成的序列)中排在前面、且长度与通信双方约定的密钥Key等长的子序列,与通信双方约定的密钥Key进行异或运算,得到序列Sl。步骤3-5:将序列SI与步骤3-2所得的hash值H。拼接在一起,拼接时,在序列SI和hash值H。之间补充一定位数的"0"或"1"字符,使得拼接后构成的离散序列Gl能够分成若干个长度相等的数据块。步骤3-6:对离散序列Gl进行Hash运算,具体过程为采用一个长度为L的初始hash值,对离散序列Gl中的数据块依次进行Hash迭代,得到一个长度为L的hash值H1Q3.—种基于时滞混沌迭代的数字签名装置,包括数字签名生成装置和数字签名认证装置;所述数字签名生成装置包括一个性变换模块、一个时滞混沌迭代模块、一个带密钥Hash函数运算模块、一个数字签名加密模块及一个信息传输模块;所述性变换模块完成的功能是对待数字签名的明文信息M(k),其中k=1,2,3,…K,K为明文信息M(k)的长度,以字符为单位进行ASCII编码,得到明文信息M(k)的ASCII编码序列Asc(M[k]),编码序列Asc(M[k])的每一个ASCII编码的值域范围在之间;然后根据ASCII编码的值域范围对编码序列Asc(M[k])进行线性变换的量化处理,得到符合时滞混沌迭代参数所要求的值域范围[12,12.8]的离散序列C(k),C[k]=g+0.001XAsc(M[k]),其中g为取值范围在[12,12.545]之间的一个常数;所述时滞混沌迭代模块完成的功能是对步骤1所得的离散序列C(k)进行时滞混沌迭代,获得离散时滞混沌序列XiK—、iG[1,N]);具体方法为利用一维时滞混沌迭代公式xn+1=asin2(xn+b)对离散序列C(k)中的C(l)、C(2)、C(3)直至C(K)顺序进行K轮时滞混沌迭代,其中,1《n《N,N为每轮时滞混沌迭代的次数;a和b为每一轮时滞混沌迭代的固定参数,且aG[12.000,12.8000],bG;第一轮迭代时,令a=C(1)、选定任意一个初值Xl,得到N次迭代后与C(l)相关的迭代结果xN+1°;第二轮迭代时,令a=C(2)、以第一轮时滞混沌迭代的迭代结果x,^为初值^得到N次迭代后与C(1)和C(2)相关的迭代结果%+/;第三轮迭代时,令a=C(3)、以第二轮时滞混沌迭代的迭代结果xN+,为初值^,得到N次迭代后与C(1)、C(2)和C(3)相关的迭代结果%+12;直至第1(轮迭代时,令a=C(K)、以第(K-l)轮时滞混沌迭代的迭代结果xN+1K—2为初值Xl,得到N次迭代后与C(1)、C(2)、C(3)……C(K)相关的离散时滞混沌序列XiK—、iG[l,N]),即x,、/—、315—1……K_lK-lxnxn+i;所述带密钥Hash函数运算模块完成的功能是对混沌迭代模块所得离散时滞混沌序列XlK—VV1……x/—、+广1进行带密钥的Hash函数运算,获得定长值为L的混沌Hash值H1;所述数字签名加密模块完成的功能是对带密钥Hash函数运算模块所得混沌Hash值&进行加密处理,得到最终的数字签名;所述信息传输模块完成的功能是将明文信息M(k)和数字签名加密模块所得的数字签名进行组合后发送到通信信道;所述数字签名认证装置包括一个信息接收模块、一个明文信息处理模块、一个数字签名解密模块及一个数字签名认证模块;所述信息接收模块完成的功能是从通信信道中接收来自于发送方的明文信息和数字签名;所述明文信息处理模块完成的功能是对接收的明文信息进行明文线性变换、时滞混沌迭代、带密钥的Hash函数运算,获得混沌Hash值H2。所述明文信息处理模块由一个线性变换模块、一个时滞混沌迭代模块和一个带密钥的Hash函数运算模块组成。数字签名认证装置中明文信息处理模块的线性变换模块、时滞混沌迭代模块和带密钥的Hash函数运算模块各自所完成的功能分别与数字签名生成装置中的线性变换模块、时滞混沌迭代模块和带密钥的Hash函数运算模块所完成的功能相对应;所述数字签名解密模块完成的功能是对接收到的数字签名进行与发送方相对应的解密处理,得到混沌Hash值H3;所述数字签名认证模块完成的功能是判断明文信息处理模块所得混沌Hash值H2和数字签名解密模块所得混沌Hash值H3是否一致,如果一致,则通过认证;否则,不通过认证。全文摘要一种基于时滞混沌迭代的数字签名方法及装置,属于通信
技术领域
。数字签名生成过程包括1)对明文进行ASCII编码并对值域线性量化,2)一维时滞混沌迭代,3)带密钥的Hash函数变换,4)加密等步骤;数字签名认证过程包括5)对接收的明文信息进行与数字签名的生成过程相同的步骤生成一个Hash值,6)对接收的数字签名(Hash值)进行解密,7)认证等步骤。本发明利用时滞混沌迭代的敏感性和遍历性,将明文信息调制在时滞混沌迭代的迭代轨迹(过程)中,使其产生的Hash值具有更大的密钥空间和具备更高的安全性;本发明适用于各种需要进行数字签名进行验证的文本、音视频文件等的安全传输场合,具有运算简单、速度较快,不可逆、防伪造,抗攻击性和碰撞性强的特点。文档编号H04L9/00GK101741544SQ20091026507公开日2010年6月16日申请日期2009年12月29日优先权日2009年12月29日发明者刘小林,徐杰,杨娣洁,王军浩,隆克平申请人:电子科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1