CN101741544A - 一种基于时滞混沌迭代的数字签名方法及装置 - Google Patents
一种基于时滞混沌迭代的数字签名方法及装置 Download PDFInfo
- Publication number
- CN101741544A CN101741544A CN200910265071A CN200910265071A CN101741544A CN 101741544 A CN101741544 A CN 101741544A CN 200910265071 A CN200910265071 A CN 200910265071A CN 200910265071 A CN200910265071 A CN 200910265071A CN 101741544 A CN101741544 A CN 101741544A
- Authority
- CN
- China
- Prior art keywords
- iteration
- digital signature
- time
- chaos
- lag
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
一种基于时滞混沌迭代的数字签名方法及装置,属于通信技术领域。数字签名生成过程包括:1)对明文进行ASCII编码并对值域线性量化,2)一维时滞混沌迭代,3)带密钥的Hash函数变换,4)加密等步骤;数字签名认证过程包括:5)对接收的明文信息进行与数字签名的生成过程相同的步骤生成一个Hash值,6)对接收的数字签名(Hash值)进行解密,7)认证等步骤。本发明利用时滞混沌迭代的敏感性和遍历性,将明文信息调制在时滞混沌迭代的迭代轨迹(过程)中,使其产生的Hash值具有更大的密钥空间和具备更高的安全性;本发明适用于各种需要进行数字签名进行验证的文本、音视频文件等的安全传输场合,具有运算简单、速度较快,不可逆、防伪造,抗攻击性和碰撞性强的特点。
Description
技术领域
本发明属于通信技术领域,涉及一种数字签名方法及装置。
背景技术
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所示,包括数字签名的生成过程和认证过程,所述数字签名的生成过程包括以下步骤:
步骤1:对待数字签名的明文信息M(k)(其中k=1,2,3,…K,K为明文信息M(k)的长度)以字符为单位进行ASCII编码,得到明文信息M(k)的ASCII编码序列Asc(M[k]),编码序列Asc(M[k])的每一个ASCII编码的值域范围在[0,255]之间;然后根据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)进行时滞混沌迭代,获得离散时滞混沌序列xi K-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∈[0.000,0.300];第一轮迭代时,令a=C(1)、选定任意一个初值x1,得到N次迭代后与C(1)相关的迭代结果xN+1 0;第二轮迭代时,令a=C(2)、以第一轮时滞混沌迭代的迭代结果xN+1 0为初值x1,得到N次迭代后与C(1)和C(2)相关的迭代结果xN+1 1;第三轮迭代时,令a=C(3)、以第二轮时滞混沌迭代的迭代结果xN+1 1为初值x1,得到N次迭代后与C(1)、C(2)和C(3)相关的迭代结果xN+1 2;直至第K轮迭代时,令a=C(K)、以第(K-1)轮时滞混沌迭代的迭代结果xN+1 K-2为初值x1,得到N次迭代后与C(1)、C(2)、C(3)……C(K)相关的离散时滞混沌序列xi K-1(i∈[1,N]),即x1 K-1x2 K-1x3 K-1……xN K-1xN+1 K-1。表1所示为时滞混沌迭代轮次与每一轮N次时滞混沌迭代所得离散时滞混沌序列结果。
表1
步骤3:对步骤2所得离散时滞混沌序列x1 K-1x2 K-1x3 K-1……xN K-1xN+1 K-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是否一致,如果一致,则通过认证;否则,不通过认证。
上述技术方案中,步骤3“对步骤2所得离散时滞混沌序列x1 K-1x2 K-1x3 K-1……xN K-1xN+1 K-1进行带密钥的Hash函数运算,获得定长值为L的混沌Hash值H1”时,具体方法包括以下步骤:
步骤3-1:采用ipad序列(ipad序列为“00110110”重复排列任意次的序列)中排在前面、且长度与通信双方约定的密钥Key等长的子序列,与通信双方约定的密钥Key进行异或运算,得到序列S0。
步骤3-2:将序列S0与步骤2所得离散时滞混沌序列x1 K-1x2 K-1x3 K-1……xN K-1xN+1 K-1拼接在一起,拼接时,在序列S0与离散时滞混沌序列x1 K-1x2 K-1x3 K-1……xN K-1xN+1 K-1之间补充一定位数的“0”或“1”字符,使得拼接后构成的离散序列G0能够分成若干个长度相等的数据块。
步骤3-3:对离散序列G0进行Hash运算,具体过程为:采用一个长度为L的初始hash值,对离散序列G0中的数据块依次进行Hash迭代,得到一个长度为L的hash值H0。
步骤3-4:采用opad序列(opad序列为“01011100”重复排列任意次所构成的序列)中排在前面、且长度与通信双方约定的密钥Key等长的子序列,与通信双方约定的密钥Key进行异或运算,得到序列S1。
步骤3-5:将序列S1与步骤3-2所得的hash值H0拼接在一起,拼接时,在序列S1和hash值H0之间补充一定位数的“0”或“1”字符,使得拼接后构成的离散序列G1能够分成若干个长度相等的数据块。
步骤3-6:对离散序列G1进行Hash运算,具体过程为:采用一个长度为L的初始hash值,对离散序列G1中的数据块依次进行Hash迭代,得到一个长度为L的hash值H1。
根据上述技术方案,本发明还提供一种基于时滞混沌迭代的数字签名装置,如图2所示,包括数字签名生成装置和数字签名认证装置。
所述数字签名生成装置包括一个性变换模块、一个时滞混沌迭代模块、一个带密钥Hash函数运算模块、一个数字签名加密模块及一个信息传输模块。
所述性变换模块完成的功能是:对待数字签名的明文信息M(k),其中k=1,2,3,…K,K为明文信息M(k)的长度,以字符为单位进行ASCII编码,得到明文信息M(k)的ASCII编码序列Asc(M [k]),编码序列Asc(M[k])的每一个ASCII编码的值域范围在[0,255]之间;然后根据ASCII编码的值域范围对编码序列Asc(M[k])进行线性变换的量化处理,得到符合时滞混沌迭代参数所要求的值域范围[12,12.8]的离散序列C(k),C[k]=g+0.001×Asc(M[k]),其中g为取值范围在[12,12.545]之间的一个常数。
所述时滞混沌迭代模块完成的功能是:对步骤1所得的离散序列C(k)进行时滞混沌迭代,获得离散时滞混沌序列xi K-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∈[0.000,0.300];第一轮迭代时,令a=C(1)、选定任意一个初值x1,得到N次迭代后与C(1)相关的迭代结果xN+1 0;第二轮迭代时,令a=C(2)、以第一轮时滞混沌迭代的迭代结果xN+1 0为初值x1,得到N次迭代后与C(1)和C(2)相关的迭代结果xN+1 1;第三轮迭代时,令a=C(3)、以第二轮时滞混沌迭代的迭代结果xN+1 1为初值x1,得到N次迭代后与C(1)、C(2)和C(3)相关的迭代结果xN+1 2;直至第K轮迭代时,令a=C(K)、以第(K-1)轮时滞混沌迭代的迭代结果xN+1 K-2为初值x1,得到N次迭代后与C(1)、C(2)、C(3)……C(K)相关的离散时滞混沌序列xi K-1(i∈[1,N]),即x1 K-1x2 K-1x3 K-1……xN K-1xN+1 K-1。
所述带密钥Hash函数运算模块完成的功能是:对混沌迭代模块所得离散时滞混沌序列x1 K-1x2 K-1x3 K-1……xN K-1xN+1 K-1进行带密钥的Hash函数运算,获得定长值为L的混沌Hash值H1。
所述数字签名加密模块完成的功能是:对带密钥Hash函数运算模块所得混沌Hash值H1进行加密处理,得到最终的数字签名。
所述信息传输模块完成的功能是:将明文信息M(k)和数字签名加密模块所得的数字签名进行组合后发送到通信信道。
所述数字签名认证装置包括一个信息接收模块、一个明文信息处理模块、一个数字签名解密模块及一个数字签名认证模块。
所述信息接收模块完成的功能是:从通信信道中接收来自于发送方的明文信息和数字签名。
所述明文信息处理模块完成的功能是:对接收的明文信息进行明文线性变换、时滞混沌迭代、带密钥的Hash函数运算,获得混沌Hash值H2。所述明文信息处理模块由一个线性变换模块、一个时滞混沌迭代模块和一个带密钥的Hash函数运算模块组成。数字签名认证装置中明文信息处理模块的线性变换模块、时滞混沌迭代模块和带密钥的Hash函数运算模块各自所完成的功能分别与数字签名生成装置中的线性变换模块、时滞混沌迭代模块和带密钥的Hash函数运算模块所完成的功能相对应。
所述数字签名解密模块完成的功能是:对接收到的数字签名进行与发送方相对应的解密处理,得到混沌Hash值H3。
所述数字签名认证模块完成的功能是:判断明文信息处理模块所得混沌Hash值H2和数字签名解密模块所得混沌Hash值H3是否一致,如果一致,则通过认证;否则,不通过认证。
本发明提供的基于时滞混沌迭代的数字签名方法及装置,利用离散混沌迭代的敏感性和遍历性,将需要传送的明文信息调制在时滞混沌迭代的轨迹(过程)中,使其产生的Hash值(数字签名)具有更大的密钥空间和具备更高的安全性。
在时滞混沌迭代过程中,采用运算方式简单、且运算速度较快的一维时滞混沌迭代公式xn+1=asin2(xn+b),其中,当参数a∈[12.000,12.800],b∈[0.000,0.300],系统具有稳定的混沌吸引子,该混沌序列具有很好的类噪声特性。其分布特征适合用来构造单向的Hash函数,不仅终值的分布平稳,与迭代步数无关,而且与初值无关,分布也较为均匀,这样在已知终值的情况下,初值分布的概率比较均匀,只能以穷举搜索初值,因而保证了不可逆性和防伪造性。
在带密钥的Hash函数运算过程中,采用的HMAC Hash函数运算算法。HMAC算法是基于一个通信双方共享的密钥,在发送明文消息前,对密钥和明文消息都进行了Hash散列(本发明采用的MD5方法)运算;在生成Hash值的过程中,又对密钥进行了两次异或运算,大大加深了攻击者破译的难度。另外,如果配合周期性地动态更新密钥,可进一步克服hash函数和密钥本身潜在的不安全隐患,降低了由此带来的危害,进一步加强了Hash函数运算生成的数字签名的抗攻击性。
本发明提供的基于时滞混沌迭代的数字签名方法及装置,具有算法简单、速度快的特点;本发明利用了离散时滞混沌迭代过程对初始条件的敏感性和迭代过程的单向性,使产生的数字签名(Hash值)的每个比特都与需要传送的明文信息相关,并且这种关系对明文信息及时滞混沌迭代初始值的微小改变非常敏感。因此,基于时滞混沌迭代所产生的数字签名(Hash值)与需要传送的明文信息之间的这种复杂而敏感性的非线性关系可以有效地抵御线性分析,具有更大的密钥空间和更大的安全性。
附图说明
图1是本发明提供的一种基于时滞混沌迭代的数字签名方法的流程示意图。
图2是本发明提供的一种基于时滞混沌迭代的数字签名装置的结构示意图。
具体实施方式
以下结合附图,对本发明技术方案进一步说明。以下描述仅为本发明的一个具体实施方式,并非是对本发明的限定。对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据本发明思想获得其他具体实施方式。
对于一个字符长度为6000左右的原始文本文件,对其进行本发明所述的基于时滞混沌迭代的数字签名,包括以下步骤:
步骤1:将原始文本文件逐字符地进行ASCII编码,得到原始文本文件的ASCII编码序列Asc(M[k])(K为原始文本文件的长度),将值域范围在[0,255]之间的ASCII编码序列Asc(M[k])进行线性变换的量化处理,得到一个值域范围在[12.000,12.255]之间的离散序列C(k)。
步骤2:对步骤1所得的离散序列C(k)进行时滞混沌迭代,获得离散时滞混沌序列xi K-1(i∈[1,N]);具体方法为:
利用一维时滞混沌迭代公式xn+1=asin2(xn+b)对离散序列C(k)中的C(1)、C(2)、C(3)直至C(K)顺序进行K轮时滞混沌迭代,其中,1≤n≤50,50为每轮时滞混沌迭代的次数;a和b为每一轮时滞混沌迭代的固定参数,且a∈[12.000,12.255],b∈[0.000,0.300];第一轮迭代时,令a=C(1)、b=0.1和x1=0.1,得到50次迭代后与C(1)相关的迭代结果xN+1 0;第二轮迭代时,令a=C(2)、b=0.1和 得到50次迭代后与C(1)和C(2)相关的迭代结果xN+1 1;第三轮迭代时,令a=C(2)、b=0.1和 得到50次迭代后与C(1)、C(2)和C(3)相关的迭代结果xN+1 2;直至第K轮迭代时,令a=C(K)、b=0.1和 得到50次迭代后与C(1)、C(2)、C(3)……C(K)相关的离散时滞混沌序列xi K-1(i∈[1,N]),即x1 K-1x2 K-1x3 K-1……xN K-1xN+1 K-1。
步骤3:对步骤2所得离散时滞混沌序列x1 K-1x2 K-1x3 K-1……xN K-1xN+1 K-1进行带密钥的Hash函数运算,获得定长值为128的混沌Hash值H1;具体步骤包括:
步骤3-1:采用ipad序列(ipad序列为“00110110”重复排列任意次的序列)中排在前面、且长度与通信双方约定的密钥Key等长的子序列,与通信双方约定的密钥Key进行异或运算,得到序列S0。
步骤3-2:将序列S0与步骤2所得离散时滞混沌序列x1 K-1x2 K-1x3 K-1……xN K-1xN+1 K-1拼接在一起,拼接时,在序列S0与离散时滞混沌序列x1 K-1x2 K-1x3 K-1……xN K-1xN+1 K-1之间补充一定位数的“0”或“1”字符,使得拼接后构成的离散序列G0能够分成若干个长度为512的数据块。
步骤3-3:对离散序列G0进行Hash运算,具体过程为:采用一个长度为128的初始hash值,对离散序列G0中的数据块依次进行Hash迭代,得到一个长度为128的hash值H0。
步骤3-4:采用opad序列(opad序列为“01011100”重复排列任意次所构成的序列)中排在前面、且长度与通信双方约定的密钥Key等长的子序列,与通信双方约定的密钥Key进行异或运算,得到序列S1。
步骤3-5:将序列S1与步骤3-2所得的hash值H0拼接在一起,拼接时,在序列S1和hash值H0之间补充一定位数的“0”或“1”字符,使得拼接后构成的离散序列G1能够分成若干个长度为512的数据块。
步骤3-6:对离散序列G1进行Hash运算,具体过程为:采用一个长度为128的初始hash值,对离散序列G1中的数据块依次进行Hash迭代,得到一个长度为128的hash值H1。
步骤4:对步骤3所得混沌Hash值H1进行加密处理,得到最终的数字签名。
步骤5:发送方将原始文本文件和步骤4所得的数字签名进行组合后发送到通信信道。
文件接收方的数字签名的认证过程包括以下步骤:
步骤6:接收方从通信信道中接收来自于发送方的文本文件和数字签名后,进行下述步骤7至步骤9的处理;
步骤7:接收方对接收到的文本文件按照步骤1至步骤3进行处理,得到混沌Hash值H2;
步骤8:接收方对接收到的数字签名进行与发送方相对应的解密处理,得到混沌Hash值H3;
步骤9:判断步骤7所得混沌Hash值H2和步骤8所得混沌Hash值H3是否一致,如果一致,则通过认证;否则,不通过认证。
本发明提供的基于时滞混沌迭代的数字签名方法及装置,利用离散混沌迭代的敏感性和遍历性,将需要传送的明文信息调制在时滞混沌迭代的轨迹(过程)中,使其产生的Hash值(数字签名)具有更大的密钥空间和具备更高的安全性。
在时滞混沌迭代过程中,采用运算方式简单、且运算速度较快的一维时滞混沌迭代公式xn+1=asin2(xn+b),其中,当x的值域范围在[0,1],参数a∈[12.000,12.800],b∈[0.000,0.300],系统具有稳定的混沌吸引子,该混沌序列具有很好的类噪声特性。其分布特征适合用来构造单向的Hash函数,不仅终值的分布平稳,与迭代步数无关,而且与初值无关,分布也较为均匀,这样在已知终值的情况下,初值分布的概率比较均匀,只能以穷举搜索初值,因而保证了不可逆性和防伪造性。
在带密钥的Hash函数运算过程中,采用的HMAC Hash函数运算算法。HMAC算法是基于一个通信双方共享的密钥,在发送明文消息前,对密钥和明文消息都进行了Hash散列(本发明采用的MD5方法)运算;在生成Hash值的过程中,又对密钥进行了两次异或运算,大大加深了攻击者破译的难度。另外,如果配合周期性地动态更新密钥,可进一步克服hash函数和密钥本身潜在的不安全隐患,降低了由此带来的危害,进一步加强了Hash函数运算生成的数字签名的抗攻击性。
本发明提供的基于时滞混沌迭代的数字签名方法及装置,具有算法简单、速度快的特点;本发明利用了离散时滞混沌迭代过程对初始条件的敏感性和迭代过程的单向性,使产生的数字签名(Hash值)的每个比特都与需要传送的明文信息相关,并且这种关系对明文信息及时滞混沌迭代初始值的微小改变非常敏感。因此,基于时滞混沌迭代所产生的数字签名(Hash值)与需要传送的明文信息之间的这种复杂而敏感性的非线性关系可以有效地抵御线性分析,具有更大的密钥空间和更大的安全性。
以下是仿真验证说明:
一、仿真证明,通过对原始文本任意单个字符或连续多个字符的篡改,经本发明所述方法所得到的数字签名(Hash值)均不相同。这意味这原始文本的微小变化,都将到导致输出的Hash值有很大的差异变化。由此可见,本发明提供的基于时滞混沌迭代的数字签名方法及装置具有很强的初值敏感性。
二、仿真同时证明,本发明提供的基于时滞混沌迭代的数字签名方法及装置使用微小差异(哪怕这种差异率小于10-3)的密钥进行Hash运算,就会产生截然不同的Hash值,可见该方法单向性好,并且具有十分高的初值敏感性。
三、混乱与散布性质统计分析
在设计密码的过程中需要根据混乱和散布两个重要原则来设计。这就要求本发明在生成Hash值的过程中,生成的Hash值要与所对应的明文信息在内容上不相关,但是又要对所对应的明文信息有着高度的敏感性。只有这样了才能做到混乱和散布密码设计原则所要求的,使得Hash值尽可能在密文空间均匀分布。
理想Hash值的散布效果应该是初值的微小变化将导致结果的每bit都以50%的概率变化。因此,考察Hash值的混乱与散布性质,即需要考察在明文信息发生1bit变化的情况下,引起Hash值结果的变化bit数。如下面式子所示,即为混乱与散布性质的统计数字特征。
平均变换比特数: 平均变换率:P=(B/128)×100%
B的均方差: P的均方差:
其中,K明文的长度,Bn为第n次测试时结果变换的比特数。测试的方法为:
1)取一段长度为K的明文,通过本发明提供的方法,先计算出该段明文的Hash值Dgt;2)在该段明文的第一个字符的ASCII码上加1,得到一段新的明文,计算出新的明文的Hash值Dgt1;比较Dgt和Dgt1的变换比特数,得到B1;3)在第一个字符的ASCII码上减1,恢复明文为原始明文;4)在原始明文的第二个字符的ASCII码上加1,得到一段新的明文,计算出新的明文的Hash值Dgt2比较Dgt和Dgt2的变换比特数,得到B2;5)以此类推,最终得到B1,B2,B3,.....Bn-2Bn-1Bn;6)在得到Bn序列后,计算出相应的统计数据。本发明采用Matlab仿真得到明文长度K为250、500、1000、6500的性能统计数据,如表2所示:
表2-Hash性能测试统计
N | 250 | 500 | 1000 | 6500 | 总平均 |
B/bit | 64.2880 | 64.0815 | 64.0020 | 63.8365 | 64.0520 |
ΔB/bit | 5.8801 | 5.7132 | 6.1321 | 5.5988 | 5.8311 |
P | 50.22% | 50.06% | 50% | 49.87% | 50.04% |
ΔP | 0.0459 | 0.0446 | 0.0479 | 0.0437 | 0.0455 |
从上表可以看出,明文通过本发明提供的方法得到的Hash值,初始明文只要有微小的变换都将导致Hash值将近有一半的位变化。平均变化比特数和每比特平均变化率都趋近于理想状态下的64比特(Hash值为128比特)和50%。相当充分和均匀地利用了明文空间,明文的任何扰动,使得密文在统计上产生接近等概率的均匀分布,从统计效果上保证了攻击者无法在已知一些明文密文对的情况下伪造其它的明文密文。同时,ΔB与ΔP都很小,表明算法对明文的混乱与散布能力强而稳定。
四、抗碰撞分析
抗碰撞性是衡量Hash性能的又一重要的指标。所谓碰撞,是指不同的初始文本对应的Hash映射结果相同,即发生了多对一映射。如果不同的原始文本对应的Hash值相同,就是所谓的一次碰撞。由于Hash算法的作用是把变长的明文压缩成固定长度的密文,本文提出的算法中Hash值长度只有128bit,因此碰撞分析是非常必要的,是要尽可能防止不同的明文Hash变换成相同的Hash值。
对于碰撞的分析可以通过如下的方法来衡量。由于最后的Hash值是通过十六进制的方式来表示的,因此测试的目的就是看:每次改变明文的任何一个bit位,而得到的Hash值在相同的位置出现相同十六进制值的情况,并作统计分析。下表所示为经Matlab仿真测试文本长度为250、500、1000、6500情况下,得到相同Hash值的概率:
K | 250 | 500 | 1000 | 6500 | 总平均 |
碰撞值 | 6.79% | 6.27% | 6.46% | 6.26% | 6.45% |
从表中数据可以看出,多次测试的碰撞值都非常低,说明本发明具有很强的抗碰撞性。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的硬件平台的方式来实现,当然也可以全部通过硬件来实施。基于这样的理解,本发明的技术方案对背景技术做出贡献的全部或者部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
Claims (3)
1.一种基于时滞混沌迭代的数字签名方法,包括数字签名的生成过程和认证过程,所述数字签名的生成过程包括以下步骤:
步骤1:对待数字签名的明文信息M(k),其中k=1,2,3,…K,K为明文信息M(k)的长度,以字符为单位进行ASCII编码,得到明文信息M(k)的ASCII编码序列Asc(M[k]),编码序列Asc(M[k])的每一个ASCII编码的值域范围在[0,255]之间;然后根据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)进行时滞混沌迭代,获得离散时滞混沌序列xi K-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∈[0.000,0.300];第一轮迭代时,令a=C(1)、选定任意一个初值x1,得到N次迭代后与C(1)相关的迭代结果xN+1 0;第二轮迭代时,令a=C(2)、以第一轮时滞混沌迭代的迭代结果xN+1 0为初值x1,得到N次迭代后与C(1)和C(2)相关的迭代结果xN+1 1;第三轮迭代时,令a=C(3)、以第二轮时滞混沌迭代的迭代结果xN+1 1为初值x1,得到N次迭代后与C(1)、C(2)和C(3)相关的迭代结果xN+1 2;直至第K轮迭代时,令a=C(K)、以第(K-1)轮时滞混沌迭代的迭代结果xN+1 K-2为初值x1,得到N次迭代后与C(1)、C(2)、C(3)……C(K)相关的离散时滞混沌序列xi K-1(i∈[1,N]),即x1 K-1x2 K-1x3 K-1……xN K-1xN+1 K-1;
步骤3:对步骤2所得离散时滞混沌序列x1 K-1x2 K-1x3 K-1……xN K-1xN+1 K-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所得离散时滞混沌序列x1 K-1x2 K-1x3 K-1……xN K-1xN+1 K-1进行带密钥的Hash函数运算,获得定长值为L的混沌Hash值H1”时,具体方法包括以下步骤:
步骤3-1:采用ipad序列(ipad序列为“00110110”重复排列任意次的序列)中排在前面、且长度与通信双方约定的密钥Key等长的子序列,与通信双方约定的密钥Key进行异或运算,得到序列S0。
步骤3-2:将序列S0与步骤2所得离散时滞混沌序列x1 K-1x2 K-1x3 K-1……xN K-1xN+1 K-1拼接在一起,拼接时,在序列S0与离散时滞混沌序列x1 K-1x2 K-1x3 K-1……xN K-1xN+1 K-1之间补充一定位数的“0”或“1”字符,使得拼接后构成的离散序列G0能够分成若干个长度相等的数据块。
步骤3-3:对离散序列G0进行Hash运算,具体过程为:采用一个长度为L的初始hash值,对离散序列G0中的数据块依次进行Hash迭代,得到一个长度为L的hash值H0。
步骤3-4:采用opad序列(opad序列为“01011100”重复排列任意次所构成的序列)中排在前面、且长度与通信双方约定的密钥Key等长的子序列,与通信双方约定的密钥Key进行异或运算,得到序列S1。
步骤3-5:将序列S1与步骤3-2所得的hash值H0拼接在一起,拼接时,在序列S1和hash值H0之间补充一定位数的“0”或“1”字符,使得拼接后构成的离散序列G1能够分成若干个长度相等的数据块。
步骤3-6:对离散序列G1进行Hash运算,具体过程为:采用一个长度为L的初始hash值,对离散序列G1中的数据块依次进行Hash迭代,得到一个长度为L的hash值H1。
3.一种基于时滞混沌迭代的数字签名装置,包括数字签名生成装置和数字签名认证装置;所述数字签名生成装置包括一个性变换模块、一个时滞混沌迭代模块、一个带密钥Hash函数运算模块、一个数字签名加密模块及一个信息传输模块;
所述性变换模块完成的功能是:对待数字签名的明文信息M(k),其中k=1,2,3,…K,K为明文信息M(k)的长度,以字符为单位进行ASCII编码,得到明文信息M(k)的ASCII编码序列Asc(M[k]),编码序列Asc(M[k])的每一个ASCII编码的值域范围在[0,255]之间;然后根据ASCII编码的值域范围对编码序列Asc(M[k])进行线性变换的量化处理,得到符合时滞混沌迭代参数所要求的值域范围[12,12.8]的离散序列C(k),C[k]=g+0.001×Asc(M[k]),其中g为取值范围在[12,12.545]之间的一个常数;
所述时滞混沌迭代模块完成的功能是:对步骤1所得的离散序列C(k)进行时滞混沌迭代,获得离散时滞混沌序列xi K-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∈[0.000,0.300];第一轮迭代时,令a=C(1)、选定任意一个初值x1,得到N次迭代后与C(1)相关的迭代结果xN+1 0;第二轮迭代时,令a=C(2)、以第一轮时滞混沌迭代的迭代结果xN+1 0为初值x1,得到N次迭代后与C(1)和C(2)相关的迭代结果xN+1 1;第三轮迭代时,令a=C(3)、以第二轮时滞混沌迭代的迭代结果xN+1 1为初值x1,得到N次迭代后与C(1)、C(2)和C(3)相关的迭代结果xN+1 2;直至第K轮迭代时,令a=C(K)、以第(K-1)轮时滞混沌迭代的迭代结果xN+1 K-2为初值x1,得到N次迭代后与C(1)、C(2)、C(3)……C(K)相关的离散时滞混沌序列xi K-1(i∈[1,N]),即x1 K-1x2 K-1x3 K-1……xN K-1xN+1 K-1;
所述带密钥Hash函数运算模块完成的功能是:对混沌迭代模块所得离散时滞混沌序列x1 K-1x2 K-1x3 K-1……xN K-1xN+1 K-1进行带密钥的Hash函数运算,获得定长值为L的混沌Hash值H1;
所述数字签名加密模块完成的功能是:对带密钥Hash函数运算模块所得混沌Hash值H1进行加密处理,得到最终的数字签名;
所述信息传输模块完成的功能是:将明文信息M(k)和数字签名加密模块所得的数字签名进行组合后发送到通信信道;
所述数字签名认证装置包括一个信息接收模块、一个明文信息处理模块、一个数字签名解密模块及一个数字签名认证模块;
所述信息接收模块完成的功能是:从通信信道中接收来自于发送方的明文信息和数字签名;
所述明文信息处理模块完成的功能是:对接收的明文信息进行明文线性变换、时滞混沌迭代、带密钥的Hash函数运算,获得混沌Hash值H2。所述明文信息处理模块由一个线性变换模块、一个时滞混沌迭代模块和一个带密钥的Hash函数运算模块组成。数字签名认证装置中明文信息处理模块的线性变换模块、时滞混沌迭代模块和带密钥的Hash函数运算模块各自所完成的功能分别与数字签名生成装置中的线性变换模块、时滞混沌迭代模块和带密钥的Hash函数运算模块所完成的功能相对应;
所述数字签名解密模块完成的功能是:对接收到的数字签名进行与发送方相对应的解密处理,得到混沌Hash值H3;
所述数字签名认证模块完成的功能是:判断明文信息处理模块所得混沌Hash值H2和数字签名解密模块所得混沌Hash值H3是否一致,如果一致,则通过认证;否则,不通过认证。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009102650713A CN101741544B (zh) | 2009-12-29 | 2009-12-29 | 一种基于时滞混沌迭代的数字签名方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009102650713A CN101741544B (zh) | 2009-12-29 | 2009-12-29 | 一种基于时滞混沌迭代的数字签名方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101741544A true CN101741544A (zh) | 2010-06-16 |
CN101741544B CN101741544B (zh) | 2012-02-29 |
Family
ID=42464485
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009102650713A Expired - Fee Related CN101741544B (zh) | 2009-12-29 | 2009-12-29 | 一种基于时滞混沌迭代的数字签名方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101741544B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103490876A (zh) * | 2013-10-18 | 2014-01-01 | 重庆科技学院 | 基于超混沌Lorenz系统构建Hash函数的数据加密方法 |
CN103532701A (zh) * | 2013-10-16 | 2014-01-22 | 南通纺织职业技术学院 | 一种数值型数据的加密、解密方法 |
CN104052606A (zh) * | 2014-06-20 | 2014-09-17 | 北京邮电大学 | 数字签名、签名认证装置以及数字签名方法 |
CN104486078A (zh) * | 2014-12-01 | 2015-04-01 | 北京成众志科技有限公司 | 一种信息多阶防伪编码与认证方法 |
CN105187211A (zh) * | 2015-08-07 | 2015-12-23 | 北京思特奇信息技术股份有限公司 | 一种消息安全发送接收方法及发送接收装置 |
CN107124273A (zh) * | 2017-05-10 | 2017-09-01 | 成都课迪科技有限公司 | 一种基于动态授权码的平台数据加密方法和装置 |
CN108512848A (zh) * | 2018-03-31 | 2018-09-07 | 深圳大普微电子科技有限公司 | 防重放攻击的方法以及相关装置 |
CN113343609A (zh) * | 2021-06-21 | 2021-09-03 | 中国人民解放军陆军炮兵防空兵学院 | 基于可公开的混沌流密码加密的通信保密电路设计方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101090312B (zh) * | 2007-05-24 | 2011-12-14 | 华中科技大学 | 一种改进的语音编码流加密方法 |
CN101534165B (zh) * | 2009-03-31 | 2013-03-13 | 江南大学 | 一种混沌神经网络保密通信电路 |
-
2009
- 2009-12-29 CN CN2009102650713A patent/CN101741544B/zh not_active Expired - Fee Related
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103532701A (zh) * | 2013-10-16 | 2014-01-22 | 南通纺织职业技术学院 | 一种数值型数据的加密、解密方法 |
CN103532701B (zh) * | 2013-10-16 | 2014-09-10 | 南通纺织职业技术学院 | 一种数值型数据的加密、解密方法 |
CN103490876B (zh) * | 2013-10-18 | 2016-05-18 | 重庆科技学院 | 基于超混沌Lorenz系统构建Hash函数的数据加密方法 |
CN103490876A (zh) * | 2013-10-18 | 2014-01-01 | 重庆科技学院 | 基于超混沌Lorenz系统构建Hash函数的数据加密方法 |
CN104052606A (zh) * | 2014-06-20 | 2014-09-17 | 北京邮电大学 | 数字签名、签名认证装置以及数字签名方法 |
CN104052606B (zh) * | 2014-06-20 | 2017-05-24 | 北京邮电大学 | 数字签名、签名认证装置以及数字签名方法 |
CN104486078A (zh) * | 2014-12-01 | 2015-04-01 | 北京成众志科技有限公司 | 一种信息多阶防伪编码与认证方法 |
CN105187211A (zh) * | 2015-08-07 | 2015-12-23 | 北京思特奇信息技术股份有限公司 | 一种消息安全发送接收方法及发送接收装置 |
CN105187211B (zh) * | 2015-08-07 | 2019-01-22 | 北京思特奇信息技术股份有限公司 | 一种消息安全发送接收方法及发送接收装置 |
CN107124273A (zh) * | 2017-05-10 | 2017-09-01 | 成都课迪科技有限公司 | 一种基于动态授权码的平台数据加密方法和装置 |
CN108512848A (zh) * | 2018-03-31 | 2018-09-07 | 深圳大普微电子科技有限公司 | 防重放攻击的方法以及相关装置 |
CN113343609A (zh) * | 2021-06-21 | 2021-09-03 | 中国人民解放军陆军炮兵防空兵学院 | 基于可公开的混沌流密码加密的通信保密电路设计方法 |
CN113343609B (zh) * | 2021-06-21 | 2023-07-07 | 中国人民解放军陆军炮兵防空兵学院 | 基于可公开的混沌流密码加密的通信保密电路设计方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101741544B (zh) | 2012-02-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101741544B (zh) | 一种基于时滞混沌迭代的数字签名方法及装置 | |
CN101753308B (zh) | 一种完整性认证方法 | |
CN102904726A (zh) | 用于量子密钥分配系统的经典信道消息认证方法和装置 | |
CN101431400B (zh) | 一种基于混沌混杂自同步方法的加解密方法及其系统 | |
CN103019648A (zh) | 一种带有数字后处理电路的真随机数发生器 | |
CN104113420A (zh) | 一种基于身份的可聚合签密方法 | |
CN114826656A (zh) | 一种数据链路可信传输方法和系统 | |
CN106452790B (zh) | 一种无信任中心的多方量子数字签名方法 | |
CN103051457B (zh) | 一种社交网络群组安全通信的建立方法 | |
CN103051459A (zh) | 安全卡的交易密钥的管理方法和装置 | |
CN103825725B (zh) | 一种基于矢量量化的高效随机物理层密钥产生方法 | |
CN114915400A (zh) | 同步时间可调节的异构分数阶超混沌系统图像加解密方法 | |
Hamamreh et al. | Hash algorithm for data integrity based on matrix combination | |
CN104683111A (zh) | 一种基于md5的加密方法及系统 | |
CN109344627A (zh) | 一种新型香农完美保密方法 | |
Abdoun et al. | New keyed chaotic neural network hash function based on sponge construction | |
CN104868994A (zh) | 一种协同密钥管理的方法、装置及系统 | |
Al-ahwal et al. | The effect of varying key length on a Vigenère cipher | |
CN106357382A (zh) | 一种用于网络数据传输的加密方法和系统 | |
Gorbenko et al. | Analysis of Potential Post-Quantum Schemes of Hash-Based Digital Signatur | |
CN114430549A (zh) | 一种适用于无线通信的白盒加解密方法与装置 | |
Charru et al. | Improved Cryptography Algorithm to Enhanced Data Security | |
KR20150103394A (ko) | 암호화 시스템 및 그것의 암호 통신 방법 | |
CN111756539B (zh) | 一种可重随机的标识加解密方法 | |
Bhandari et al. | ZETA: Towards Tagless Authenticated Encryption |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120229 Termination date: 20141229 |
|
EXPY | Termination of patent right or utility model |