logo资料库

基于混沌的序列密码算法.pdf

第1页 / 共3页
第2页 / 共3页
第3页 / 共3页
资料共3页,全文预览结束
第 30卷 第 5期 2010年 5月 计 算 机 应 用 Journal of Computer Applications Vo1.30 No.5 M av 2010 文 章 编 号 :1001—9081(2010)05—1221—03 基 于 混 沌 的序 列 密 码 算 法 张 涛 (信息 工程 大学 电子技术学 院,郑州 450004) (zt890@ sina.corn) 摘 要 :利 用序 列密码 中的前馈模 型设 计 了一个混沌序列 密码 算法 ,以线性反 馈移位 寄存 器序 列为初 始序列 ,将 Logistic映射和 Chebyshev映射作 为滤 波函数 ,结合 了压缩 变换 、SMS4算法的 S盒 变换 、有记忆 变换和移位 变换 。分析 和实验结果证 明算 法具有足 够的安全强度和较 高的加 密速度 。 关键 词 :混 沌密码 ;序 列密码 ;Logistic映射 ;Chebyshev映射 ;线性反馈 移位寄存器 ;加密算法 中 图 分 类 号 :TN918.1 文 献 标 志 码 :A Stream cipher algorithm based on chaos (Institute of Electronic Technology,Information Engineering University,Zhengzhou Henan 450004,China) ZH ANG Tao A bstract: A chaotic stream cipher was designed by utilizing feed forward mode1. The sequence generated by Linear Feedback Shift Register(LFSR)was used as the initialization sequence:Logistic map and Chebyshev map were used as filtering functions. Furthermore, the chaotic stream cipher also included compression transform ation, S-box transformation used in SMS4 algorithm,memory transform ation and swap transformation.The results of analysis and experiment prove that the proposed stream cipher owns sufficient safety and higher encryption speed. Key words:chaotic cipher;stream cipher;Lo gistic map;Chebyshev map;Linear Feedback Shift Register(LFSR); encryption algorithm 0 引 言 击和分割攻击所依据 的信 息泄 漏规律 。因此 ,如何既 能利 用 混沌序列 良好的伪随机特性 ,同时 又能克服迭代模型的弱点 , 混沌具有许 多基本特性 … :例 如对初 始条件 和 系统参数 提出新的设计方法是本文 的研 究 目的。 敏感 ,初始条件和 系统 参数任 意接 近的 两点的 长期运 动不可 本文以传统序列 密码 中的前馈模 型为基 础 ,使 用 Logistic 预测 ;遍历性 ,只要 时间足够长 ,像点可 以遍历整个值域 空间 ; 映射和 Chebyshev映射 作 为滤 波 函数 ,设 计 了一个 混沌 序列 混沌序列 无周 期且不收 敛 ,近似 于随机 噪声 ;确定性 ,由确定 密码 算法。分析和实验结果证 明算 法具有足够 的安全强度 和 性 系统产 生 ,使得混沌 系统 可控制 再生 ,为加 解密 提供可 能 。 较 高 的 加 密 速 度 。 这些特性 可以和密码学 中的混乱 和扩散概 念联系起来 。 混沌 密码算 法主要有 两大类 :一类 是基 于 同步调制 技术 1 混沌序 列 密码算法 的设计 设计 的模 拟加 密算 法 ;另一 类是基 于混 沌映射设 计 的数字 1.1 混 沌 序 列 密 码 算 法 的 编 码 环 节 加密算法 J。其 中,数字式 混沌 密码 又可 以分为 混沌 序列 本文所设计 的混沌序 列密码算法使用 了下 面几个 编码环 密码 J、混沌分组密 码 及混 沌公 钥 密码 。近 年来 ,混沌 节 。 密码在数据加 密 J、图像视频 加 密 和数字 水印 等 领域 1)128级右移 除法线路 实现 的线 性反馈 移位寄存 器。设 得 到 了广 泛 的研 究 。 另 一 方 面 ,对 混 沌 密 码 算 法 的 分 析 理 论 研 究 也 取 得 了 一 定 的进 展 。例 如 ,混 沌 的有 限 精 度 实 现 导 致 的 混 沌 特 性 退 化 会泄漏混沌初态和参数 的信 息 ,例如据 此 出现 的多 分辨 率攻 击方法 ;混沌对初始条件 和系统 参数的敏感性 只是保 证 了 混沌初态和参数 的微小 变化 最终将导致混沌序列不 可预测的 变 化 ,但 却 不 能保 证 开 始 几 个 信 号 与 初 态 和 参 数 的 强 烈 相 关 性 ,因而 可借 助密码学 中相 关求解 的思 想对 初态和 参数进 行 求 解 ,例 如据 此 出 现 的 分 割 攻 击 方 法 。 目前基于混沌设计 的序列 密码模 型 主要是迭 代模 型 ,如 二元 域上的 128次多项式 )= I壬》c ,其 中各 c {0,1} l28 且 c。:c 。=1。记第 时刻线性反 馈移位寄存器 的状态 s = ( “, :“,…, ) {0,1} 。,则以-厂( )为反馈多项式的除 法线路 实现的线性反馈移位寄存器 的状态变换为 : S +l= T(s ) = (0, , : ,…, )① (c。^ ,…,c ) 其 中“① ”表示模 2加运算 。选取 128次本原多项式 _厂( ): ① ① o ① 1作为线性 反馈 移位寄存器 的反馈多 项式 ,所得到 的状态序列 {s }为 m序列 ¨ ,即周期为 2 一 文献 [4,8]所设 计的算法 ,该模 型 首先利 用混 沌 映射通 过 反 1。 复迭代产生混沌实值序 列 ,再将 混沌实 值序 列量化 为整数 序 2)Logistic映射 g ( )=4x(1一 ),其 中 ∈ [0,1)。 列作为密钥流序列加密 明文。这 种模 型就存在着多分辨 率攻 3)Chebyshev映 射 g2( ) = cos(4cos~ ),其 中 ∈ 收 稿 日期 :2009—10~22;修 回 15t期 :2010—01—08。 基 金 项 目 :国家 863计 划 项 目 (2007AA0825)。 作者 简介 :张涛(1978一),男 ,四川武胜人 ,讲师 ,博士研究生 ,主要研究方 向:密码学 、信息安全 。
计 算 机 应 用 第 30卷 (一 1,1)。 1.2 混沌序列密码算法 4)非线性变换 S:t 0,1} 一 {0,1} ,即 8 X 8的 S盒 ,输 本文设计 的混沌序列 密码算法 的密钥 长度 为 128位 ,记 入从 0到 255时对应 的输 出依次为 : 为 K = ( , 一, 。: )。加密算法和解密算法具有相 同的流 S[256]= 程 ,不 同之处在于加密算 法是将算 法产生 的密钥流 与明文序 {0xd6,0x90,0xe9,0xfe,0xcc,0xel,0x3d,0xb7,0x16, 列逐位模 2加 产生密文序列 ,而解 密算法是将算 法产生 的密 0xb6,0x14,0xc2,0x28,0xtb,0x2e,0x05,0x2b,0x67,0x9a, 钥流与密文序列逐位模 2加产生 明文序列 。因此 ,本 文仅介 0x76, 0x2a, 0xbe, 0x04, 0xc3, 0xaa, 0x44 , 0x13, 0x26, 绍加密算法 。 0x49,0x86,0x06,0x99,0x9e,0x42,0x50,0xf4,0x91,0xef, 加密算法分为初始化过程和加密过程 。两个过程使用 了 0x98, 0x7a, 0x33, 0x54, 0x0b, 0x43, 0xed, 0xef, 0xac, 相同 的设计结构 ,唯一 区别在 于初 始化过 程中产生 的密钥流 0x62,0xe4,0xb3,0xle,0xa9,0xe9,0x08,0xe8,0x95,0x80, 不用来加 密明文而是被 丢弃 ,在初始化过程完成后 ,算法进入 0xdf,0x94 ,0xfa,0x75,0x8f,0x3f,0xa6,0x47,0x07,0xa7 , 加密过程 ,加密过程产生 的密钥流才用于加密明文序列。 0xfc,0xf3,0x73,0x17,0xba,0x83,0x59,0x3e,0x19,0xe6, 1.2.1 初 始 化 过 程 0x85,0x4f,0xa8,0x68,0x6b,0x81,0xb2,0x71,0x64,0xda, 步骤 1 记初始 时刻 t=0,将 128位的密钥 K =( , 。, 0x8b,0xt8,0xeb,0x0f,0x4b,0x70,0x56,0x9d,0x35,0xle, … , )作 为 128级 右 移 除 法 线 路 实现 的 反 馈 多 项 式 为 0x24, 0x0e, 0x5e, 0x63, 0x58, 0xdl, 0xa2, 0x25, 0x22, .厂( )= o ① ”① ① 1的线性 反馈移位 寄存器 的初 0x7e,0x3b, 0xO1, 0x21, 0x78, 0x87,0xd4, 0x00, 0x46, 0x57,0x9f, 0xd3, 0x27, 0x52, 0x4c, 0x36, 0x02, 0xe7, 态 =( , : ,…, ),即令s。=K。再令有记忆变换的 32位 字 M = 0。 0xa0,0xc4,0xc8,0x9e,0xea,0xbf,0x8a,0xd2,0x40,0xe7, 步骤 2 步骤 3 —5循环执行 128次 。 0x38,0xb5,0xa3,0xt7,0xt2,0xee,0xt9,0x61,0x15,0xal, 步骤 3 记 当 前 线性 反 馈 移 位 寄 存 器 的状 态 为 s = 0xe0 , 0xae, 0x5d, 0xa4, 0x9b, 0x34, 0xla, 0x55, 0xad, 0x93,0x32,0x30,0xf5 ,0x8e,0xbl,0xe3,0xld,0xf6,0xe2, 0x2e, 0x82 , 0x66, 0xea, 0x60, 0xe0, 0x29, 0x23, 0xab, 0x0d,0x53,0x4e,0x6f,0xd5,0xdb,0x37,0x45,0xde,0xfd, ( ”, 【fj,…, ),将 128级除法线路线性反馈移位寄存器 动作 一次 ,产生 128位状态 s = ( ””, ’,… , ”)。 步骤 4 由线性反馈移位寄存 器 的状态 s 产生 Logistic 映射和 Chebyshev映射 的输入 ,再 由 Logistic映射和 Chebyshev 0x8e,0x2f,0x03,0xff,0x6a,0x72,0x6d,0x6c,0x5b,0x51, 63 0x8d,0xlb, 0xaf, 0x92, 0xbb, 0xdd, 0xbc, 0x7f, 0xl1, 映射 产 生 输 出。令 2 = ∑ (2-i-I ” ),rl = 互 0xd9,0x5e,0x41,0xlf,0xl0,0x5a,0xd8,0x0a,0xcl,0x31, 0x88,0xa5, 0xcd, 0x7b, 0xbd,0x2d, 0x74, 0xd0,0x12, 63 ∑ (2-i-1X ),再计算Y :g (z )和Zt:l g2(r )I。 0xb8, 0xe5, 0xb4 , 0xb0,0x89, 0x69, 0x97 , 0x4a, 0x0e, 步骤 5 分别将混沌映射输出 Y 和 量化为 32位整数 , 0x96,0x77, 0x7e,0x65, 0xb9, 0xfl, 0x09, 0xe5, 0x6e, 再利 用非 线 性 变 换 S和 线 性 变 换 更 新 记 忆 状 态 。令 0xe6,0x84,0x18,0xf0,0x7d,0xec,0x3a,0xdc,0x4d,0x20, u =L2 Xy J, =L2 X J,其 中 L J表示不 大于 的最大 0x79,0xee,0x5f,0x3e,0xd7,0xeb,0x39,0x48} 整数 。计算 h =“ o o M。记 32位 字 ^ 的 4个 8位字节 其中各值均为 十六进制数 。选取 的上述 S盒 是 SMS4算 表示 为 h = (h ,h¨,hc.2,hc.3),则 令 埘 = (S(hc.U), 法 中使用 的 S盒 ,其差分 对应 的转移概率 的最大 值为 2~, S(h,i ),S(h:_2),S(hc.3)),再 令 M :R( )。 线性 逼近 的相关优势 的最大值为 2~。 5)({0,1} ) 上的移位变换 R: 1.2.2 加 密过 程 步骤 1 记 当前 线 性 反 馈 移 位 寄 存 器 的状 态 为 = R:({0,1}。) 一 ({0,1} ) ( , 1, 2, )一 ( , ”,…, ),将 128级除法线路线性 反馈移 位寄存器 ( 3, 2, 1, 0) 移动一次 ,产生 128位状态 s =( ”, (1+J ,…, )。 有 限精度实现 的含义有 以下两方面的 内容。 步骤 2 由线性反馈移位寄存器 的状态 S + 产生 Logistic 1)将无 限精度小数 [一1,1]转换 为 n精度小数 的方 映射 和 Chebyshev映射的输入 ,再 由 Logistic映射 和 Chebyshev 法 。 映射 产 生 输 出。令 l = ∑ (2-i-1 ), = 63 这类方法有很多,其中最简单的方式是将 =∑xi2 用 五 63 一 1 = l2 J/2 =∑xi2 代替,这里 ∈{0,1},i≥1或者 E ∑ (2-i-1X ),再计算Y :g。(z )和 =l g2(r1)I。 步骤 3 分别将混沌 映射输 出 Y 和 量化 为 32位整数 , {0,一1},i≥ 1。本文采取 64位精度小数来实现 。 再利用非 线性 变 换 S和 线性 变 换 更 新 记 忆 状 态 。令 2)函数_厂( )的有限精度实现方式 。 u =L2 XY J, =L2 X ZtJ,其中 l J表示不大于 的最大 主要方法有两种。第一种是 首先将 输入 用 ’代 替 , 整数 。计算 h = ① ① M。记 32位字 h 的 4个 8位字节 并将每个指令的运算结 果都转 化为 n精 度小数 ,然后将 之作 表 示 为 h : (hc’u,h cIl,hcI2,hfI3),则 令 W = (S(h邶), 为下步运算的输入 ;第二种是首先将输入 用 代替 ,然后 S(h cI】),S(hc.2),S(h )),再 令 M =R(W )。 按实数运算 计 算 出 -厂( ),最 后 将 _厂( )的 精 度 小 数 步骤 4 产生 16位密钥流用 于加 密 明文 。记 32位字 [_厂( )] 作 为函数 _厂( )在有限精度实现时的输出。本文 的4个 8位字节表示为 = ( f.u, c.】,Wc-2,W ),则 令 6f= 采取第二种方式 来实现 Logistic映射和 Chebyshev映射。 仞 o W啦,b,:W¨o ,则 当前时刻产生 的 16位 密钥流为
第 5期 张涛 :基 于混沌的序 列密码算 法 l223 (b ,b,),利用该密钥流加密第 i个 16位 明文 m 产生 对应 的 用 ,每个 时刻均从不 同起点 产生一 个混 沌状态 。虽然混 沌 映 密 文 c = m ① (b ,b )。 射也是有限精度实 现的 ,但攻击 者却 无法 得到 以同一起 点反 步骤 5 如果 明文 序列加 密完毕 ,算法 终止 ;否则 ,返 回 复迭 代产生的混沌序列 ,进而没有 基于多分辨率攻击 的条 件 , 执行步骤 1~4继续加密 明文序列 。 因此该混沌序列密码算 法可以抵抗多分辨率 攻击方法 。 混沌序列密码算 法的加密框 图如 图 1所示 。 分 割攻击必须得到 以同一起 点反复迭代产生 的混沌序列 LFSR I … I I … I Logistic I I Chebyshev 的连续若 干个信号 的部 分信 息才能 实施 ,类 似于算 法抵抗 多 分辨率攻 击的讨论 ,混 沌序 列密码 算法 中每个 时刻 均产生 长 度仅为 1的混 沌序 列 。利 用分 割攻击 方法 时 ,攻 击者无 法搜 集足够 的信息来 攻击混 沌映射 的输 入 ,因此该 混沌 序列密码 匪 算法可 以抵抗 分割攻击方法 。 ∈ /一 I竺 f I S I S S I S卜 R h r … 综上所述 ,本文所设 计的 混沌序列 密码 算法 的密钥 流序 列具有很好 的随机性 和较 高的实 现速 度 ,与迭代 型混沌 密码 模型相 比,本 文所设计 的加密 算法 可 以抵抗 现有 的对混 沌密 码 的 主 要 攻 击 方 法 。 3 结 语 图 1 混沌序列密码算法 的加密框 图 2 混沌序列 密码算 法的分析 一 般情况下 ,初始化过程相对 于加密过程要短得多 ,因此 仅考虑加密过程 的复杂性 。在加密 过程 中 :步骤 1可 由 4个 32位 的移位和 4个 32位 的加法 实现 ;步骤 2可 由2个 浮点数 的乘法和 2次三角 函数调用 实现 ;步骤 3可 由 2个 浮点数 的 乘法 、2个 32位 的加 法和 4次查 表实 现 ;步骤 5可 由 2个 32 位的加法实现 。利用 c语 言 对混 沌 序列 密码 算法 进 行 了实 本文借鉴传统序列 密码的前馈模型思想 ,将 Logistic映射 和 Chebyshev映射作为滤波 函数 ,采 用压 缩变换 、有 记忆 变换 等手段 ,设计 了一 个混沌 序列 密码算 法。分析 和实 验结果 表 明该序列 密码算法具有 足够 的安全 强度 和较 高的加 密速度 。 然而 ,设 计安全高效 的混沌 密码算 法还 需要考 虑多方 面 的因 素 ,如何 从传统密码 的典 型设计模型 中获得灵感 ,探索和 丰富 混沌序列 密码 的设计方法还有待 进一步研究 。 参 考 文 献 : 【1] 陈予恕.非线性振 动系统 的分叉 和混沌 理论[M].北京 :高等教 现 ,在 主频 2.5 GHz的 Pentium 4 PC机上 ,加 密算 法产生 密钥 育出版社,1993. 流 的 速 度 约 为 9.43 Mbps。 [2】 颜森林.光纤混沌双 向保密通 信系统研 究[J】.电子学报,2005, 对混沌序列密码算法所产 生的密钥流序列进行 了随机 性 33(2):266—270. 检验 ,计算 了不 同长度 的 16位 字密钥 流序列 的信 息熵 ,结 果 [3] 廖旎焕,高金峰.广义 映射混 沌扩频 序列及其 特性分 析【J].电 如 表 l所 示 。 可以看 出 ,随着序列 长度的增加 ,密钥 流序列 的信息熵 逼 近于 16,说 明密钥流序 列具 有很好的随机性 。 表 1 16位 字 密 钥 流 序 列 的 信 息 熵 检 验 结 果 序列长度/16位字 密钥流 的信息熵 224 225 226 227 228 229 230 l5.9972 l5.9986 l5.9993 15.9996 15.9998 15.9999 逼 近 16 子 与 信 息 学 报 ,2006,28(7):1255—1257. [4] ALVAREZ E,FERNANDEZ A,GARCIA P,et a1. New approach to chaotic eneryption[J].Physics Letters A,1999,263(4/6):373 ~ 375. [5] TENNY R,TSIMRING L S.Additive mixing modulation for public key eneryption based on distributed dynamics[J].IEEE Transac— tions on Circuits and Systems,2005,52(3):672—679. [6】 胡汉平 ,刘 双红,王祖 喜,等.一种混 沌密钥 流产 生方法 【J】.计 算机学报,2004,27(3):408—412. 【71 PARASKEVI T,KLIMIS N,STEFANOS K.Security of human vid— eo objects by ineorpor~ing a chaos—based feedback cryptographie scheme[C]// MM'04:Proceedings of the 12th Annual ACM Inter- national Conference on Multimedia. New York:ACM Press. 20o4: 352—355. 混沌序 列密 码算 法 的密钥 为 LFSR的 128位 初态 ,对 其 [8] 袁春,钟玉琢,贺玉文 .基 于混沌 的视频流选 择加 密算法 [J].计 进行穷举攻击 的计算 复杂性 为 2 ,就 目前 的计算 能力而 言 , 算机学报,2004,27(2):257—263. 该混沌序列密码算法 可以抵抗穷举攻击 。 [9] 贾淑芸,黄 荣怀,温孝东 ,等.基于置 乱和混沌加 密的数字 图像 混沌映射 的有 限精度 实现 会导 致混沌 特性退 化 ,其结 果 水 印技术研究 [J】.北 京 师范 大学 学报 :自然科 学 版,2005,41 是使得有限精度下产 生的混 沌序列 会 出现微小 的不 平衡性 , 而不同分辨率 的}昆沌初值 所产生的混沌序列 的不平衡 性是不 同的 ,多分辨率攻击 方法就 是通过 统计混 沌序 列 的不 平衡 程 度确定混沌初值 的分辨 率 ,从而 降低穷举 攻击 时 的计 算复 杂 性。迭代 型混沌密码利用混沌 映射 通过反复迭代产生混沌 实 (2):146—149. [1O]李树钧,牟轩沁,纪 震,等 .一类混 沌流密码 的分 析【J].电 子与 信息学报,2003,25(4):473—478. [11]金晨辉,高 海英.对 两个 基于混 沌 的序列 密码算 法 的分析[J]. 电 子 学 报 ,2004,32(7):1066—1070. [12]万哲先.代数和编 码[M].3版.北 京:高 等教育 出版 社,2007: 值序列 ,从而攻击者 可统计其 不平衡 程度 来实施 多分 辨率攻 193—203. 击 。本文所设计 的混沌序 列密码算法 中,混沌 映射并不 被 【131 国家密码管 理局.无线 局域 网产 品 使用 的 SMS4密码 算法 [s/ 反复迭代 产生混沌序列 ,而是 将混沌 映射 作为 滤波 函数来使 OL].1 2009一O8—26].http://www.oscca.gov.an.
分享到:
收藏