基于溷沌的序列密码加密算法
- 格式:pdf
- 大小:235.85 KB
- 文档页数:3
1基于混沌的序列密码加密方法1.1混沌系统的特点混沌现象是在非线性动力学系统中出现的确定性的、类随机的过程,这种过程非周期、不收敛但有界,并且对初始状态具有极其敏感的依赖性,即初始状态只有微小差别的两个同构混沌系统在较短的时间后就会产生两组完全不同的、互不相关的混沌序列值。
混沌信号具有天然的随机性,特别是经过一定处理后的混沌信号具有非常大的周期和优良的随机性,完全可以用来产生符合安全性要求的序列密码。
更重要的是,通过混沌系统对初始状态和参数的敏感依赖性,可以提供数量众多的密钥。
根据混沌系统的上述特点,可以用其产生序列密码。
经过合理设计的混沌序列密码加密算法不会随着对符合要求的密钥流数量的提高而复杂化。
1.2 基于Logistic映射的混沌序列密码加密算法Logistic映射是一维离散混沌系统,运算速度快,方程反复迭代可以产生较好的混沌序列。
产生的混沌序列对初始状态和系统参数极其敏感。
Logistic映射的定义为:X(n) = F[x(n-1)] = u*x(n-1)*(1-x(n-1))其中,控制参数u介于(0,4),x(n)在(0,1)之间,Logistic映射的大量研究已经表明,当u达到极限值,即u=3.5699456时,系统的稳态解周期为∞。
当3.5699456<u ≤4时,Logistic映射呈现混沌状态,所以为了实现混沌态,在实际应用时,u的取值范围应设定为:3.5699456<u≤41.3 混沌序列产生定义XML字符串长度记为|X|,系统交互次数为N。
S为|X|及N变为小数后得乘积。
例如|X|=352,N=8,则S=0.352*0.8u=3.569946+S/2 (保证u<4); X0=S多次迭代F[x(n-1)]式,就得到一个序列值X i(i=0,1,2,3,4…n),取X i小数点后第j到j+k 位,就可以得到一个n*(k+1)位的加密密钥。
基于混沌系统的加密算法设计随着现代科技的不断发展,信息安全越来越受到重视。
在数字通信、电子支付等领域,加密技术被广泛应用,以保证数据的安全性和机密性。
其中,基于混沌系统的加密算法备受关注,被认为是一种高效、不可预测、安全性较高的加密方式。
混沌系统是具有高度随机性和复杂性的非线性动力学系统,具有灵敏的初值依赖性和长时间稳定性,因此成为了一个理想的基础结构用于加密算法的设计。
基于混沌系统的加密算法具有随机性强、加解密快速、安全性高等优点,逐渐成为了加密领域的热门研究方向。
基于混沌系统的加密算法设计中,包含了以下几个关键环节:一、混沌产生器的设计混沌产生器是基于混沌系统产生随机数序列的一种方法。
合适的混沌产生器能够提供足够的随机性,保证加密算法的安全性。
常用的混沌产生器有Logistic混沌系统、Henon混沌系统、Chen混沌系统等。
Logistic混沌系统是最为常见的混沌系统之一,通过迭代运算,生成一系列具有随机性的序列。
具体来说,Logistic混沌系统的迭代公式为:x(n+1) = rx(n)(1−x(n))其中,x(n)为第n个时刻的状态变量;r是混沌系统的参数,用于调节系统的非线性程度。
可以通过调节r的大小,得到不同的随机数序列,用于加密算法的生成密钥。
二、加密算法的设计基于混沌系统的加密算法的核心在于使用混沌系统中产生的随机数序列作为秘钥。
一般而言,加密算法包括了加密和解密两个过程。
在加密过程中,首先需要将明文转换为二进制,然后使用混沌系统中产生的随机数序列对明文进行异或运算,得到密文。
异或运算是一种简单、快速的二进制运算,具有一定的保密性。
在解密过程中,同样需要使用混沌系统中产生的随机数序列对密文进行异或运算,还原出原始明文。
三、算法的优化基于混沌系统的加密算法常常需要针对具体实际应用场景进行优化。
其中,最主要的问题是秘钥的安全性和算法的效率。
为了保证秘钥的安全性,混沌系统中产生的随机数序列需要具有足够的随机性。
基于混沌离散模型的DES密钥生成算法研究作者:邱世中来源:《计算机光盘软件与应用》2013年第11期摘要:针对DES(数据加密标准)存在密钥过短、存在弱密钥等问题,本文在 DES 算法的基础上提出利用混沌离散模型的扩展 DES 密钥空间的改进思路,设计了一种基于logistic离散模型的DES算法。
即用Logistic映射产生的混沌序列,构造DES的密钥,构成一个密钥空间,空间具有无限性且具有相互独立的特性。
通过改进的DES算法对文本文档进行加/解密仿真,结果表明改进的DES算法实现了“一文一密”的加密方式,在安全性和抗攻击能力方面表现更优秀。
关键词:数据加密标准;混沌;密钥;逻辑斯蒂中图分类号:TP309.7数据加密标准DES(Data Encryption Standard)是分组密码加密算法的典型代表,20世纪70年代成为第一个被公布出来的标准算法。
DES算法广泛应用于政府、商业、金融等领域中。
自诞生开始,DES抵御了各种各样的密码分析,但由于其存在密钥过短、存在弱密钥等问题,在20世纪90年代终于被攻破且被AES(Advanced Encryption Standard)[1,2]算法所取代。
尽管如此,由于DES应用广泛,具有相当强的社会基础和商用价值,如果能够设计一种密钥空间具有离散性、独立性的DES加密算法,其安全性问题将会得到相应的解决。
混沌离散模型具有迭代不重复性和初值敏感性,结构复杂,难以分析和预测,非常适合解决DES密钥空间不足的问题[3]。
本文采用了Logistic离散模型产生DES的密钥,使DES算法中每组数据使用独立的密钥,从而建立一种基于混沌离散模型的“一文一密”的DES算法,并通过仿真验证,比较了改进前后的DES算法对文本文档加密结果。
1 DES算法与Logistic混沌离散模型介绍1.1 DES算法介绍DES 算法在1977年由美国国家标准局公布为数据加密标准(Data Encryption Standard),其核心是复杂函数可以通过简单函数迭代若干轮得到。
《基于时空混沌的密码学算法研究》篇一一、引言密码学作为信息安全领域的重要组成部分,一直以来都是学术界和工业界研究的热点。
近年来,随着网络技术的发展和应用的广泛普及,密码学面临着越来越多的挑战和需求。
传统的密码学算法在应对复杂多变的安全威胁时,其局限性逐渐显现。
因此,研究新的密码学算法,特别是基于复杂动态系统的密码学算法,具有重要的理论意义和应用价值。
本文将重点研究基于时空混沌的密码学算法,探讨其原理、性质及在密码学中的应用。
二、时空混沌理论概述时空混沌理论是一种描述动态系统中复杂行为的数学理论。
在密码学领域,时空混沌理论被广泛应用于设计新型的加密算法。
时空混沌系统具有高度的复杂性和随机性,能够为密码学提供强大的安全保障。
该系统通过非线性动力学方程描述空间和时间上的变化,产生复杂的混沌行为。
在密码学算法中,可以利用这种复杂性来增强算法的安全性。
三、基于时空混沌的密码学算法原理基于时空混沌的密码学算法利用时空混沌系统的复杂性和随机性,通过特定的映射关系和加密策略,将明文转化为密文。
该类算法通常包括混沌映射、密钥生成、加密和解密等步骤。
其中,混沌映射是算法的核心部分,通过非线性动力学方程描述时空混沌系统的行为。
密钥生成则是根据混沌映射产生的序列生成加密密钥。
在加密过程中,明文经过密钥的映射和变换,转化为密文;在解密过程中,密文通过反向的映射和变换,还原为明文。
四、基于时空混沌的密码学算法性质基于时空混沌的密码学算法具有以下性质:1. 高度复杂性:算法利用时空混沌系统的复杂性,使得加密过程具有高度的复杂性,难以被破解。
2. 随机性:算法中的混沌映射产生的序列具有随机性,保证了密钥的空间复杂性和难以预测性。
3. 抗攻击性:由于算法的高度复杂性和随机性,使得攻击者难以通过暴力破解或数学分析等方式获取明文信息。
4. 灵活性:算法可以根据具体的应用场景和需求进行定制和优化,具有较强的灵活性。
五、基于时空混沌的密码学算法应用基于时空混沌的密码学算法在信息安全领域具有广泛的应用。
现今使用的加密方法可分为种:对称加密方法、非对称加密方法与序列密码加3密方法。
对称分组加密方法以为代表,这种方法的特点DES 是加密端与解密端使用相同的密钥,加密过程分组进行,安全性依赖于加密算法对混乱与扩散两个基本技术的合理应用。
非对称加密方法的典型代表是算法,这种方法的特RSA 点是加密端与解密端使用不同的密钥。
对话的每一方都有一对密钥,一个是公开密钥,供发送方加密信息;另一个是私有密钥,用于解密。
该方法的安全性依赖于大素数分解的难度。
由于非对称算法的速度比较慢,因此主要用于对话密钥等短信息的加密和身份鉴别。
就安全性而言,非对称算法优于对称算法。
序列密码又称流密码。
加密过程为首先将特定的种子密钥对话密钥注入到序列密码发生器,然后用序列密码发生()器产生的伪随机比特序列与明文比特流进行逐位异或得到密文。
使用序列密码加密时不受明文长度限制,只要产生的序列密码的周期足够大,可以加密任何长度的文件,非常灵活。
此外,与前两种加密方法相比较,序列密码加密速度最快。
因此,特别适合于大数据量、实时性要求较高的加密场合。
序列密码加密的安全性依赖于序列密码的随机程度。
该方法是军方使用较多的一种加密方法,可见其安全性好于分组加密方法。
目前常用的产生序列密码的方法主要有线性反馈移位寄存器和非线性反馈移位寄存器[1]。
其中级线性反馈移位寄n 存器产生的状态序列的最大周期是(2n ),随机性满足 - 1的随机性公式Colomb [1]。
用二个分别为级和级的线性反m n 馈移位寄存器之积的输出序列,其周期可达到(2m - 1)(2n -1) [1]。
这种产生序列密码的方法需要靠增加系统的复杂性达到提高序列周期和随机性的目的。
可见,这种方法在提高安全性的同时,降低了运算速度。
本文提出用混沌系统产生序列密码的方法,给出两个不同的算法。
对这两个算法的安全性和运算速度进行了分析比较。
结果表明用混沌系统产生序列密码的方法是可行的和有效的,据此可开发实用的序列密码加密软件。
这种方法的优点是速度快、安全性好,且安全性的改进与周期的增大不依赖于系统复杂程度的增加。
基于混沌的序列密码加密方法1 混沌系统的特点1.1 混沌现象是在非线性动力学系统中出现的确定性的、类随机的过程[2],这种过程非周期、不收敛但有界,并且对初始状态具有极其敏感的依赖性,即初始状态只有微小差别的两个同构混沌系统在较短的时间后就会产生两组完全不同的、互不相关的混沌序列值。
混沌信号具有天然的随机性,特别是经过一定处理后的混沌信号具有非常大的周期和优良的随机性,完全可以用来产生符合安全性要求的序列密码。
更重要的是,通过混沌系统对初始状态和参数的敏感依赖性,可以提供数量众多的密钥。
根据混沌系统的上述特点,可以用其产生序列密码。
经过合理设计的混沌序列密码加密算法不会随着对符合要求的密钥流数量的提高而复杂化。
基于映射的混沌序列密码加密算法1.2 Logistic 离散混沌系统的映射关系为Logistic (1) 其中∈a (0, 2) , x n+1∈…(-1, 1) , n = 0, 1, 2, 3 当的取值在一定范围内时,系统处于混沌状态,输出a 随机性较好的混沌序列。
初始状态与参数为种子密x(n)x(0)a 钥。
对进行如下处理得到序列密码x(n)x e (n)(2)基于混沌的序列密码加密算法翁贻方,鞠磊(北京工商大学信息工程学院,北京)100037摘要: 提出了基于映射的混沌序列密码加密算法和基于系统的混沌序列密码加密算法给出了语言程序的图像加密实例。
基Logistic Lorenz ,C 于映射的加密算法比基于系统的加密算法具有更快的运算速度,但后者的安全性更高。
研究表明,利用混沌系统产生序列密Logistic Lorenz 码是可行的,算法是安全的。
关键词:混沌;序列密码;加密Chaotic Stream Cipher Encryption AlgorithmsWENG Yifang , JU Lei(College of Information Engineering, Beijing Technology and Business University, Beijing 100037)【】Abstract Chaotic stream cipher encryption algorithms based on logistic mapping and lorenz equation are proposed in this paper. The photo encryption result using C program is given. The speed of the algorithm based on logistic mapping is faster than the other, the latter is more secure. The research shows that it is safe and effective to generate stream ciphers using chaos.【】;;Key words Chaos Stream cipherEncryption第卷 第期2811№Vol.28 11计 算 机 工 程Computer Engineering年月200211 November 2002・基金项目论文・中图分类号: TN918.8文章编号:———10003428(2002)11 007902文献标识码:A——211n n ax x −=+))(()(n x f n x e =其中为处理函数,可以根据要求设计,然后选取门f( )槛值对进行量化,得到序列密码z x(n)x e ,即(n)≥ if x(n)z x e (n) = 1; elsex e (n)= 0;加密过程可用下式表示 e(n) = (m(n) + x e (n))mod 2 (3)其中为密文,为明文。
e(n)m(n)解密端的映射方程为Logistic (4) 其中∈a'(0, 2) , x'n ∈…(-1, 1) , n = 0, 1, 2, 3 对的处理过程与加密端相似,得到序列密码x'(n)x e 。
'(n)只是处理函数为的反函数f() f -1。
( )解密过程用下式表示 m'(n) = (e(n) + x e '(n))mod 2 (5) 其中为密文,解密后结果。
只有当e(n)m'(n)x'(0) = x(0), 时,可以做到精确解密,即有。
a' =a m'(n) = m(n)映射的结构简单,只需对映射方程()进行一Logistic 1步递推,就可产生基本混沌序列,用函数对其进行转f( )换,并作量化处理,得到的混沌序列x e 就可用于加密。
在(n)上述加密算法中,处理函数的设计至关重要,恰当的设f( )计可以在不增加加密系统复杂性的前提下,得到大周期的序列密码并提供良好的安全性。
基于系统的混沌序列密码加密算法1.3 Lorenz 一般,混沌系统的结构越简单,维数越低,运算速度就越快。
但是,维数低的混沌系统密钥空间小,不适用于安全性要求高的场合。
在这种情况下,可用维数较高的连续混沌系统产生序列密码。
和离散混沌系统不同,需要用数值积分方法求得混沌变量的连续值,然后进行量化,生成二进制序列。
本文选取系统,其动力学方程为Lorenz (6)混沌二进制序列密码的产生分两步。
首先,用四阶龙格库塔法对方程()进行数值积分,得到随机性好的连续数-6值序列,其中为数值积分算法的步长;然后,用一个x(nT)T 量化函数对上述连续数值序列进行量化处理,产生二x(nT)进制序列。
本文的计算机仿真结果表明,在其值域0-1x(nT)区间是均匀分布的,因此可将该值域区间等分,若16x(nT)∈I i 16,则取x e (…)。
将(nT) = i - 1, i = 1, 2, 3, , 16 x e 化(nT)成二进制数x be ,每一步将产生位二进制数。
(nT)4以上从连续数值序列通过量化处理产生二进制序x(nT)列x be 的过程,是一个不可逆变换过程,即可以用上述量(nT)化方法从求得x(nT)x be ,但却不能从(nT)x be 精确地推算出(nT),对于系统,由于的值域是,,推算的x(nT)Lorenz x [-2020]最大误差可达。
这对安全性是十分有利的。
40/16基于系统的混沌序列密码加密系统的加密解密过Lorenz 程如图所示。
图中密钥是系统的参数和初始状态。
1k Lorenz ⊕表示模加法运算。
准确的解密取决于密钥。
加密和解2k 密的密钥相同时,能达到精确解密。
系统的密钥是k Lorenz k 参数,,,和初始状态,,的集合。
a b r x(0)y(0)z(0)Lorenz 系统对参数的变化十分敏感,参数小数点后第位上的±141的差异,将引起两个同构的系统对应状态的迅速分Lorenz 离,使和的瞬间值和变化趋势均不相同,此时解密端产x'x 生的序列密码不同于加密端的序列密码,明文得不到恢复,以此达到安全保密的目的。
图加密和解密过程示意图1 图像加密实例2 本文使用语言分别编写了基于映射的混沌序列C Logistic 密码加密程序,和基于系统的混沌序列密码加密程Lorenz 序。
程序中的系统变量与系统参数均为型,这样64bit double 才能保证得出大周期的、随机性好的序列密码。
另外,参数存在微小差别时产生的两组序列密码,在迭代的最初阶段会存在一个短时间的分离过程,为了跳过这个过程,在程序中取跳过初始l 步之后的序列密码进行加密,如映射,Logistic 使用其运行步之后产生的序列密码开始加密。
对图所示3002图像加密后的图像如图所示,图是解密端与加密端参数相34同时的解密图像。
当解密端参数a'=a+10-13时,解密得到的图像如图,可见算法对参数是敏感的,参数变化3a'10-13时,图像不能解密,参数完全相同时,能精确解密。
图原图像图加密后图像2 3 图参数相同时的解密图像 4讨论3 基于系统的混沌序列密码加密算法比基于Lorenz 映射的混沌序列密码加密算法有更好的安全性,因Logistic (下转第页)83——8021''1'nn x a x −=+bz xy dtdzy rx xz dt dyx y a dt dx−=−+−=−=)(下进行的在程序设计过程中,主要采取了两大部分的设,计:步态控制部分和仿真部分。
在控制部分中使用Visual 提供的建立一个普通的程序框架,使用游标 C++App Wizard 控件控制电机的转速,从而控制机器人的爬行速度,在控制与仿真之间采用了时钟控件,使得控制部分的命令在实际中和电脑仿真中同步。