CN100433615C - 一种基于精度补偿的混沌密码的方法 - Google Patents

一种基于精度补偿的混沌密码的方法 Download PDF

Info

Publication number
CN100433615C
CN100433615C CNB2004100612818A CN200410061281A CN100433615C CN 100433615 C CN100433615 C CN 100433615C CN B2004100612818 A CNB2004100612818 A CN B2004100612818A CN 200410061281 A CN200410061281 A CN 200410061281A CN 100433615 C CN100433615 C CN 100433615C
Authority
CN
China
Prior art keywords
centerdot
bit
value
chaotic maps
dimension
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.)
Expired - Fee Related
Application number
CNB2004100612818A
Other languages
English (en)
Other versions
CN1625102A (zh
Inventor
胡汉平
吴晓刚
王祖喜
曾江卫
许娅
周麟
刘双红
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huazhong University of Science and Technology
Original Assignee
Huazhong University of Science and Technology
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huazhong University of Science and Technology filed Critical Huazhong University of Science and Technology
Priority to CNB2004100612818A priority Critical patent/CN100433615C/zh
Publication of CN1625102A publication Critical patent/CN1625102A/zh
Application granted granted Critical
Publication of CN100433615C publication Critical patent/CN100433615C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Complex Calculations (AREA)

Abstract

本发明公开一种基于精度补偿的混沌密码的方法,该方法在不增加精度的情况下可以增加序列的周期,克服数字混沌序列零分布区间的出现,使混沌序列具有良好的性质。利用基于精度补偿的低维混沌动力系统进行迭代计算,补偿参数随机选择或根据其对应的周期环在相空间中的分布规律选择参数,增加序列的周期,克服数字混沌序列零分布区间的出现,改善数字混沌序列性质的目的。本发明产生的密钥序列具有串分布均匀、随机统计特性良好、相邻密钥相关性小、长周期和高复杂度等特点,密码系统的混淆与扩散性能良好;并且,该密码系统的工作密钥空间巨大,足以抵抗穷举密钥攻击。

Description

一种基于精度补偿的混沌密码的方法
技术领域
本发明属于信息安全领域中的密码技术,是一种利用电子计算机技术、信息编码技术和混沌系统在有限精度的条件下采用精度补偿方法产生具有优良性质的混沌密码序列。
背景技术
随着计算机计算速度的不断提高,以及分布处理技术的日益发展,原有的一些加密算法已被破解。目前,国内所采用的加密算法大都是国外将要淘汰的低强度加密算法。由此所带来的不安全因素已成为当前阻碍经济发展和威胁国家安全的一个重要问题。
最近几年,混沌开始被应用于保密通信领域,混沌是确定性系统中由于内在随机性而产生的外在复杂表现,是一种貌似随机的非随机运动。由于混沌信号具有遍历性、宽带性、类噪声、对初始条件的敏感性、快速衰减的自相关和微弱的互相关性等特点,从而为实现保密通信提供了丰富的机制和方法。
但是,数字混沌序列的生成都是在计算机或其它有限精度的器件上实现的。因此,任何混沌序列生成器都可归结为有限自动机来描述,在这种条件下所生成的数字混沌序列势必会表现出短周期、强相关以及小线性复杂度等特性退化问题,难以设计出满足密码学要求的数字混沌序列。
Li-Hui Zhou等人在文献“A New Idea of Using One-Dimensional PWLMap in Digital Secure Communications-Dual-Resolution Approach”[Acta Electron.Sin,vo1.25,no.7,pp.95-97,1997]中提出采用提高输入分辨率使其远高于输出分辨率的双分辨率方法来解决在离散混沌系统中由于精度的有限性所带来的上述问题。显然该方法硬件代价是非常大的。基于多进制的方法,虽然可以扩展数字混沌序列的周期,改善其性质,但是在该方法中实现不同进制之间转换算法的硬件开销也较大。
发明内容
本发明的目的在于克服上述不足之处,提供一种基于精度补偿的混沌密码的方法,该方法在不增加计算精度的前提下有效地解决了上述特性退化问题。
本发明提供的一种基于精度补偿的混沌密码的方法,其步骤包括:
(1)设i=0,并给n维混沌映射的状态变量赋初始值
Figure C20041006128100061
确定对n个初始混沌映射状态变量进行编码后的输出顺序,设初始补偿误差
Figure C20041006128100062
为零,其中n为自然数;
(2)在
Figure C20041006128100063
的精度为L+1比特的条件下,计算n维混沌映射F(X)的值为
Figure C20041006128100064
得到精度为2L比特的状态变量的绝对值和1比特符号位;把其前L比特的数值和1比特符号位赋给中间变量X′i+1,并把其后L比特的数值和1比特符号位赋给中间变量ΔX′i+1
(3)从第j维混沌映射的补偿参数集合Uj中选取补偿参数kj,i,其中j=1,2,…,n,集合Uj中元素个数记为mj,根据(2)式计算第i步补偿函数值向量Hj,该向量中的每个元素都是用一个2L比特的绝对值和1比特符号位来表示;把向量Hi中每一元素的前L比特数值和1比特符号位赋给中间变量ΔX″i+1
(4)计算表达式ΔX′i+1+ΔX″i+1的值,如果除符号位外该计算值超过L比特,则将其超过部分的值与X′i+1相加得
Figure C20041006128100065
并将未超出部分的值连同符号位赋给否则,将该计算值直接赋给
Figure C20041006128100067
并将X′i+1赋给
Figure C20041006128100068
(5)对n维混沌状态变量
Figure C20041006128100069
进行编码,得到向量Si+1
(6)串行地输出向量Si+1中的每一分量,得到相应的密钥序列;
(7)如果密钥序列的累计长度达到要求的数值,则结束退出,否则,设i=i+1,转到步骤(2);
进行计算时需要使用补偿函数Hi
Figure C20041006128100071
对有限精度所产生的误差进行补偿,补偿误差记为:
Δ X ~ i = Δ x ~ 1 , i · · · Δ x ~ n , i = Σ k = L + 2 2 L + 1 α k · 2 - k
其中αk∈{0,1},hj(·)是对n维混沌映射F(X)中的第j维混沌映射fj(X)使用的补偿函数,kj,i是对第j维混沌映射fj(X)第i次迭代使用的补偿参数,
Figure C20041006128100073
是描述第j维混沌映射fj(X)沿第k维方向发散速度的值。
上述步骤(1)中,n维混沌映射的状态变量的
Figure C20041006128100074
初始值为n个随机数,或为n个固定的数;n个初始混沌映射状态变量编码的输出顺序随机设定,或选择一个固定的输出顺序。上述步骤(3)中,补偿参数为随机选择的参数,或根据每个补偿参数对应的周期环在相空间中的分布规律选择的参数。上述步骤(5)根据n维混沌映射状态变量的概率分布进行编码。上述步骤(6)采用动态变换的顺序表控制向量Si+1各个分量的输出顺序。
本发明设计了一种对有限精度下的混沌迭代映射进行多参数精度补偿的算法,在不增加精度的前提下增大数字混沌序列的周期,使数字混沌序列逼近理论的实值混沌序列的分布概率,从而使数字混沌序列具有良好密码学性质,同时克服出现零分布区间的现象。因为不同参数对混沌映射的扰动规则不相同,所以在不同参数的精度补偿下产生的混沌轨道也不相同,这样就能够极大地扩展数字混沌序列的周期。
对密钥流性质的数值分析表明基于精度补偿的混沌密码系统符合所有的安全性设计准则,产生的密钥序列具有串分布均匀、随机统计特性良好、相邻密钥相关性小、长周期和高复杂度等特点,密码系统的混淆与扩散性能良好;并且,该密码系统的工作密钥空间巨大,足以抵抗穷举密钥攻击。
附图说明
图1为数字化混沌系统状态序列的自相关函数图。
具体实施方式
设n维混沌迭代映射为 X i + 1 = F ( X i ) = f 1 ( X i ) · · · f n ( X i ) ( i = 0,1 , . . . ) (其中,n为正整数,通常取值范围为1至4。混沌映射状态变量 X i = x 1 , i · · · x n , i )。在计算机中用L+1个比特表示的混沌映射状态变量值记为 X ~ i = x ~ 1 , i · · · x ~ n , i (其中,L根据系统对加密强度和速度的要求选值,可以取任意正整数,如16bits,33bits)由于计算精度的有限性所导致的与无限精度下的混沌映射状态变量Xi间的计算误差为 Δ X i = Δ x 1 , i · · · Δ x n , i = X i - X ~ i = Σ k = 0 M α k · 2 - k - Σ k = 0 L + 1 α k · 2 - k , ( M ≥ L + 1 ) , 使其n维数字混沌系统的轨迹特性出现不可避免的退化问题——短周期、强相关等。为此,在精度L+1比特条件下对n维混沌映射
X i + 1 = F ( X i ) = f 1 ( X i ) · · · f n ( X i ) , ( i = 0,1 , . . . ) - - - ( 1 )
进行计算时需要使用补偿函数Hj
Figure C20041006128100093
对有限精度所产生的误差进行补偿,补偿误差记为:
Δ X ~ i = Δ x ~ 1 , i · · · Δ x ~ n , i = Σ k = L + 2 2 L + 1 α k · 2 - k
即: Δ X i = Σ k = L + 2 2 L + 1 α k · 2 - k + Σ k = 2 L + 2 M α k · 2 - k = Δ X ~ i + o ( Δ X ~ i )
在上式中,用
Figure C20041006128100096
表示从第2L+2位到第M位的误差。因此,可以将补偿后的第j维混沌映射fi(Xi)表示为:
x j , i + 1 = f j ( X ~ i ) + h j ( k j , i ) + o ( Δ x ~ j , i ) = f j ( X ~ i ) + k j , i · Σ k = 1 n Δ x ~ k , i · e E ( ln | ∂ ∂ x k f k ( n ) | ) + o ( Δ x ~ j , i + 1 ) - - - ( 3 )
在(3)式中,kj为对第j维混沌映射fj(Xi)进行补偿时所使用的补偿参数。
在L+1精度下,设使用一个参数kj对第j维混沌映射进行精度补偿后,该混沌映射周期轨道上的状态变量集合记为一般情况下,集合
Figure C20041006128100102
中元素个数都小于2L+1,对任一混沌映射,总可以找到参数kj的一个集合Uj,使得在精度L+1比特的条件下集合
Figure C20041006128100103
中有2L+1个元素,而且有限精度下的混沌映射的状态变量的概率分布与理论上混沌映射的状态变量的概率分布之间的全变差范数足够小,即有限精度下混沌映射的轨迹可以达到在相应精度下混沌吸引域中的所有状态,而且能够逼近混沌映射的状态变量在理论上的概率分布。显然,补偿参数集合Uj并不是唯一的。
在对混沌映射进行补偿过程中,按照预定的规则从对第j维混沌映射进行补偿的补偿参数集合Uj={kj[0],kj[1],…,kj[mj]}中确定用于对第i次迭代的补偿参数kj,i。设对第j维混沌映射的第i次迭代xj,i+1=fj(Xi)进行补偿后的状态变量为
Figure C20041006128100104
并且补偿到精度L+1位后的剩余误差为Δxj,i+1,则根据(3)式得到对第j维混沌映射fj(Xi)进行多参数精度补偿计算的公式:
x ~ j , i + 1 + Δ x ~ j , i + 1 = f j ( X ~ i ) + k j , i · Σ k = 1 n Δ x ~ j , k · e E ( ln | ∂ ∂ x k f j ( X ) | ) - - - ( 4 )
由(4)式计算出经过精度补偿后的数字混沌序列,根据预定的编码方法对序列中的元素逐一进行编码,然后,根据预定规则输出密钥流序列。
实例一
在本实例中利用一维混沌映射设计得密码系统,运算精度为16比特,依据混沌映射f(x)的性质和计算精度确定的补偿参数集合为:U={k[0]=0.5,k[1]=0.65,k[2]=0.7,k[3]=0.75,k[4]=0.8,k[5]=0.85,k[6]=1.0,k[7]=1.1,k[8]=1.25,k[9]=1.4,k[10]=1.45,k[11]=1.55,k[12]=1.6,k[13]=1.7,k[14]=1.75,k[15]=1.8,k[16]=1.85,k[17]=1.9,k[18]=1.95,k[19]=-0.55,k[20]=-0.6,k[21]=-0.65,k[22]=-0.75,k[23]=-0.8,k[24]=-0.85,k[25]=-0.9,k[26]=-0.95,k[27]=-1.1,k[28]=-1.15,k[29]=-1.25,k[30]=-1.4,k[31]=-1.45,k[32]=-1.5,k[33]=-1.55,k[34]=-1.6,k[35]=-1.7,k[36]=-1.75,k[37]=-1.8,k[38]=-1.85,k[39]=-1.9}。本实施例中按照先后顺序选取补偿参数,因此,(4)式可以具体写为如下形式:
x ~ i + 1 + Δ x ~ i + 1 = f ( x ~ i ) + k [ l ] · Δ x ~ i · e λ - - - ( 5 )
其中λ=ln 2,f(x)=1-2·x2,l=0,1,...39。
产生密钥流的算法如下:
(1)初始化i=0,l=0,随机产生混沌映射初始值
Figure C20041006128100112
初始化补偿误差 Δ x ~ i = 0 ;
(2)在精度16比特条件下,计算(5)式的第一部分 f ( x ~ i ) = 1 - 2 · x ~ i 2 , 得到一个30比特的状态变量的绝对值和1比特符号位,把它的前15个比特数值和1比特符号位赋给中间变量x′i+1,把它的后15个比特数值和1比特符号位赋给中间变量Δx′i+1
(3)计算(5)式的第二部分
Figure C20041006128100115
的值,得到一个30比特的数值和1比特的符号位,把它的前15比特数值和1比特符号位赋给中间变量Δx″i+1,丢弃它的后15比特数值;
(4)计算Δx′i+1+Δx″i+1的值,如果除符号位外该计算值超过15比特,则将其超过部分的值与x′i+1相加得
Figure C20041006128100116
并将未超出部分的值(连同符号位)赋给
Figure C20041006128100117
否则,将该计算值直接赋给并将x′i+1赋给
Figure C20041006128100119
(5)根据编码规则 s i + 1 = [ 256 ( 1 - ar cos x ~ i + 1 / π ) ] ,
Figure C200410061281001111
进行编码得到si+1,si+1就是加解密所需的密钥;
(6)如果密钥序列的累计长度达到要求的数值,则结束退出,否则,i=i+1,l=lmod40,转到(2)。
利用上述算法产生一个长度为100万字节的密钥序列{s0,s1,…,s999,999}。首先,经过参数补偿后的数字化混沌系统的状态序列{x0,x1,…,x999,999}的概率分布与混沌系统f(x)=1-2·x2的理论概率分布之间的全变差范数为0.0456,非常接近混沌系统f(x)=1-2·x2的理论概率分布;其次,如图1所示,经过参数补偿后的数字化混沌系统的状态序列的自相关函数近似于冲激函数,序列的自相关性非常弱;第三,密钥序列自相关函数也近似于冲击函数,自相关性非常弱,在100万字节的密钥序列中没有出现周期现象。
实例二
在本实例中利用一维混沌映射设计得密码系统,运算精度为16比特,依据混沌映射f(x)的性质和计算精度确定的补偿参数集合为:U={k[0]=0.5,k[1]=0.65,k[2]=0.7,k[3]=0.75,k[4]=0.8,k[5]=0.85,k[6]=1.0,k[7]=1.1,k[8]=1.25,k[9]=1.4,k[10]=1.45,k[11]=1.55,k[12]=1.6,k[13]=1.7,k[14]=1.75,k[15]=1.8,k[16]=1.85,k[17]=1.9,k[18]=1.95,k[19]=-0.55,k[20]=-0.6,k[21]=-0.65,k[22]=-0.75,k[23]=-0.8,k[24]=-0.85,k[25]=-0.9,k[26]=-0.95,k[27]=-1.1,k[28]=-1.15,k[29]=-1.25,k[30]=-1.4,k[31]=-1.45,k[32]=-1.5,k[33]=-1.55,k[34]=-1.6,k[35]=-1.7,k[36]=-1.75,k[37]=-1.8,k[38]=-1.85,k[39]=-1.9}。从补偿参数集合U中随机地选择补偿参数,用它对混沌映射f(x)的第i次迭代进行补偿,因此,(4)式可以具体写为如下形式:
x ~ i + 1 + Δ x ~ i + 1 = f ( x ~ i ) + k [ l ] · Δ x ~ i · e λ - - - ( 6 )
其中λ=ln 2;f(x)=1-2·x2;l∈{0,1,2,...,39}是补偿参数的标号,它是由物理噪声芯片产生的随机整数。在本实施例中,预先选定混沌映射的初始值
Figure C20041006128100122
为0.02731。
产生密钥流的算法如下:
(1)初始化i=0,设定混沌映射初始值 x ~ i = 0.02731 , 初始化补偿误差 Δ x ~ i = 0 ;
(2)在精度16比特条件下,计算(6)式的第一部分 f ( x ~ i ) = 1 - 2 · x ~ i 2 , 得到一个30比特的状态变量的绝对值和1比特符号位,把它的前15个比特数值和1比特符号位赋给中间变量x′i+1,把它的后15个比特数值和1比特符号位赋给中间变量Δx′i+1
(3)用物理噪声芯片产生一个0~39的随机整数,并把它赋给l,从补偿参数集合U中选出补偿参数k[l]作为对混沌映射第i次迭代进行精度补偿的补偿参数;
(4)计算(6)式的第二部分
Figure C20041006128100126
的值,得到一个30比特的数值和1比特的符号位,把它的前15比特数值和1比特符号位赋给中间变量Δx″i+1,丢弃它的后15比特数值;
(4)计算Δx′i+1+Δx″i+1的值,如果除符号位外该计算值超过15比特,则将其超过部分的值与x′i+1相加得
Figure C20041006128100131
并将未超出部分的值(连同符号位)赋给
Figure C20041006128100132
否则,将该计算值直接赋给
Figure C20041006128100133
并将x′i+1赋给
Figure C20041006128100134
(5)根据编码规则 s i + 1 = [ 256 ( 1 - ar cos x ~ i + 1 / π ) ] ,
Figure C20041006128100136
进行编码得到si+1,si+1就是加解密所需的密钥;
(6)如果密钥序列的累计长度达到要求的数值,则结束退出,否则,i=i+1,l=lmod40,转到(2)。
实例三
在本实例中使用一个30维混沌映射
x 1 , i + 1 x 2 , i + 1 x 3 , i + 1 · · · x 29 , i + 1 x 30 , i + 1 = 1 - ϵ ϵ / 2 0 · · · 0 ϵ / 2 ϵ / 2 1 - ϵ ϵ / 2 0 · · · 0 0 ϵ / 2 1 - ϵ ϵ / 2 0 · · · · · · · · · · · · · · · · · · · · · 0 · · · 0 ϵ / 2 1 - ϵ ϵ / 2 ϵ / 2 0 · · · 0 ϵ / 2 1 - ϵ f ( x 1 , i ) f ( x 2 , i ) f ( x 3 , i ) f ( x 29 , i ) f ( x 30 , i ) - - - ( 7 )
其中ε=0.5,f(x)=1-2x2。精度补偿混沌映射的运算精度为16比特。每维混沌映射的补偿参数集中都包含两个补偿参数,根据(3)式得第j维混沌映射的补偿运算式为:
x ~ j , i + 1 + Δ x ~ j , i + 1 = ( 1 - ϵ ) · f ( x ~ j , i ) + ϵ 2 · [ f ( x ~ j - 1 , i + f ( x ~ j + 1 , i ) ) ] + k j [ l ] · Σ k = 1 30 Δ x ~ k , i · e λ k - - - ( 8 )
其中λk=ln 2(k=1,2,...30);kj[l]∈Uj是对第j维混沌映射第i次迭代进行精度补偿的补偿参数,各维混沌映射使用的补偿参数集合分别是:U1={k1[0]=0.85,k1[1]=-0.8125},U2={k2[0]=1.0,k2[1]=0.79687},U3={k3[0]=1.1,k3[1]=-0.796875},U4={k4[0]=1.25,k4[1]=0.8125},U5={k5[0]=1.4,k5[1]=0.921875},U6={k6[0]=1.45,k6[1]=-0.921875},U7={k7[0]=1.55,k7[1]=0.953125},U8={k8[0]=1.7,k8[1]=-0.953125},U9={k90]=1.75,k9[1]=0.984375},U10={k10[0]=1.8,k10[1]=-1.03125},U11={k11[0]=1.85,k11[1]=1.015625},U12={k12[0]=1.9,k12[1]=-1.078125},U13={k13[0]=1.95,k13[1]=1.03125},U14={k14[0]=-0.55,k14[1]=-1.40625},U15={k15[0]=-0.6,k15[1]=1.078125},U16={k16[0]=-0.65,k16[1]=-1.15625},U17={k17[0]=-0.8,k17[1]=1.109375},U18={k18[0]=-0.85,k18[1]=-1.21875},U19={k19[0]=-0.9,k19[1]=1.125},U20={k20[0]=-0.95,k20[1]=1.125},U21={k21[0]=-1.1,k21[1]=1.5625},U22={k22[0]=-1.25,k22[1]=-1.25},U23={k23[0]=-1.4,k23[1]=-1.28125},U24={k24[0]=-1.45,k24[1]=1.21875},U25={k25[0]=-1.5,k25[1]=-1.3125},U26={k26[0]=-1.55,k26[1]=1.25},U27={k27[0]=-1.6,k27[1]=-1.4375},U28={k28[0]=-1.7,k28[1]=1.3125},U29={k29[0]=-1.75,k29[1]=-1.46875},U30={k30[0]=-1.8,k30[1]=1.34375}。在本例中利用物理噪声芯片产生的随机整数(随机整数范围是0~1)来确定对各维混沌映射每次迭代进行精度补偿的补偿参数。
产生密钥流的算法如下:
(1)初始化i=0,随机产生Logistic映射的初始值yi,随机产生30维混沌映射的初始值
Figure C20041006128100141
初始化误差 Δ x ~ 1 , i = 0 , Δ x ~ 2 , i = 0 , · · · , Δ x ~ 30 , i = 0 ;
(2)j=1;
(3)在精度16比特条件下,计算(8)式的第一部分 ( 1 - ϵ ) · f ( x ~ j , i ) + ϵ 2 [ f ( x ~ j - 1 , i ) + f ( x ~ j + 1 , i ) ] , 得到一个30比特的状态变量的绝对值和1比特符号位,把它的前15个比特数值和1比特符号位赋给中间变量x′j,i+1,把它的后15个比特数值和1比特符号位赋给中间变量Δx′j,i+1
(4)利用物理噪声芯片产生一个0~1的随机整数,并把它赋给l,从补偿参数集合Uj中选出补偿参数kj[l]作为对混沌映射第i次迭代进行精度补偿的补偿参数;
(5)计算(8)式的第二部分
Figure C20041006128100144
的值,得到一个30比特的数值和1比特的符号位,把它的前15比特数值和1比特符号位赋给中间变量Δx′i+1,丢弃它的后15比特数值;
(6)计算Δx′j,i+1+Δx″j,i+1的值,如果除符号位外该计算值超过15比特,则将其超过部分的值与Δx′j,i+1相加得并将未超出部分的值(连同符号位)赋给
Figure C20041006128100152
否则,将该计算值直接赋给
Figure C20041006128100153
并将Δx′j,i+1赋给
(7)根据编码规则 s j , i + 1 = [ 256 ( 1 - ar cos x ~ j , i + 1 / π ) ] ,
Figure C20041006128100156
进行编码得到sj,i+1
(8)如果j<30,则j=j+1转到(4),否则继续;
(9)依据维数从低到高顺序输出30维混沌映射状态变量的编码序列,得到加/解密所需的密钥;
(9)如果密钥序列的累计长度达到要求的数值,则结束退出,否则,i=i+1,转到(2)。
实例四
在本实例中使用一个80维混沌映射:
x 1 , i + 1 · · · x 80 , i + 1 = f 1 ( x 1 , i ) · · · f 80 ( x 1 , i ) = 1 - 2 · x 1 , i 2 · · · 1 - 2 · x 80 , i 2 , ( i = 0,1 , . . . ) - - - ( 9 )
设计密码系统。精度补偿混沌映射的运算精度为33比特,每一维混沌映射使用一个补偿参数进行精度补偿,根据(3)式得第j维混沌映射的补偿运算式为:
x ~ j , i + 1 + Δ x ~ j , i + 1 = f j ( x ~ j , i ) + k j · Δ x ~ j , i · e λ j - - - ( 10 )
其中λj是第j维混沌映射的Lyapunov指数,λj=ln 2;kj是对第j维混沌映射进行补偿的补偿参数,各维混沌映射的补偿参数集合分别是:U1={k1=0.79687},U2={k2=-0.796875},U3={k3=0.8125},U4={k4=-0.8125},U5={k5=0.921875},U6={k6=-0.921875},U7={k7=0.953125},U8={k8=-0.953125},U9={k9=0.984375},U10={k10=-1.03125},U11={k11=1.015625},U12={k12=-1.078125},U13={k13=1.03125},U14={k14=-1.40625},U15={k15=1.078125},U16={k16=-1.15625},U17={k17=1.109375},U18={k18=-1.21875},U19={k19=1.125},U20={k20=1.125},U21={k21=1.5625},U22={k22=-1.25},U23={k23=-1.28125},U24={k24=1.21875},U25={k25=-1.3125},U26={k26=1.25},U27={k27=-1.4375},U28={k28=1.3125},U29={k29=-1.46875},U30={k30=1.34375},U31={k31=-1.484375},U32={k32=1.375},U33={k33=-1.5},U34={k34=1.40625},U35={k35=-1.515625},U36={k36=1.5},U37={k37=-1.578125},U38={k38=-1.578125},U39={k39=-1.59375},U40={k40=1.59375},U41={k41=-1.609375},U42={k42=1.609375},U43={k43=-1.625},U44={k44=1.625},U45={k45=-1.65625},U46={k46=1.65625},U47={k47=-1.671875},U48={k48=1.703125},U49={k49=-1.6875},U50={k50=1.71875},U51={k51=-1.703125},U52={k52=1.78125},U53={k53=-1.71875},U54={k54=1.796875},U55={k55=-1.78125},U56={k56=1.828125},U57={k57=-1.796875},U58={k58=1.84375},U59={k59=-1.8125},U60={k60=1.859375},U61={k61=-1.859375},U62={k62=1.90625},U63={k63=-1.890625},U64={k64=1.921875},U65={k65=-1.921875},U66={k66=1.96875},U67={k67=-1.96875},U68={k68=1.8671875},U69={k69=-1.984375},U70={k70=1.8828125},U71={k71=-1.8515625},U72={k72=1.8984375},U73={k73=-1.8671875},U74={k74=1.9140625},U75={k75=-1.9296875},U76={k76=1.9296875},U77={k77=-1.9453125},U78={k78=1.9609375},U79={k79=-1.9765625},U80={k80=1.9765625}
利用顺序表控制这80维混沌映射的输出顺序。表1(a)是控制80个混沌映射状态编码序列输出顺序的顺序表,第一行表示混沌映射的编号,第二行表示对应混沌映射的输出顺序。表1(b)是顺序表的原始状态。Logistic混沌映射被用于产生控制顺序表变换的伪随机数,Logistic混沌映射为
y i + 1 = g ( y i ) = 1 - 2 y i 2 .
根据有限群上随机行走理论,设计如下的顺序表变换规则:
当yi≥0时对顺序表进行(1,2)轮换操作(如表1(c)所示);
当yi<0时对顺序表进行(1,2,…,80)轮换操作(表1(d)所示)。
设顺序表初始化次数为Nord,顺序表初始化算法如下:
(1)初始化j=0,随机产生控制顺序变换的混沌映射初始值yj,此时顺序表为原始状态;
(2)根据混沌映射
yj+1=g(yj)
计算得到yj+1
(3)如果yj+1≥0,则对顺序表进行(1,2)轮换操作,否则对顺序表进行(1,2,…,80)轮换操作;
(4)如果j<Nord,则j=j+1,返回(2);否则结束顺序表初始化过程,得到初始顺序表。
产生密钥流的算法如下:
(1)设定的顺序表初始化次数Nord=150和控制顺序表变换的上述Logistic混沌映射,调用顺序表初始化算法,得到初始顺序表。
(2)初始化i=0,随机产生Logistic映射的初始值yi,随机产生80维混沌映射的初始值
Figure C20041006128100171
初始化误差 Δ x ~ 1 , i = 0 , Δ x ~ 2 , i = 0 , · · · , Δ x ~ 80 , i = 0 ;
(3)j=1;
(4)在精度33比特条件下,计算(10)式的第一部分 f j ( x ~ j , i ) = 1 - 2 · x ~ j , i 2 , 得到一个64比特的状态变量的绝对值和1比特符号位,把它的前32个比特数值和1比特符号位赋给中间变量x′j,i+1,把它的后32个比特数值和1比特符号位赋给中间变量Δx′j,i+1
(5)计算(10)式的第二部分
Figure C20041006128100174
的值,得到一个64比特的数值和1比特的符号位,把它的前32比特数值和1比特符号位赋给中间变量Δx″i+1,丢弃它的后32比特数值;
(6)计算Δx′j,i+1+Δx″j,i+1的值,如果除符号位外该计算值超过32比特,则将其超过部分的值与x′j,i+1相加得
Figure C20041006128100175
并将未超出部分的值(连同符号位)赋给否则,将该计算值直接赋给
Figure C20041006128100177
并将x′j,i+1赋给
Figure C20041006128100178
(7)根据编码规则 s j , i + 1 = [ 256 ( 1 - ar cos x ~ j , i + 1 / π ) ] ,
Figure C200410061281001710
进行编码得到Sj,i+1
(8)如果j<80,则j=j+1转到(4),否则继续;
(9)根据yi和Logistic混沌映射
y i + 1 = g ( y i ) = 1 - 2 y i 2
产生控制顺序表变换的伪随机数yi+1
(10)如果yi+1≥0,则对当前顺序表进行(1,2)轮换操作,得到新的顺序表,否则对当前顺序表进行(1,2,…,80)轮换操作,得到新的顺序表;
(11)根据顺序表输出80维混沌映射状态变量的编码序列,得到加/解密所需的密钥;
(12)如果密钥序列的累计长度达到要求的数值,则结束退出,否则,i=i+1,转到(3)。
Figure C20041006128100182
表1(a)控制80个混沌映射输出顺序的顺序表
表1(b)顺序表初始状态
表1(c)表1(a)经过(1,2)轮换得到的顺序表
Figure C20041006128100191
表1(d)表1(a)经过(1,2,3,…,80)轮换得到的顺序表
Figure C20041006128100192
表2(a)控制n维混沌映射输出顺序的顺序表
Figure C20041006128100193
表2(b)顺序表初始状态
表2(c)表2(a)经过(1,2)轮换得到的顺序表
Figure C20041006128100195
表2(d)表2(a)经过(1,2,3,…,n)轮换得到的顺序表
从上述说明中可以得知以下几点:
(1)、n维混沌映射的状态变量的初始值可以是n个随机数,也可以是n个固定的数。
(2)、n个初始混沌映射状态变量编码的输出顺序既可以随机设定,也可以预先选择一个特定的输出顺序。
(3)、根据n维混沌映射Xi+1=F(Xi)(i=0,1,2,...)的性质和计算精度L+1确定补偿参数集合,使得有限精度混沌映射可以达到该精度下的所有状态而且能够足够好地逼近无限精度下混沌迭代映射状态变量的理论概率分布;在使用补偿参数对混沌映射进行补偿时,既可以是随机地选择补偿参数,也可以根据每个补偿参数对应的周期环在相空间中的分布规律选择补偿参数,使得混沌映射状态变量能够在不同周期环间切换,从而增加数字化混沌系统的周期。
(4)、本发明可以根据n维混沌映射状态变量的概率分布设定编码规则,使得n维混沌映射状态变量序列的编码序列能够具有均匀、独立分布性质。
(5)、采用动态变换的顺序表控制向量Si+1各个分量的输出顺序,表2(a)是控制n维混沌映射状态变量的编码向量串行输出顺序的顺序表,第一行表示混沌映射的编号,第二行表示对应混沌映射的输出顺序,表2(b)是原始顺序表;当控制顺序表动态变换的随机数yi(i=0,1,...)大于等于预先设定的阈值c时,对顺序表进行变换操作P1,否则对顺序表进行变换操作P2
(6)、控制顺序表动态变换的随机数是由一个混沌映射产生的;设控制顺序表动态变换的混沌映射为:
yi+1=g(yi)(i=0,1,...)
yi(i=0,1,...)大于等于预先设定的阈值c时,对顺序表进行变换操作P1,否则对顺序表进行变换操作P2
(7)、顺序表变换操作P1是(1,2)轮换(如表2(c)所示),变换操作P2是(1,2,…,n)轮换(如表2(d)所示)。

Claims (5)

1.一种基于精度补偿的混沌密码的方法,其步骤包括:
(1)设i=0,并给n维混沌映射的状态变量赋初始值
Figure C2004100612810002C1
确定对n个初始混沌映射状态变量进行编码后的输出顺序,设初始补偿误差
Figure C2004100612810002C2
为零,其中n为自然数;
(2)在
Figure C2004100612810002C3
的精度为L+1比特的条件下,计算n维混沌映射F(X)的值为
Figure C2004100612810002C4
得到精度为2L比特的状态变量的绝对值和1比特符号位;把其前L比特的数值和1比特符号位赋给中间变量X′i+1,并把其后L比特的数值和1比特符号位赋给中间变量ΔX′i+1
(3)从第j维混沌映射的补偿参数集合Uj中选取补偿参数kj,i,其中j=1,2,…,n,集合Uj中元素个数记为mj,根据(II)式计算第i步补偿函数值向量Hi,该向量中的每个元素都是用一个2L比特的绝对值和1比特符号位来表示;把向量Hi中每一元素的前L比特数值和1比特符号位赋给中间变量ΔX″i+1
(4)计算表达式ΔX′i+1+ΔX″i+1的值,如果除符号位外该计算值超过L比特,则将其超过部分的值与X′i+1相加得
Figure C2004100612810002C5
并将未超出部分的值连同符号位赋给否则,将该计算值直接赋给
Figure C2004100612810002C7
并将X′i+1赋给
Figure C2004100612810002C8
(5)对n维混沌状态变量
Figure C2004100612810002C9
进行编码,得到向量Si+1
(6)串行地输出向量Si+1中的每一分量,得到相应的密钥序列;
(7)如果密钥序列的累计长度达到要求的数值,则结束退出,否则,设i=i+1,转到步骤(2);
进行计算时需要使用补偿函数Hi
H i = h 1 ( k 1 , i ) · · · h j ( k j , i ) · · · h n ( k n , i ) = k 1 , i e E ( ln | ∂ ∂ x 1 f 1 ( x ) | ) · · · k 1 , i e E ( ln | ∂ ∂ x n f 1 ( x ) | ) · · · · · · · · · k j , i e E ( ln | ∂ ∂ x 1 f j ( x ) | ) · · · k j , i e E ( ln | ∂ ∂ x n f j ( x ) | ) · · · · · · · · · k n , i e E ( ln | ∂ ∂ x 1 f n ( x ) | ) · · · k n , i e E ( ln | ∂ ∂ x n f n ( x ) | ) · Δ X ~ i - - - ( II )
对有限精度所产生的误差进行补偿,补偿误差记为:
Δ X ~ i = Δ x ~ 1 , i · · · Δ x ~ n , i = Σ k = L + 2 2 L + 1 α k · 2 - k
其中αk∈{0,1},hj(·)是对n维混沌映射F(X)中的第j维混沌映射fj(X)使用的补偿函数,kj,i是对第j维混沌映射fj(X)第i次迭代使用的补偿参数,
Figure C2004100612810003C3
是描述第j维混沌映射fj(X)沿第k维方向发散速度的值。
2.根据权利要求1所述的方法,其特征在于:步骤(1)中,n维混沌映射的状态变量的
Figure C2004100612810003C4
初始值为n个随机数,或为n个固定的数;n个初始混沌映射状态变量编码的输出顺序随机设定,或选择一个固定的输出顺序。
3.根据权利要求1所述的方法,其特征在于:步骤(3)中,补偿参数为随机选择的参数,或根据每个补偿参数对应的周期环在相空间中的分布规律选择的参数。
4.根据权利要求1所述的方法,其特征在于:步骤(5)根据n维混沌映射状态变量的概率分布进行编码。
5.根据权利要求1所述的方法,其特征在于:步骤(6)采用动态变换的顺序表控制向量Si+1各个分量的输出顺序。
CNB2004100612818A 2004-12-06 2004-12-06 一种基于精度补偿的混沌密码的方法 Expired - Fee Related CN100433615C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2004100612818A CN100433615C (zh) 2004-12-06 2004-12-06 一种基于精度补偿的混沌密码的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2004100612818A CN100433615C (zh) 2004-12-06 2004-12-06 一种基于精度补偿的混沌密码的方法

Publications (2)

Publication Number Publication Date
CN1625102A CN1625102A (zh) 2005-06-08
CN100433615C true CN100433615C (zh) 2008-11-12

Family

ID=34764478

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2004100612818A Expired - Fee Related CN100433615C (zh) 2004-12-06 2004-12-06 一种基于精度补偿的混沌密码的方法

Country Status (1)

Country Link
CN (1) CN100433615C (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101145901B (zh) * 2007-07-06 2011-04-20 哈尔滨工程大学 超混沌伪随机序列发生方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1359211A (zh) * 2002-01-10 2002-07-17 张红雨 混沌密码序列发生器
JP2004266486A (ja) * 2003-02-28 2004-09-24 Toshiba Information Systems (Japan) Corp 暗号生成装置、暗号復号装置、暗号生成プログラム、暗号復号プログラム、認証システム、電子装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1359211A (zh) * 2002-01-10 2002-07-17 张红雨 混沌密码序列发生器
JP2004266486A (ja) * 2003-02-28 2004-09-24 Toshiba Information Systems (Japan) Corp 暗号生成装置、暗号復号装置、暗号生成プログラム、暗号復号プログラム、認証システム、電子装置

Also Published As

Publication number Publication date
CN1625102A (zh) 2005-06-08

Similar Documents

Publication Publication Date Title
CN101394266B (zh) 一种生成变参数混沌信号的方法及混沌保密通信系统
Hong et al. Generating chaotic secure sequences with desired statistical properties and high security
CN102624519B (zh) 一种面向无线传感器网络的互扰复合混沌流密码实现方法
CN101951314B (zh) 对称密码加密中s-盒的设计方法
CA2874612C (en) Method for generating a pseudorandom sequence, and method for coding or decoding a data stream
Gupta et al. A new image encryption algorithm based on DNA approach
CN106941407A (zh) 一种平台数据动态加密的方法和装置
CN104301095A (zh) Des轮运算方法和电路
CN103346875A (zh) 混沌保密通信系统中数字混沌密码的产生方法
CN106850182A (zh) 基于量子细胞神经网络的视频混沌加密方法
Ye et al. Asymmetric image encryption algorithm based on a new three-dimensional improved logistic chaotic map
CN102064934B (zh) 一种应用混沌密码加密和解密的方法
CN100433615C (zh) 一种基于精度补偿的混沌密码的方法
CN104811295A (zh) 一种对具备掩码防护的祖冲之密码算法进行侧信道能量分析方法
CN100393026C (zh) 二进制数据块加密变换方法
Cui et al. A new image encryption algorithm based on DNA dynamic encoding and hyper-chaotic system
Lee et al. Related-key differential attacks on Cobra-H64 and Cobra-H128
Lee et al. Related-key differential attacks on Cobra-S128, Cobra-F64a, and Cobra-F64b
CN110650006B (zh) 一种中英文字符串的加密和解密方法
CN106230579A (zh) 一种基于混沌的伪随机信号发生方法及发生器
He et al. Cryptanalysis and improvement of a block cipher based on multiple chaotic systems
CN107886463A (zh) 一种基于Chen系统和细胞自动机的数字图像加密方法
Lui et al. A pseudo-random number generator employing multiple Renyi maps
Jessa Data encryption algorithms using one-dimensional chaotic maps
RU2359415C2 (ru) Способ криптографического преобразования блоков цифровых данных

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
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20081112

Termination date: 20100106