推荐期刊

基于污染混沌动力系统的序列加密算法

时间:2019-05-20 10:41:15 所属分类:社会科学 浏览量:

要: 针对信息安全问题,提出一个对信息加密的加密系统。依据混沌学与密码学的紧密联系,首先构造污染混沌动力系统,并且用此系统进行序列加密,基于分段非线性映射与抛物线映射,引入污染系数 构造污染混沌映射,并进行加密算法; 给定算法系统不断变化的参数

  要: 针对信息安全问题,提出一个对信息加密的加密系统。依据混沌学与密码学的紧密联系,首先构造污染混沌动力系统,并且用此系统进行序列加密,基于分段非线性映射与抛物线映射,引入污染系数 α 构造污染混沌映射,并进行加密算法; 给定算法系统不断变化的参数值,使得系统上一轮的迭代结果影响下一轮的初值,从而使系统成为紧密的整体,最终得到密文信息; 最后通过相关性、灵敏度、频率测试等各个角度检验本加密算法的有效性。结果表明: 该加密算法加密效果良好,密文及算法都可以有效地抵抗攻击。

基于污染混沌动力系统的序列加密算法

  关键词: 密码学; 混沌理论; 污染动力系统; 序列加密

  0 引 言

  信息安全不仅关乎国家利益还关乎老百姓的切身利益,研究信息安全问题有着重大的学术与实际意义[1-7]。如何把信息进行伪装与隐藏已经成为人们关心的话题,也是信息安全部门研究的新方向,更是密码学学者研究的重点。最近几年在序列密码加密方面,文献[8]提出了以混沌理论作为基础的应用字符串的加密算法,该加密算法的运算量小,灵活性强; 王林林在文献[9]中提出了一种加密算法,这种算法能够在确保迅速加密的基础上,使得混沌系统产生的混沌序列结果具有较强的随机性,加密系统在防攻击性、安全性等方面都优于那些基于联合混沌和基于三维混沌密码的加密系统; 柳扬等[10]研究了基于可变参数的混沌动力系统的序列密码,研究了动力系统经平移变换之后新的动力系统与原动力系统具有相同的不变测度与均值,并且在新的动力系统基础上采用序列密码设计了加密与解密的算 法。2014 年 李 占梅[11]首次引入不变的污染系数,构造了基于一维 Logistic 映射和分段线性映射的污染混沌动力系统,并提出相应的加密算法。本文基于对文献[11]的研究,引入了一个不断变化的污染系数,构造了污染系统,进而介绍序列加密算法。第 1 节介绍了污染混沌动力系统的定义与例子,第 2 节基于污染混沌动力系统,介绍了本文的加密解密算法; 第 3 节针对本文的加密算法进行计算机仿真; 第 4 节对本文的加密算法进行安全性分析及相关检验,第 5 节是本文的结论。

  1 污染混沌动力系统的加密算法

  1. 1 污染混沌动力系统的定义与例子

  定义 1 设 f1 和 f2 是两个动力系统,称 f =αf1+ ( 1-α) f2 为污染动力系统。其中,0<α<1 称为污染系数[11]。选取抛物线映射[12]:f1( n+1) = X( n+1) = μxn( 1-xn ) ,μ∈( 0,4) ,xn∈[0,1] ( 1) 当 μ∈( 3. 6,4) 时,映射出现分岔,是混沌映射。x 随 μ 的变化如图 1 所示。

  分段非线性映射[13]: f2( n+1) = x( n+1) = 1-槡x( n) /p,0≤x( n)

 

  由抛物线映射式( 1) 与分段非线性映射式( 2) 形成的污染混沌动力系统为 f( n) = αf1( n) +( 1-α) f2( n) ( 3) 当 α= 0. 099,μ = 0. 2,p = 0. 25 时,并且 α = 0. 008 9, μ = 3. 8,p = 0. 15 时的污染动力学系统式( 3) 的图像分别如图 3 和图 4 所示。

  由图 3 和图 4 可知,当 p,α,μ 取不同值时,污染系统的输出值相差很大。

  定理 1 设 f1 和 f2 分别是由式( 1) 和式( 2) 定义的两个混沌动力系统,若使得其中参数分别为 α( n) = 1-x( n) 100 ,p( n) = 2-x( n) 7 ,μ( n) = 4x ( n) ,则 f =αf1+( 1-α) f2 也是混沌动力系统。证明 在各参数取值范围内取 a( n) = 1-x( n) 100 ,p( n) = 2-x( n) 7 ,u( n) = 4x( n) 由于 f ' 1 = u( 1-2x) ,一方面当 0≤x<0. 5 时 f ' 1> 0 另一方面当 0. 5≤x<1 时 f ' 1< 0 f ' 2 = - 1 2 槡px , 0≤x

 

  f' =αf ' 1+ ( 1-α) f ' 2 当 p≤x<0. 5,f'1>1,f'2>1 时 f' =αf ' 1+ ( 1-α) f ' 2> α + ( 1-α) = 1 当 1-p≤x<1,f'1<0,f'2<0,f'1 >1,f'2 >1 时 f' = αf ' 1+ ( 1-α) f ' 2 = α f ' 1 + ( 1-α) f ' 2 > α + ( 1-α) = 1 当 0 ≤ x < p,f'1 > 0,f'2 < 0 时,根 据 p = 2-x 7 , 0≤x<1,可知 1 7

  求导可知,当 00. 99,由二次函数性质可以得到在定义域内 2 - x 7 ·x < 3 28 , 1 2 2 - x 7 槡 ·x > 1 所以 g2( x) >0. 9,g2( x)  g1( x) ,所以 f' 的值由 g2( x) 决定,且 f'<0,f' > f'( p) >1 当 0. 5≤x<1-p,f ' 1<0,f ' 2> 0 时: f'=αf ' 1+ ( 1-α) f ' 2 = 1-x 100 ·4x·( 1-2x) + 1-1-x ( ) 100 1 2槡( 1-x-p) ( 0. 5-p) = ( 1-x) x( 1-2x) 25 + 99 + x 100 1 2槡( 1-x-p) ( 0. 5-p) = q1( x) + q2( x) 令 q1( x) = ( 1-x) x( 1-2x) 25 q2( x) = 99+x 100 1 2槡( 1-x-p) ( 0. 5-p)

  求导可知,q1( x) 在定义域内单调递增,且 q1( x) <0,q1( x) < 1 25 而对于 q2 ( x) , 1 2槡( 1-x-p) ( 0. 5-p) 为递增函数,则 limx→1-p 1 2槡( 1-x-p) ( 0. 5-p) = ∞ ,并且 q2( x)  q1( x) ,所 以 f' 的 值 依 赖 于 q2 ( x ) 。由 上 可 知 f' >1 当 0. 5≤x<1-p 时, 1-p = 1-2-x 7 = 5+x 7 ∈ 5 7 [ ] ,6 7 ,f' >1 综上可知: f' >1 由 λ = limn→∞ 1 n ∑ n-1 i = 0 In F'( xi ) 可知 λ>0,该系统为混沌动力系统。本文在各参数取值范围内选取 α( n) = 1-x( n) 100 ,p( n) = 2-x( n) 7 ,μ( n) = 4x( n) ,初值选取 x( 1) = 0. 195,α( 1) = 0. 001,p( 1) = 0. 22, μ( 1) = 3. 66,n = 1 500 则该污染混沌动力系统输出值 x( n) 的值如图 5 所示,显然输出结果在[0,1]上服从均匀分布。

  1. 2 加密解密算法

  加密思想: 在传输密文过程中,如果明文信息有变化密文也会变化,密钥的微小变化也会引起密文的改变,本文的加密算法考虑了以上两个影响因素。首先把原始明文信息转化为相应的二进制序列,由初值出发通过污染系统的迭代得到混沌结果序列,把混沌序列处理后得到密钥序列,最后把明文序列与密钥序列进行特殊运算以得到效果更好的密文。加密过程如图 6 所示:

  具体加密算法如下:

  步骤 1 将明文字符串转化为 ASCII 码,再将 ASCII 码值由十进制转化为十六位二进制,得到二进制的明文序列 D = { d1 d2 d3…dL } ,L∈N+ ; 其中 di 只取 0 或 1。

  步骤 2 将污染混沌动力系统给定初始值 x( 1) = 0. 195,α( 1) = 0. 001,p( 1) = 0. 22,μ( 1) = 3. 66,则其他参数的初值为 α( n) = 1-x( n) 100 ,p( n) = 2-x( n) 7 , μ( n) = 4x( n) ,其中 n = 2,3,4,…,L。在本文的污染系统中含有式( 1) 及式( 2) ,各个参数为 α( n) = 1-x( n) 100 ,p( n) = 2-x( n) 7 ,μ( n) = 4x( n) 以此类推得到混沌序列{ x( i) } ,i = 1,2,3,…,L。

  步骤 3 由 Tj ( x( i) ) =[10j x( i) ]mod 2 计算得到密钥序列{ ki} 。

  步骤 4 加密。第一轮加密后得到第一轮密文 si,明文与密钥序列的相邻 bit 影响第一轮密文,第二轮加密则是把第一轮密文与密钥逆序列异或,得到最终密文 mi 序列,这样保证了密文的不可攻击性,进一步加强了密钥对密文的影响。第一轮加密: i = 1,d1k1 = s1,i = 2,3,…,L,d( i-1) d( i) k( i-1)  k( i) = si 第二轮加密: i = 1,2,3,…,L,sik( L-( i-1) ) = mi 最后得到密文序列 M= { m1,m2,m3,…,mL } 。解密图如图 7 所示,解密时,第一轮解密得到第一轮密文 si,第二轮解密时与密钥 ki,ki-1 异或得到两个相邻明文 di,di-1的异或值 yi,再用 d1 与 yi+1层层异或逐步得到 d2,d3,…。

  具体解密过程:

  步骤 1 取定系统值。给定污染混沌动力系统中的初始值,则迭代系统中其他参数值为 α( n) = 1-x( n) 100 ,p( n) = 2-x( n) 7 ,μ( n) = 4x( n) , n = 2,3,…,L 并代入 污 染 混 沌 系 统 中 进 行 迭 代,得 到 混 沌 序列{ x( i) } ,i = 1,2,3,…,L。

  步骤 2 得到密钥。由 Tj ( x( i) ) =[10j x( i) ]mod 2 计算得到密钥序列 ki = Tj ( x( i) ) ,i = 1,2,3,…,L。

  步骤 3 解密。第一轮解密: i = 1,2,…,L,mik( L-( i-1) ) = si 第二轮解密: i = 1,s1k1 = d1,i = 2,3,…,L,sik( i-1) k( i) = did( i-1) = yi

  步骤 4 得到明文序列。由 i = 1,2,…,L,diy( i+1) = d( i+1) . 从而得到明文信息二进制序列 D= { d1 d2…dL } 步骤 5 转化为明文。将明文二进制序列的 ASCII 码值转换为明文。

  1. 3 算法仿真

  为了更清楚地说明加密算法的加密过程,对加密算法进行性能分析,下面给出一个例子,对一段文字用 Matlab 进行加密。明文: 个人信息的安全性首先将明文文字转化成 ASCII 码值,然后转化为十六位二进制序列,得到明文序列: 010011100010 101001001110101110100100111111100001011000000 110111101110110100001000101101110001001010100 01011010000110000000100111。污染混沌映射的参数值为 x( 1) = 0. 195,α( 1) = 0. 001,p( 1) = 0. 22,μ( 1) = 3. 66,迭代系统中各参数为 α( n) = 1-x( n) 100 ,p( n) = 2-x( n) 7 ,μ( n) = 4x( n) , j = 7。 ( 1) 在原初值条件下的密文为“〗? z 宻 J? ガ”。 ( 2) 当 x( 1) = 0. 195 000 1 密文为“? ┉Ut'. 犧 y 鵎?”。 ( 3) 将 j = 7 改为 j = 9 密文为“B 鲇 Y( 进; 賗株? S”。 ( 4) 将 α( 1) = 0. 01 改为 α( 1) = 0. 000 1,密文为“8 V? 緧ェ蕾 l 笒”。 ( 5) 将 p( 1) = 0. 22 改为 p( 1) = 0. 220 001,密文为“踻<_x0019_憖饪?? f 袲 e”。 ( 6) 将 μ( 1) = 3. 66 改为 μ( 1) = 3. 660 001 密文为“? /! _x0016_?? O 琲贊 E”。 ( 7) 当 x( 1) = 0. 195 000 01,j = 8 时,其他值不变“F3-?"琐,Y \庣婄”。以上( 1) ~ ( 7) 的结果用 0,1 二进制序列表示后,如图 8 所示。分析图形结果,初始值的极微小的变化会使得密文产生巨大变化。

  当输入正确的解密密钥时,可以得到正确的原始明文信息。如把步骤( 1) 中 x( 1) = 0. 195 中输入污染混沌动力系统,得到的密钥流与密文流进行多次异或 就 得 到 正 确 的 明 文 信 息,而 把 密 钥 当 作 x( 1) = 0. 195+10 -16时,得到的明文为“>楑桳 D? 設 8P 谩”。由此可见,输入错误密钥不能得到正确的明文信息。

  2 安全性分析及相关检验

  2. 1 均匀分布特性

  判断污染混沌动力系统加密效果的好坏,要看加密后密文流二进制序列中 0 与 1 的个数是否接近,越接近加密效果越好。污染系统式( 3) 中,在指定范围内取定参数值,代入后得到混沌序列,再经过计算得到密钥流。当 n 取值越来越大时,密钥流中 0 与 1 的个数几乎相等,这说明密文流是均匀分布的,该污染系统有良好的随机性质,可以有效抵抗统计分析。选取 x( 1) = 0. 195,a( 1) = 0. 001,p( 1) = 0. 22, u( 1) = 3. 66,并且满足: α ( n) = 1-x( n) 100 ,p ( n) = 2-x( n) 7 ,μ( n) = 4x( n) ,n = 2,3…,明文是 10 000 个0 序列,经过该污染混沌动力系统加密后,输出的密文流二进制序列中 0 的个数在 n 中所占比例情况如图 9 所示。

  由图 9 可知,当 n 增大时,0 在密文流中所占的比例逐渐接近 0. 5,说明密文流中 0 与 1 的个数几乎相等,可见密文是均匀分布的,可以有效抵抗统计分析。

  2. 2 相关性分析

  在参数取值范围内选取密钥值,通过污染系统运算后产生密钥值,对明文进行加密,通过明文与密文的相关度检验加密效果。定义明文与密文的相关度[12]: 设{ d1 d2 d3 …dn } 为明文信息的二进制序列, { m1m2m3…mn } 为密文流的二进制序列,α,μ,p 均为式( 3) 中的参数。R( x( 1) ,α( 1) ,p( 1) ,μ,j,n) = 1 ( n #{ mi |mi =di,1≤i≤n ) } - #{ mi |mi≠di,1≤i≤n) } 例 1 明文为混沌密码学原理及其应用,污染系统中 各 参 数 值 为 初 值: x ( 1 ) = 0. 195,a ( 1 ) = 0. 000 1,p( 1) = 0. 22,μ( 1) = 3. 66,以上明文的二进制序列长度为 176,则 n 最大取到 176,迭代系统中其他参数满足: α( n) = 1-x( n) 100 ,p( n) = 2-x( n) 7 ,μ( n) = 4x( n) ( n = 2,3,…,176) 明文二进制、密文二进制以及明文与密文的相关度值随 n 的变化情况如图 10 所示,由图 10 可知,随着 n 的不断增大,明文与密文的相关度值逐渐趋近 0。

  通过以上例子,可以得到结果: 明文与经过该污染系统加密后的密文相关度很低,并且随着 n 值的不断增大,相关度值逐渐趋近于 0,说明加密后的明文与原始明文几乎不相关。

  2. 3 灵敏度检验

  灵敏度[13]的定义: 设{ d1 d2 d3 …dn } 为明文信息的二进制序列, { m1m2m3…mn } 为密文流的二进制序列。灵敏度 δ( di,mi,x( 1) ,α( 1) ,μ( 1) ,p( 1) ,j,n) = 1 n #{ i: di≠mi,1≤i≤n} 。用密钥{ x1,α( 1) ,μ( 1) ,p( 1) ,j} = { 0. 195,0. 001, 3. 66,0. 22,7} 对长度为 10 000 的 0 序列加密,得到的明文与密文灵敏度如图 11 所示。

  当取 不 同 密 钥 时,分 别 选 取 x( 1) = { 0. 195, 0. 195 02,0. 195 04,0. 195 06,0. 195 08} 对 10 000 个 0 序 列 加 密 后,明文与密文的灵敏度如图 12 所示。取 p( 1) = { 0. 22,0. 220 002,0. 220 004,0. 220 006, 0. 220 008} ,对 10 000 个 0 序列加密后,明文与密文的灵敏度如图 13 所示。 j = { 5,6,7,8,9} 时,密文与明文的敏感度如图 14 所示。密文与明文之间随着信息量以及各个密钥的变化灵敏度在变化,几乎趋近于 0. 5。说明加密时明文信息会以 0. 5 的概率改变。

  2. 4 平衡度检验

  设{ m1m2m3 …mn } 为加密后的密文二进制序列,定义平衡度: E( n) = n1-n0 n n1,n0 分别是序列中 1,0 的个数。平衡度越小,0 与 1 的个数越接近,获得的密文随机性越好。取密钥 x ( 1) = 0. 195,a ( 1 ) = 0. 001,p ( 1 ) = 0. 22,μ( 1) = 3. 66。长度为 10 000 的 0 序列加密,得到密文的平衡度分析图如图 15 所示。由图 15 可知,明文全是 0 时,密文的平衡度接近于 0,说明密文中 0,1 个数大体相等,对于更一般的明文,密文更有随机性。

  2. 5 密文序列的自相关性检验

  定义二值序列的自相关系数为ac( n,m) = 1 n ∑ n-m i = 1 bibi+m,( n ≤ N) 其中,m 为步长,n 为比较的密文长度 bit 数,自相关系数的值与步长 m 及 n 有关,当 m 一定时,自相关系数与 n 有关,当 n 变化时,如果自相关系数变化很小,说明密文序列随机性越好。当 m = 1,m = 2,m = 3 时,做比较的密文长度为 10 000 时,用密钥 x( 1) = 0. 195,α( 1) = 0. 001,p( 1) = 0. 22,μ( 1) = 3. 66 得到的密文自相关系数与 n 的图像如图 16 所示。可以看出,当步长分别取 1,2,3 时,密文序列的自相关系数变化很小,说明密文的随机性很好。

  2. 6 密钥空间分析

  对于选取的密钥为 x( 1) ,α( 1) ,p( 1) ,μ( 1) 及离散化算子 j,若计算机精度为 10 -5 估算本算法的密钥空间,结果密钥空间为 5×1025 ,实际上计算机的精度远大于 10 -5 ,则密钥空间远大于 5×1025 ,由此可知该污染混沌动力系统有足够大的密钥空间可以抵抗穷举攻击。

  3 结 论

  文章介绍的密码算法是基于污染混沌动力系统的加密算法,使得简单的映射能产生足够安全的密文,真正做到了明文任一比特的改变都能引起密文的巨大改变。本文介绍了由抛物线映射和分段非线性映射构造的污染混沌映射,用计算机模拟实例来验证加密的结果,并且进行了多项加密性能分析,如密文是否均匀分布、平衡度以及密文的自相关性等,分析后表明该加密算法加密效果良好,密文及算法都可以有效抵抗攻击。

  参考文献( References) :

  [1] SCHNEIER B P. Applied Cryptography: Protocols, Algorithms,and Source Code in C[M]. New Jersey: Wiley,2015

  [2] DOUGLAS R S. 密码学原理与实践[M]. 北京: 电子工业出版社,2003 DOUGLAS R S. The Principle and Practice of Cryptography [M ]. Beijing: Electronic Industry Press,2003

  [3] WILLIAM S. 密码编码学与网络安全: 原理与实践[M]. 北京: 电子工业出版社,2001 WILLIAM S. Cryptography and Network Security: Principle and Practice[M]. Beijing: Electronic Industry Press,2001

  [4] WENBO M. 现代密码学理论与实践[M]. 北京: 电子工业出版社,2004 WENBO M. The Theory and Practice of Modern Crypto- Graphy[M]. Beijing: Electronic Industry Press,2004

  基于污染混沌动力系统的序列加密算法相关论文期刊你还可以了解:《环境污染与防治

转载请注明来自:http://www.zazhifabiao.com/lunwen/shkx/45102.html