基于混沌序列的密钥生成新方法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第36卷第12期2006年12月数学的实践与认识M A TH EM A T I CS I N PRA CT I CE AND TH EO R Y V o l 136 N o 112
D ecem.,2006
基于混沌序列的密钥生成新方法杨文安, 袁德明
(徐州建筑职业技术学院计算机技术工程系,江苏徐州 221008)
摘要: 设计了一种从混沌序列生成密钥的新方法.其基本原理是从混沌序列依次取若干数据构成实值序列,将其按非线性规则映射成二值序列,再用实值序列和任意指定序列分别置乱这个二值序列,被置乱后的二值序列即为所生成密钥.实验表明,在混沌密码体制研究中,这种密钥较一般序列密钥更具有独立性、均匀性和不可预测性.
关键词: 混沌序列;密码体制;密钥
1 引 言
收稿日期:2006209216
基金项目:徐州建筑职业技术学院自然科学基金(JYA 30409)
随着网络技术发展,网络安全问题成为当今社会的焦点.人们也在不断寻求解决网络安全问题的有效方法[1].混沌密码体制[2,3]就是适应网络安全的需要应运而生的.
混沌是确定性系统中具有理论意义上的完全随机运动,而不是通常所用的伪随机[4]运动.混沌系统具有确定性、有界性、初值敏感性、拓朴传递性与混合性、宽带性、快速衰退的自相关性和长期不可预测性[5]等.它所具有的基本特性恰好满足了信息保密通信和密码学的基本要求(即Shannon 提出的密码系统设计的基本原则:扩散原则和混淆原则,以及加 解密过程中的可靠性).在著名的L ogistic 混沌映射的基础上,作者设计了一种新型密码体制.该密码体制利用非线性变换从双混沌序列中产生两个二值序列,并对其进行置乱得到两组密钥,由这两组密钥构成密钥矩阵作用于明 密文信息实现信息的加 解密操作,进而达到信息保密的目的.有关新型密码体制的详细内容将另文介绍,本文重点介绍利用非线性变换从混沌序列中生成一组密钥的方法.利用文中方法生成的密钥较一般序列密钥更具有独立性、均匀性和不可预测性.
2 L og istic 混沌映射
美国普林斯顿大学的生态学家R .M ay 在研究昆虫群体繁殖规律时提出的L ogistic 混沌模型的离散形式为:
x i +1=Λx i (1-x i ), 1<Λ<4, 0 (1)其中,x i 表示第i 代昆虫群体的数量. 有关Λ的取值情况,当i →∞时,序列x i 的趋向问题和相关分析请参阅文献[4]和文献 [6].这里仅给出一个本文引用的结论,即:当式(1)中Λ的取值从3逐渐趋向4时,L ogistic 迭代序列由倍周期通向混沌[6],且随Λ的增加而得到的吸引轨道序列逼近一个Can to r 集. 3 密钥生成方法 3.1 几个相关定义 在式(1)中,适当选择Λ,给定初值x 0和初始迭代次数n d ,则由L ogistic 混沌映射生成的混沌时间序列,可用二值序列和实值序列两种形式表示.从第n d 次迭代开始形成的轨迹序列为:x nd ,x nd +1,x nd +2,….每次连续取m 个随机值映射成实值序列和二值序列,映射方法分别由定义1和定义2给出. 定义1 实值序列R Sm (x ) 令m 为一正整数,t ∈R ,f (t )=t 2 2是R →R 的映射.对于任意给定的实数序列x ={x 1,x 2,…,x m },其对应的实值序列R Sm (x )定义为: R Sm (x )=R Sm ({x 1,x 2,…,x m })={f (x 1),f (x 2),…,f (x m )}(2) 定义2 二值序列B Sm (x ) 令m >0,k Ε0,m ,k 均为整数,u >0,u ∈R ,且u 的二进制按权展开的各项系数序列为: u - ∑m j =-k 32j -{u -k ,u -(k -1),…,u -1,u 0,u 1,u 2,…,u m }(3) 其中,u j 表示u 的第j 项系数,u j =0或1,j 取负和0表示小数点前第j 项,j 取正表示小数点后第j 项,二值映射g j :R →{0,1}的定义为: g j (u )=u j , j =-k ,-(k -1),…,-1,0,1,2,…,m 则对于任意给定的实数序列x ={x 1,x 2,…,x m },其对应的二值序列B Sm (x )定义为: B Sm (x )=B Sm ({x 1,x 2,…,x m })={g 1(x 1),g 2(x 2),…,g m (x m )} (4) 定义3 序列置换和逆置换 令m 为一正整数,Π是定义在集合{1,2,…,m }上的R m →R m 置换,Π-1是Π的逆置换.对于任意给定的实数序列x ={x 1,x 2,…,x m },其序列置换定义为: Π(x )={x Π(1),x Π(2),…,x Π(m )}={y 1,y 2,…,y m }=y ∈R m (5) 相应的逆置换为: Π -1(y )={y -1Π(1),y -1Π-1(2),…,y -1Π(m )}={x 1,x 2,…,x m }=x ∈R m 3.2 密钥生成示例设从式(1)映射的混沌序列中连续取m =8个随机值序列x 为: x ={0.3256,0.13717,0.87139,0.17751,0.95597,0.86627,0.63388,0.75079}则由该序列生成密钥的过程如下: 1)按定义1将序列x 映射成实值序列y =R Sm (x ): y ={0.0530,0.0094,0.3797,0.0158,0.4569,0.3752,0.2009,0.2818} 2)按定义2将实值序列y 映射成二值序列b =B Sm (y )={1,1,0,1,0,0,0,1} 3)随机生成或指定一个置换Π1,按定义3把二值序列b 置乱成二值序列b 1,b 1=Π1(b )={0,1,1,1,0,1,0,0}.这里指定Π1为: 表1 二值序列b 置乱成二值序列b 1 i 1 2345678Π 1(i )5412783616112期杨文安,等:基于混沌序列的密钥生成新方法