DO10.13374斤.is00153x.2010.05.024 第32卷第5期 北京科技大学学报 Vo132 No 5 2010年5月 Journal ofUniversity of Science and Technobgy Bejjing May 2010 对一种基于排序变换的混沌图像置乱算法的商榷 刘婷”闵乐泉) 1)北京科技大学信息工程学院.北京1000832)北京科技大学应用科学学院.北京100083 摘要针对“基于排序变换的混沌图像置乱算法”一文提出的密码系统进行了安全性分析.在有限数字精度下,密钥空间 小不足以抵抗唯密文攻击.在选择明文攻击或选择密文攻击下,置换地址码可以重现.在此基础上,结合【gsi混沌映射 的反向迭代,提出了一个密钥恢复算法.理论和实验结果均表明,该密钥恢复算法是实际可行的.有限数字精度的限制和线 性变换的弱点,是导致该密码系统不够安全的两个主要原因.最后讨论了五种可能采取的改进措施及其效果. 关键词密码系统:安全性分析;混沌密码:密码分析 分类号TP309TNg181 D iscussion of a chaotic i age scrambling a lgor ithm based on sort transfomm ation LU Ting).MN Lequan 2) 1)Schoolof hpmaton Eng neerng University of Sc ience and Techrokgy Beijing Beijng 100083 Chna 2)SchoolofApplied Science Universit of$ence ad Technobgy Beijng Beijng 100083 China ABSTRACT The security of a cryptosystem Proposed n the article ofChaotic in age scnambling agorithm based on sort transfom ation was analyzed The whole key space of the iage scrambling cryptosystem is too small to prevent the cpherextony atack when reali zng in fin ite comn putng precision The add ress coles of transposition can reappear by chosen-plantext atuck or chosencphertext at tads A key recovery agoritm was presented by reverse iterating te Logistic chaotic map The heoretical and experin ental results verify hat the key recovery agoritlm is feasb le and efficient Two priary reasons pr the unsafe prob km ae he restriction of fnite camputing precision and he weakness of linear transfom atpn Five possble iproved methods and heir effectswere alo discussed KEY WORDS cryppsysem seaurity aaysis chaotic cryppgraphy cryptanalsis 近年来,网络通信技术的快速发展增加了对图 基于Lgsq映射的排序变换,文献[3]设计了 像加密方法的需求.一般来说,传统的对称和非对 一个图像置乱算法.本文对该算法作了安全性分 称加密算法,如DES3 DES AES和RSA算法不适 析,提出了改进意见. 于直接应用于图像加密.另一方面,由于混沌系统 1基于排序变换的混沌图像置乱算法简介 特性与密码学特性之间的紧密联系,使得基于混沌 的图像密码算法的研究备受关注7 文献[3]的图像行置乱算法可以描述如下.假 置乱技术是图像加密方法之一,常见的图像置 设明文图像的像素数目为M仪N(M和均为正整 乱方法有Amod咬换1-,基于混沌排序的置乱变 数人,选择Logisti9映射(1)的初始条件平1)作为该 换等.但是已有密码分析研究证明,Amo变换 密码系统的密钥. 具有周期性4和可逆性,其置乱算法不能抵抗己 Y叶1)=1-2(. (1) 知明文攻击4和选择明文攻击.到目前为止,对 式中,Y)∈(一11)是Lgs9映射的状态变量, 基于混沌排序的置乱算法的密码分析研究报道的 n=l2…. 较少 迭代该混沌映射,图像行置乱过程叙述如下: 收稿日期:2009-05-31 基金项目:国家自然科学基金资助项目(NQ60674059,N0607B120) 作者简介:刘婷(1984-),女,博士研究生:闵乐泉(195),男,教授,博士生导师,Email minlequa@sn8cm
第 32卷 第 5期 2010年 5月 北 京 科 技 大 学 学 报 JournalofUniversityofScienceandTechnologyBeijing Vol.32 No.5 May2010 对一种基于排序变换的混沌图像置乱算法的商榷 刘 婷 1) 闵乐泉 1, 2) 1) 北京科技大学信息工程学院, 北京 100083 2) 北京科技大学应用科学学院, 北京 100083 摘 要 针对“基于排序变换的混沌图像置乱算法”一文提出的密码系统进行了安全性分析 .在有限数字精度下, 密钥空间 小不足以抵抗唯密文攻击.在选择明文攻击或选择密文攻击下, 置换地址码可以重现.在此基础上, 结合 Logistic混沌映射 的反向迭代, 提出了一个密钥恢复算法.理论和实验结果均表明, 该密钥恢复算法是实际可行的.有限数字精度的限制和线 性变换的弱点, 是导致该密码系统不够安全的两个主要原因.最后讨论了五种可能采取的改进措施及其效果. 关键词 密码系统;安全性分析;混沌密码;密码分析 分类号 TP309;TN918.1 Discussionofachaoticimagescramblingalgorithmbasedonsorttransformation LIUTing1) , MINLe-quan1, 2) 1) SchoolofInformationEngineering, UniversityofScienceandTechnologyBeijing, Beijing100083, China 2) SchoolofAppliedScience, UniversityofScienceandTechnologyBeijing, Beijing100083, China ABSTRACT ThesecurityofacryptosystemproposedinthearticleofChaoticimagescramblingalgorithmbasedonsorttransformation wasanalyzed.Thewholekeyspaceoftheimagescramblingcryptosystemistoosmalltopreventtheciphertext-onlyattackwhenrealizinginfinitecomputingprecision.Theaddresscodesoftranspositioncanreappearbychosen-plaintextattackorchosen-ciphertextattack.AkeyrecoveryalgorithmwaspresentedbyreverseiteratingtheLogisticchaoticmap.Thetheoreticalandexperimentalresults verifythatthekeyrecoveryalgorithmisfeasibleandefficient.Twoprimaryreasonsfortheunsafeproblemaretherestrictionoffinite computingprecisionandtheweaknessoflineartransformation.Fivepossibleimprovedmethodsandtheireffectswerealsodiscussed. KEYWORDS cryptosystem;securityanalysis;chaoticcryptography;cryptanalysis 收稿日期:2009--05--31 基金项目:国家自然科学基金资助项目 ( No.60674059, No.60773120) 作者简介:刘 婷 ( 1984— ), 女, 博士研究生;闵乐泉 ( 1951— ), 男, 教授, 博士生导师, E-mail:minlequan@sina.com 近年来, 网络通信技术的快速发展增加了对图 像加密方法的需求.一般来说, 传统的对称和非对 称加密算法, 如 DES、3DES、AES和 RSA算法不适 于直接应用于图像加密.另一方面, 由于混沌系统 特性与密码学特性之间的紧密联系, 使得基于混沌 的图像密码算法的研究备受关注 [ 1--7] . 置乱技术是图像加密方法之一, 常见的图像置 乱方法有 Arnold变换 [ 1--2] 、基于混沌排序的置乱变 换 [ 3] 等.但是已有密码分析研究证明, Arnold变换 具有周期性 [ 4] 和可逆性 [ 5] , 其置乱算法不能抵抗已 知明文攻击 [ 6] 和选择明文攻击 [ 7] .到目前为止, 对 基于混沌排序的置乱算法的密码分析研究报道的 较少. 基于 Logistic映射的排序变换, 文献[ 3]设计了 一个图像置乱算法.本文对该算法作了安全性分 析, 提出了改进意见 . 1 基于排序变换的混沌图像置乱算法简介 文献 [ 3]的图像行置乱算法可以描述如下 .假 设明文图像的像素数目为 M×N(M和 N均为正整 数 ), 选择 Logistic映射 ( 1)的初始条件 x( 1)作为该 密码系统的密钥. x(n+1) =1 -2x 2 ( n) . ( 1) 式中, x(n)∈ ( -1, 1)是 Logistic映射的状态变量, n=1, 2, …. 迭代该混沌映射, 图像行置乱过程叙述如下: DOI :10 .13374 /j .issn1001 -053x .2010 .05 .024
。674 北京科技大学学报 第32卷 SeP1以《1)为初始条件迭代Logisti映射, 更难,但不应该把密码系统的安全性建立在敌手不 产生混沌流{¥}: 知道所使用的密码系统这个前提之下.因此,在设 SeP2对混沌流{)},按升序排序,得到 计一个密码系统时,应该在Kerckho假设下达到 有序序列{(}: 安全9 SeP3确定每一个混沌值在有序序列 常用的密码分析攻击有四类从难到易列举 {()}中的位置编号,记录为羊功,即得到置 如下. 换地址码{年}=: (1)唯密文攻击:密码分析者有一个或者多个 SeP4按照置换地址码{【),对图像第1 密文 行的像素进行置换,将第1行的第列(在[↓y) (2)己知明文攻击:密码分析者有一些明文以 像素分别置换到第1行的第t列: 及相应的密文. SeP5把YW的值赋给Y1,对第2行至 (3)选择明文攻击:密码分析者有机会使用密 第M行重复Step1~SeP4直到第M行的像素全 码机,因此可以选择一些明文,并产生密文 部置换完毕, (4)选择密文攻击:密码分析者有机会使用密 使用相同的密钥只需将Sp4改为“按照置 码机,因此可以选择一些密文,并产生明文 上述每一种攻击,目的都是确定密码系统所使 换地址码{中)}对图像的第1行像素进行逆置 用的密钥.后面两种攻击看似不合理,但是密码系 换,即分别将第1行的第【j列像素置换到第1行 统的密钥一旦投入使用(该密钥不为密码分析者所 的第列”,其他步骤相同,即可实现图像行置乱算 知,被嵌入到设备中,密码分析者就可能操纵.这 法的正确解密. 种设备在日常生活中很常见如电子钱包卡(elec 如文献[3]的描述,图像列置乱算法只需对上 tron ic purse ca,GSM电话中的SM卡,销售点 述图像行置乱加解密算法作简单修改,在此不再重 终端机(post of sale tem inalmachin9和网络应用会 复叙述.图像行置乱算法,还可以进一步改进成为 议的令牌加密(web application session pken encryp 行列复合置乱算法.对于像素数目为仪的明文 ton19 图像,行列复合置乱算法的全过程,如上述Sp 1~Step5和承接在Step5之后的Stp6~Step10 3唯密文攻击 的描述 文献[3]使用Lgisti9映射作为图像置乱算法 Sep6把Y)的值赋给Y1: 的混沌系统以初始条件作为密钥.原文认为该算 Step7以Y1)为初始条件迭代Logisti9映射, 法的密钥空间为(一11)之间的全体实数.考虑如 产生混沌流{Y》,对混沌流{Y}¥按升序 下事实:图像置乱算法使用的混沌系统都是在有限 排序,得到有序序列{(}: 精度下实现的.如果实现精度为Lbjt则密钥共有 SeP8确定每一个混沌值Yj在有序序列 2+1个,即密钥熵为+1全部21个密钥并不是 {4j}中的位置编号,记录为羊或即得到置换 都可用,例如0.50这些坏点是不能在置乱算法 地址码{羊j: 中使用的. SeP9按照置换地址码{【j)¥,对图像第1 准确的穷举攻击复杂度可以如下估计.用行置 列的像素进行置换,将第1列的第行([1M) 乱算法加密一幅像素数目为M仪的明文图像,生 像素分别置换到第1列的第t)行: 成所有的置换地址码需要MN次混沌迭代。M次长 SeP10把¥M)的值赋给平1),对第2列到 度为的序列的排升序操作和N次置换.以交换 第N列重复SeP7~SePg直到第N列的像素全 排序法的起泡排序为例,长度为的序列排序平均 部置换完毕, 需要比较YN1)2次,交换YN-1)/2次,而 2 K erckhof假设和攻击类型 一次交换需要移动3次,即移动3YN-1)2次.假 设一次混沌迭代与比较、移动操作的耗时相等,则 对密码算法进行分析时,通常假设密码分析者 总的攻击复杂度为2MN+4MVYN-1)2=2M. 知道密码设计的系统和工作原理,即秘密全寓于密 对于相当大的尺寸M==1024(这是一幅较大的 钥中.这个假设称作Kerkho锻设.当然,如果密 数字图像的典型尺寸,攻击复杂度为2M=2. 码分析者不知道所使用的密码系统那么破译密码 同理,加密同样大小的明文图像列置乱算法的攻
北 京 科 技 大 学 学 报 第 32卷 Step1 以 x( 1)为初始条件迭代 Logistic映射, 产生混沌流 {x( i)} N i=1; Step2 对混沌流 {x( i)} N i=1按升序排序, 得到 有序序列{x′( i)} N i=1; Step3 确定每一个混沌值 x( i)在有序序列 {x′( i)} N i=1中的位置编号, 记录为 t( i), 即得到置 换地址码{t( i) } N i=1 ; Step4 按照置换地址码 {t( i) } N i=1对图像第 1 行的像素进行置换, 将第 1行的第 i列 ( i∈ [ 1, N] ) 像素分别置换到第 1行的第 t( i)列 ; Step5 把 x( N)的值赋给 x( 1 ), 对第 2行至 第 M行重复 Step1 ~ Step4, 直到第 M行的像素全 部置换完毕 . 使用相同的密钥, 只需将 Step4改为 “按照置 换地址码{t( i) } N i=1对图像的第 1行像素进行逆置 换, 即分别将第 1行的第 t( i)列像素置换到第 1行 的第 i列 ”, 其他步骤相同, 即可实现图像行置乱算 法的正确解密. 如文献 [ 3]的描述, 图像列置乱算法只需对上 述图像行置乱加解密算法作简单修改, 在此不再重 复叙述 .图像行置乱算法, 还可以进一步改进成为 行列复合置乱算法.对于像素数目为 M×N的明文 图像, 行列复合置乱算法的全过程, 如上述 Step 1 ~ Step5和承接在 Step5 之后的 Step6 ~ Step10 的描述 . Step6 把 x(N)的值赋给 x( 1) ; Step7 以 x( 1)为初始条件迭代 Logistic映射, 产生混沌流 {x( j)} M j=1, 对混沌流 {x( j) } M j=1按升序 排序, 得到有序序列 {x′( j)} M j=1 ; Step8 确定每一个混沌值 x( j)在有序序列 {x′( j) } M j=1中的位置编号, 记录为 t(j), 即得到置换 地址码 {t(j) } M j=1 ; Step9 按照置换地址码 {t( j) } M j=1对图像第 1 列的像素进行置换, 将第 1列的第 j行 ( j∈ [ 1, M] ) 像素分别置换到第 1列的第 t( j)行; Step10 把 x( M)的值赋给 x( 1), 对第 2列到 第 N列重复 Step7 ~ Step9, 直到第 N列的像素全 部置换完毕 . 2 Kerckhoff假设和攻击类型 对密码算法进行分析时, 通常假设密码分析者 知道密码设计的系统和工作原理, 即秘密全寓于密 钥中.这个假设称作 Kerckhoff假设 .当然, 如果密 码分析者不知道所使用的密码系统, 那么破译密码 更难, 但不应该把密码系统的安全性建立在敌手不 知道所使用的密码系统这个前提之下 .因此, 在设 计一个密码系统时, 应该在 Kerckhoff假设下达到 安全 [ 8] . 常用的密码分析攻击有四类, 从难到易列举 如下 . ( 1) 唯密文攻击:密码分析者有一个或者多个 密文 . ( 2) 已知明文攻击 :密码分析者有一些明文以 及相应的密文 . ( 3) 选择明文攻击 :密码分析者有机会使用密 码机, 因此可以选择一些明文, 并产生密文. ( 4) 选择密文攻击 :密码分析者有机会使用密 码机, 因此可以选择一些密文, 并产生明文. 上述每一种攻击, 目的都是确定密码系统所使 用的密钥 .后面两种攻击看似不合理, 但是密码系 统的密钥一旦投入使用 (该密钥不为密码分析者所 知 ), 被嵌入到设备中, 密码分析者就可能操纵 .这 种设备在日常生活中很常见, 如电子钱包卡 ( electronicpursecard), GSM电话中的 SIM卡, 销售点 终端机 ( post-of-saleterminalmachine)和网络应用会 议的令牌加密 ( webapplicationsessiontokenencryption) [ 9] . 3 唯密文攻击 文献 [ 3] 使用 Logistic映射作为图像置乱算法 的混沌系统, 以初始条件作为密钥 .原文认为该算 法的密钥空间为 ( -1, 1)之间的全体实数 .考虑如 下事实:图像置乱算法使用的混沌系统都是在有限 精度下实现的 .如果实现精度为 Lbit, 则密钥共有 2 L+1个, 即密钥熵为 L+1.全部 2 L+1个密钥并不是 都可用, 例如 ±0.5, 0这些坏点是不能在置乱算法 中使用的 . 准确的穷举攻击复杂度可以如下估计 .用行置 乱算法加密一幅像素数目为 M×N的明文图像, 生 成所有的置换地址码需要 MN次混沌迭代, M次长 度为 N的序列的排升序操作和 MN次置换 .以交换 排序法的起泡排序为例, 长度为 N的序列排序平均 需要比较 N( N-1) /2次, 交换 N(N-1) /2次, 而 一次交换需要移动 3次, 即移动 3N( N-1) /2次 .假 设一次混沌迭代与比较 、移动操作的耗时相等, 则 总的攻击复杂度为 2MN+4MN( N-1) /2 =2MN 2. 对于相当大的尺寸 M=N=1 024(这是一幅较大的 数字图像的典型尺寸 ), 攻击复杂度为 2MN 2 =2 31. 同理, 加密同样大小的明文图像, 列置乱算法的攻 · 674·
第5期 刘婷等:对一种基于排序变换的混沌图像置乱算法的商榷 675 击复杂度为2P二2”;行列复合置乱算法的攻击 选择明文攻击和选择密文攻击, 复杂度为2M3+2MN=22.由于数字计算机和分 对行列复合置乱算法的选择明文攻击,两幅像 布式运算的快速发展,一个安全的密码需要O 素数目为M仪的明文图像就可以破译.选取一幅 (22)量级(阶号Q·)用来度量复杂性)的安全复 明文图像,使得像素灰度值满足P= 杂度.因此文献[3]的混沌图像置乱算法(无论 11… 1 是行列置乱算法还是行列复合置乱算法)的安全 2 2 2 ,通过加密操作,请求的密 性不够高。 MM... M 4选择明文密文攻击 文图像G.分别检测G的第1列中每个像素灰度 4.1重现置换地址码 值(主12,M所在的行数,记录为()即得 假设该算法的密钥不为攻击者所知,对行置乱 到了第1列的列置换地址码{(j生.依次检测 算法的选择明文攻击方案如下:选取幅明文图像 G的第=23;V列中每个像素灰度值≠ P(=12…,),分别满足第1行第列的像素灰 12M在该列所处的行数,即可以得到所有N 度值为非零,其他像素灰度值均为零.请求明文图 列的列置换地址码{(j》。{(}出。; 像P的密文图像C分别检测G中非零像素所在 {(}士.然后选取明文图像B,使得像素灰度值 的位置(该像素一定位于第1行),把该像素所在的 12 N 列数记为t).这样,就成功恢复了图像第1行像 1 N 素的置换地址码{t)}士·如果想继续恢复图像第 满足B= 通过加密操作,请求 行(庄[2M的置换地址码,重新选择幅明文 12 N 图像(=I2:),满足第行第列的像素灰 B的密文图像S.按照N列的列置换地址码 度值非零其他像素灰度值均为零即可. 《j},{j},{(,对G进行 对行置乱算法的选择密文攻击,稍不同于上文 列置换解密操作,即分别对对应的每列像素进行 的选择明文攻击.选取N幅密文图像C(=12 逆置换.把得到的图像记为C,则G就是明文图 ,),满足第1行第列的像素灰度值为非零,其 他像素灰度值均为零,通过解密操作,请求密文图 像B经过行置换地址码加密之后的图像.检测C 像C对应的明文图像P分别检测P中非零像素 的第1行中每个像素灰度值(=12,N)所在 的列数,分别记录为,即得到了第1行的行置 所处的列数(一定都位于第1行),记录为¥.则 非零像素在图像置乱前后所在的列数,用整数对序 换地址码{())三.依次检测G的第(≠23 列{(可头》1表示.对序列{(可,)}按照 …,M行中每个像素灰度值=12;在该 行所处的列数,即得到了所有M行的行置换地址 的升序排序,把排序后的序列记录为{(,J ¥j)}.则{j}即为图像第1行的置换地址 码{9},{()}e,,{()}1.这样, 码.如果想继续恢复第行(庄[2M)的置换地址 图像的行置换地址码和列置换地址码均被成功 码,重新选择N幅密文图像C(=12:),满 恢复 足第行第列的像素灰度值非零,其他像素灰度 对行列复合置乱算法的选择密文攻击,亦可以 值均为零即可. 通过两幅像素数目为M仪的密文图像破译.选取 选择明文密文攻击方法,同样可以用来攻击 一幅密文图像G,使得像素灰度值满足G= N 文献[3]的列置乱算法.在选择明文攻击中,选取 1 2 M幅明文图像P(=12M),分别满足第1列 2 4 通过解密操作,请求该密文图 第行的像素灰度值为非零,其他像素灰度值均为 零的条件:在选择密文攻击中,选取M幅密文图像 1 2 C(=L2…,M),分别满足第1列第行的像素 像对应的明文图像R.检测R的第1行中每个像 灰度值为非零,其他像素灰度值均为零的条件,均 素灰度值(≠12,y所在的列数,分别记录为 可成功重构第1列的置换地址码.重构其他列的置 (j:则第1行像素在图像加密前后所在的列数 换地址码的方法与之类似由于篇幅的限制,具体 用整数对序列{($(功,)}=1表示.对序列 细节不再详述.下面对行列复合置乱算法分别进行 {((,}三按照(的升序排序,把排序后的
第 5期 刘 婷等:对一种基于排序变换的混沌图像置乱算法的商榷 击复杂度为 2M 2 N=2 31;行列复合置乱算法的攻击 复杂度为 2MN 2 +2M 2 N=2 32.由于数字计算机和分 布式运算的快速发展, 一个安全的密码需要 O ( 2 128 )量级 (阶号 O(· )用来度量复杂性 )的安全复 杂度 [ 10] .因此文献[ 3]的混沌图像置乱算法 (无论 是行 /列置乱算法还是行列复合置乱算法 )的安全 性不够高. 4 选择明文 /密文攻击 4.1 重现置换地址码 假设该算法的密钥不为攻击者所知, 对行置乱 算法的选择明文攻击方案如下 :选取 N幅明文图像 Pi( i=1, 2, …, N), 分别满足第 1行第 i列的像素灰 度值为非零, 其他像素灰度值均为零.请求明文图 像 Pi的密文图像 Ci, 分别检测 Ci中非零像素所在 的位置 (该像素一定位于第 1行 ), 把该像素所在的 列数记为 t( i).这样, 就成功恢复了图像第 1 行像 素的置换地址码 {t( i)} N i=1.如果想继续恢复图像第 j行 (j∈ [ 2, M] )的置换地址码, 重新选择 N幅明文 图像 Pi′(i=1, 2, …, N), 满足第 j行第 i列的像素灰 度值非零, 其他像素灰度值均为零即可 . 对行置乱算法的选择密文攻击, 稍不同于上文 的选择明文攻击.选取 N幅密文图像 Ci( i=1, 2, …, N), 满足第 1行第 i列的像素灰度值为非零, 其 他像素灰度值均为零 .通过解密操作, 请求密文图 像 Ci对应的明文图像 Pi.分别检测 Pi中非零像素 所处的列数 (一定都位于第 1行 ), 记录为 s( i).则 非零像素在图像置乱前后所在的列数, 用整数对序 列 {(s(i), i)} N i=1表示.对序列 {( s( i), i) } N i=1按照 s(i)的升序排序, 把排序后的序列记录为 {(j, t( j) ) } N j=1.则 {t( j) } N j=1即为图像第 1行的置换地址 码 .如果想继续恢复第 j行 ( j∈ [ 2, M] )的置换地址 码, 重新选择 N幅密文图像 Ci′( i=1, 2, …, N), 满 足第 j行第 i列的像素灰度值非零, 其他像素灰度 值均为零即可. 选择明文 /密文攻击方法, 同样可以用来攻击 文献[ 3]的列置乱算法 .在选择明文攻击中, 选取 M幅明文图像 Pi( i=1, 2, …, M), 分别满足第 1列 第 i行的像素灰度值为非零, 其他像素灰度值均为 零的条件;在选择密文攻击中, 选取 M幅密文图像 Ci( i=1, 2, …, M), 分别满足第 1 列第 i行的像素 灰度值为非零, 其他像素灰度值均为零的条件, 均 可成功重构第 1列的置换地址码.重构其他列的置 换地址码的方法与之类似, 由于篇幅的限制, 具体 细节不再详述.下面对行列复合置乱算法分别进行 选择明文攻击和选择密文攻击. 对行列复合置乱算法的选择明文攻击, 两幅像 素数目为 M×N的明文图像就可以破译 .选取一幅 明文 图 像 P1, 使 得 像 素 灰 度 值 满 足 P1 = 1 1 … 1 2 2 … 2 M M … M .通过加密操作, 请求 P1 的密 文图像 C1.分别检测 C1 的第 1列中每个像素灰度 值 j(j=1, 2, …, M)所在的行数, 记录为 t1 ( j), 即得 到了第 1列的列置换地址码 {t1 ( j) } M j=1.依次检测 C1 的第 i( i=2, 3, …, N)列中每个像素灰度值 j( j= 1, 2, …, M)在该列所处的行数, 即可以得到所有 N 列的 列 置换 地址 码 {t1 ( j)} M j=1, {t2 ( j) } M j=1, …, {tN (j)} M j=1 .然后选取明文图像 P2, 使得像素灰度值 满足 P2 = 1 2 … N 1 2 … N 1 2 … N .通过加密操作, 请求 P2 的密文图像 C2.按照 N列 的列置 换地址 码 {t1 ( j) } M j=1, {t2 ( j) } M j=1, …, {tN( j) } M j=1, 对 C2 进行 列置换解密操作, 即分别对对应的每列像素进行 逆置换 .把得到的图像记为 C′2, 则 C2′就是明文图 像 P2 经过行置换地址码加密之后的图像 .检测 C′2 的第 1行中每个像素灰度值 i( i=1, 2, …, N)所在 的列数, 分别记录为 t( i), 即得到了第 1行的行置 换地址码 {t1 ( i) } N i=1 .依次检测 C′2 的第 j( j=2, 3, …, M)行中每个像素灰度值 i( i=1, 2, …, N)在该 行所处的列数, 即得到了所有 M行的行置换地址 码 {t1 ( i) } N i=1, {t2 ( i) } N i=1, …, {tM ( i) } N i=1 .这样, 图像的行置换地址码和列置换地址码均被成功 恢复. 对行列复合置乱算法的选择密文攻击, 亦可以 通过两幅像素数目为 M×N的密文图像破译.选取 一幅密文图像 C1, 使得像素灰 度值满足 C1 = 1 2 … N 1 2 … N 1 2 … N .通过解密操作, 请求该密文图 像对应的明文图像 P1.检测 P1 的第 1行中每个像 素灰度值 i( i=1, 2, …, N)所在的列数, 分别记录为 s1 ( i) ;则第 1行像素在图像加密前后所在的列数, 用整 数 对序 列 {( s1 ( i), i) } N i=1 表 示.对 序 列 {(s1 (i), i) } N i=1按照 s1 (i)的升序排序, 把排序后的 · 675·
。676° 北京科技大学学报 第32卷 序列记录为{(k(内》。则{(}即为图 ,正{L2…,N,若)rj,则>X 2,M)行中每个像素灰度值≠12:y在该 证明由假设条件可知,X在序列{,中的 行所处的列数,用同样的方法得到所有M行的行 位置编号为t,在序列{)正中的位置编号为 置换地址码{(k),{(k), j.由于{是按升序排列的,对于H共,j,i {(y·然后选取密文图像G使得像素灰度 任{12,N,当¥t时,第〔个位置对应的值一定大于 第j个位置对应的值,则证毕. MM... M 根据置换地址码【)和【V一1)的取值,利用 求该密文图像对应的明文图像.按照前面得到的 定理1能够得知与名的大小关系.至此,可以 M行行置换地址码{()。{y}。,{杰 对密钥展开攻击.Lgsti映射(1)的不动点为0.5 (y),分别对明文图像B对应的每行像素进行 在定义区间(一11)上,当X时,-∈1=(05 像记为CS:检测C的第1列中每个像素灰度值j1,.对Lgt9映射进行反向迭代:若¥-1∈无1= (主12;M所在的行数,分别记录为(:则 图像G的第1列像素在列置乱加密前后所处的行 -15ek:=-1-U 数,用整数对序列{((,}1表示.对序列 {(()}按照(j的升序排序,把排序后的 序列记录为{(k().则{(即为图 42=- 1-0.51-05 像第1列的列置换地址码.依次检测的第= N2N2 依次反向迭代下 23:列中每个像素灰度值‘卡12;M在 去,直到求出爷所属的区间集【显然,密钥¥必 该列所处的行数,即可以得到所有列的列置换地 然属于↓而且1相对于区间(一11)缩小了.但 址码{(.{》,《(》.这样, 是实验表明,这种方法并不是很有效.原因有二: 利用选择密文攻击,行列复合置乱算法的行置换地 其一,如果实现精度为Lbt在I中穷举密钥搜索 址码和列置换地址码也被成功恢复, 的平均复杂度为23一2,相比密钥空间(一1 4.2密钥恢复算法 1),密钥熵仅仅降低了3~4bt其二,随着反向迭 攻击者利用41节提出的选择明文密文攻击 代次数的增加,组成区间集的区间个数随着的 方案,分别重构了图像行列置乱算法和行列复合 减小成指数倍增长.当=1时,I的区间个数最多 置乱算法的置换地址码.挖掘置换地址码隐藏的信 能达到2,2个区间将占用很大的存储空间. 息,可以进一步恢复密钥. 因此,需要改进算法,进一步缩小密钥搜索区间来 为方便起见,用X表示Y,X表示(. 降低攻击复杂度. 定理1假设混沌序列{),排升序得到 解决方法就是同时考虑时间延迟为1~3的相 {为其置换地址码为{年}对于H共,j 空间.Logistic9映射的相空间图如图1所示. 1.0 a 190-05 005 1.0-0.50 -1.0-0.500.5 0 图1 Lcgist映射的相空间图.(时间延迟为上(时间延迟为2(9时间延迟为3 Fg1 Phase space ppts of the Logisticma理(号the dely ti恤es上(he dely tme is:2(9 the delay tme is3
北 京 科 技 大 学 学 报 第 32卷 序列记录为 {( k, t1 (k) )} N k=1, 则 {t1 ( k)} N k=1即为图 像第 1行的行置换地址码.依次检测 P1 的第 j(j= 2, …, M)行中每个像素灰度值 i( i=1, 2, …, N)在该 行所处的列数, 用同样的方法得到所有 M行的行 置 换 地 址 码 {t1 ( k) } N k=1, {t2 ( k) } N k=1, …, {tM ( k) } N k=1 .然后选取密文图像 C2, 使得像素灰度 值满足 C2 = 1 1 … 1 2 2 … 2 M M … M .通过解密操作, 请 求该密文图像对应的明文图像 P2.按照前面得到的 M行行置换地址码 {t1 ( k)} N k=1, {t2 ( k)} N k=1, …, {tM ( k) } N k=1, 分别对明文图像 P2 对应的每行像素进行 行置换, 把所有 M行像素置换完毕之后得到的图 像记为 C2′.检测 C′2 的第 1列中每个像素灰度值 j ( j=1, 2, …, M)所在的行数, 分别记录为 s1 (j);则 图像 C′2 的第 1列像素在列置乱加密前后所处的行 数, 用整数对序列 {( s1 ( j), j) } M j=1表示 .对序列 {( s1 ( j), j)} M j=1按照 s1 ( j)的升序排序, 把排序后的 序列记录为 {( k, t1 ( k) ) } M k=1 .则 {t1 ( k) } M k=1即为图 像第 1列的列置换地址码.依次检测 C′2 的第 i( i= 2, 3, …, N)列中每个像素灰度值 j( j=1, 2, …, M)在 该列所处的行数, 即可以得到所有 N列的列置换地 址码{t1 ( j) } M j=1, {t2 ( j)} M j=1, …, {tN( j)} M j=1 .这样, 利用选择密文攻击, 行列复合置乱算法的行置换地 址码和列置换地址码也被成功恢复. 4.2 密钥恢复算法 攻击者利用 4.1节提出的选择明文 /密文攻击 方案, 分别重构了图像行 /列置乱算法和行列复合 置乱算法的置换地址码.挖掘置换地址码隐藏的信 息, 可以进一步恢复密钥 . 为方便起见, 用 xi表示 x(i), x′i表示 x′(i). 定理 1 假设混沌序列 {xi} N i=1 排升序得到 {x′i} N i=1, 其置换地址码为 {t( i)} N i=1.对于 i≠j, i, j∈ {1, 2, …, N}, 若 t( i) t(j), 则 xi>xj. 证明 由假设条件可知, xi在序列{xi′} N i=1中的 位置编号为 t( i), xj在序列{xi′} N i=1中的位置编号为 t( j) .由于 {x′i} N i=1是按升序排列的, 对于 i≠j, i, j∈ {1, 2, …, N}, 当 t(i) t(j)时, 第 t(i)个位置对应的值一定大于 第 t(j)个位置对应的值, 则 xi>xj.证毕. 根据置换地址码 t( N)和 t( N-1)的取值, 利用 定理 1能够得知 xN 与 xN-1的大小关系 .至此, 可以 对密钥展开攻击.Logistic映射 ( 1)的不动点为 0.5, 在定义区间 ( -1, 1)上, 当 xN-1 xN 时, xN-1∈ IN-1 =( 0.5, 1).对 Logistic映射进行反向迭代:若 xN-1 ∈ IN-1 = ( -1, 0.5), xN-2 ∈ IN-2 = -1, - 1 -0.5 2 ∪ 1 -0.5 2 , 1 ;若 xN-1 ∈ IN-1 =( 0.5, 1), xN-2 ∈ IN-2 = - 1 -0.5 2 , 1 -0.5 2 .依次反向迭代下 去, 直到求出 x1 所属的区间集 I1.显然, 密钥 x1 必 然属于 I1, 而且 I1 相对于区间 ( -1, 1)缩小了 .但 是实验表明, 这种方法并不是很有效.原因有二: 其一, 如果实现精度为 Lbit, 在 I1 中穷举密钥搜索 的平均复杂度为 2 L-3 ~ 2 L-2 , 相比密钥空间 ( -1, 1), 密钥熵仅仅降低了 3 ~ 4 bit;其二, 随着反向迭 代次数的增加, 组成区间集 Ii的区间个数随着 i的 减小成指数倍增长 .当 i=1时, I1 的区间个数最多 能达到 2 N-1 , 2 N-1个区间将占用很大的存储空间. 因此, 需要改进算法, 进一步缩小密钥搜索区间来 降低攻击复杂度. 解决方法就是同时考虑时间延迟为 1 ~ 3的相 空间 .Logistic映射的相空间图如图 1所示 . 图 1 Logistic映射的相空间图.( a) 时间延迟为 1;( b) 时间延迟为 2;( c) 时间延迟为 3 Fig.1 PhasespaceplotsoftheLogisticmap:( a) thedelaytimeis1;( b) thedelaytimeis2;( c) thedelaytimeis3 · 676·
第5期 刘婷等:对一种基于排序变换的混沌图像置乱算法的商榷 ·677° 图1(a中的点A图1(b中的点B、B和B 三个区间集取交集,得到一个区间集【: 及图1(中的点G、S、S、GG、C和G分别是 Stp3取交集【1=1∩【,得到X-的所 Lgst9映射时间延迟为1、2和3的不动点.用牛顿 属区间集【1. 迭代法可以得到它们的横坐标:X=0.5圣= Sp4把一1的值赋予,i【,的值赋予. -0.309016994374947=05= 如果>1重复Sep1~SeP3否则,停止. 0.80901694374947¥=-0.766044443118978 输出:X所属的区间集T. ¥,=一0623489801858733¥=一0.173648176669男 密钥恢复流程如图2所示. ¥=0.222520933956314¥,=0.5¥= 定理2假设文献[3]提出的图像(行列和行 0.900968867902419,=0.939692620785908 列复合置乱算法的实现精度为Lbt当>中2× 所以,当LOgisti映射的时间延迟为1时,若X2¥∈ 描述.式(l所表示的Logistic混沌映射的Lyapunov (一0.3090169943749470.5)U(0.809016994374947 指数约为入=0.693 1).当LOgisticp映射的时间延迟为3时,若Xx4,X∈ 1,则F(苍十e)一F(各)+,∈=(0.51小.把的值赋 法而言或者第1列(对图像列置乱算法而言)的置 予把{的值赋予. 换地址码,对于恢复密钥绰绰有余,只要重构了足 SeP1对X的所属区间集I进行Logisti9映 够的置换地址码,密钥攻击实验对于行列置乱算 射反向迭代,得到的区间集记为L. 法和行列复合置乱算法就完全相同了.不妨以图像 SeP2由置换地址码判断X,与¥X, 行置乱算法为例,选取前80个混沌流的置换地址 X+的大小关系.然后,根据相图确定时间延迟分 码做密钥攻击实验. 别为1~3时x所属的区间集巴,,.对这 任意选取1000个(一11)区间内的值作为密
第 5期 刘 婷等:对一种基于排序变换的混沌图像置乱算法的商榷 图 1(a)中的点 A, 图 1(b)中的点 B1 、 B2 和 B3 及图 1(c)中的点 C1 、C2 、C3 、C4 、C5 、C6 和 C7 分别是 Logistic映射时间延迟为 1、2和 3的不动点.用牛顿 迭代法可以 得到它们的横坐标 :xA =0.5, xB1 = -0.309 016994 374 947, xB2 = 0.5, xB3 = 0.809016994 374947, xC1 =-0.766 044 443 118 978, xC2 =-0.623489801858733, xC3 =-0.17364817766693, xC4 =0.222 520 933 956 314, xC5 =0.5, xC6 = 0.900 968 867 902 419, xC7 =0.939 692 620 785 908. 所以, 当 Logistic映射的时间延迟为 1时, 若 xi xi+1, xi∈ ( 0.5, 1).当 Logistic映射的时间延迟为 2时, 若 xi xi+2, xi ∈ ( -0.309016994374947, 0.5) ∪ ( 0.809016994374947, 1) .当 Logistic映射的时间延迟为 3 时, 若 xi xi+3, xi ∈ ( -0.766044443118 978, -0.623 489 801 858 733) ∪ ( -0.173 648 177 666 93, 0.222 520 933 956 314) ∪ ( 0.5, 0.900 968 867 902 419)∪ ( 0.939 692 620 785 908, 1). 每个时间延迟的相图中, xi所属的区间均为开 区间, 这表明不会出现 xi与 xi+1, xi+2, xi+3相等的情 况 .xi与 xi+1不相等是因为 0.5是不动点, 第 3节 已经讨论过, 必须从密钥空间中排除.而且它也不 会从迭代中产生, 故 0.5 这一点为开区间.假设 xi =xi+2, 则 xi的周期为 2, 这与混沌的定义相违 背 .同理, xi与 xi+3也不相等. 具体的密钥恢复算法步骤如下. 输入:由选择明文攻击或选择密文攻击恢复的 (图像行 /列置乱算法和行列复合置乱算法 )置换地 址码 t={t( 1), t( 2), …, t( N) }. 初始化 :确定 n的值 ( n≤N-2).根据 t比较 xn与 xn+1的大小:若 xn xn+1, xn∈ I * n =( 0.5, 1) .把 n的值赋 予 i, 把 I * n 的值赋予 I * i . Step1 对 xi的所属区间集 I * i 进行 Logistic映 射反向迭代, 得到的区间集记为 Ii-1. Step2 由置换地址码 t判断 xi-1与 xi, xi+1, xi+2的大小关系 .然后, 根据相图确定时间延迟分 别为 1 ~ 3时 xi-1所属的区间集 I ( 1) i-1, I ( 2) i-1, I ( 3) i-1 .对这 三个区间集取交集, 得到一个区间集 Ii′-1 ; Step3 取交集 I * i-1 =Ii-1∩ Ii′-1, 得到 xi-1的所 属区间集 I * i-1 . Step4 把 i-1的值赋予 i, I * i-1的值赋予 I * i . 如果 i>1, 重复 Step1 ~ Step3;否则, 停止. 输出 :x1 所属的区间集 I * 1 . 密钥恢复流程如图 2所示 . 定理 2 假设文献 [ 3]提出的图像 (行 /列和行 列复合 )置乱算法的实现精度为 Lbit, 当 n>ln( 2 × 10 L ) /0.693时, 上述密钥恢复算法输出的是一个 点集 . 证明 Lyapunov指数 λ是对两个很靠近的初 值产生的轨道, 随时间推移按指数方式分离的定量 描述 .式 ( 1)所表示的 Logistic混沌映射的 Lyapunov 指数约为 λ=0.693. 对于任意相距为 ε( ε为趋于 0的实数 )且都属 于 ( -1, 1)区间的两点 x0 和 x0 +ε, 经过 n次迭代 后相距为 εe nλ = F n ( x0 +ε) -F n ( x0 ) , 其中 F( x) =1 -2x 2 .由于 F n ( x0 +ε), F n ( x0 ) ∈ ( -1, 1), 则 F n ( x0 +ε) -F n (x0 ) <2.实际上, 本文提 出的密钥恢复算法是一个反向迭代过程 .可以理解 为:位于 ( -1, 1)区间上的两点 F n ( x0 )和 F n ( x0 + ε), 经过 n次 Logistic映射的反向迭代之后相距为 ε.假设实现精度为 Lbit, 当 ε≤10 -L时, 这两点就 重叠了, 可以认为是同一个点. 由 εe nλ <2和 ε≤10 -L , 得到 n≥ln( 2 ×10 L ) / λ.由此证明了密钥恢复算法在实现精度为 Lbit的 计算机上, 当 n≥ln( 2 ×10 L ) /λ时, 区间集序列 {I * i } n i=1收敛到一个点集.证毕 . 4.3 仿真实验 为了验证选择明文 /密文攻击方案对图像行 /列 置乱算法和行列复合置乱算法的实用性, 本小节给 出一些具体的实验结果 . 以 16 bit的实现精度和尺寸为 M×N(M=N= 256)的图像为例作攻击实验 .由 4.2 节的定理 2 知, 当实现精度 L=16 bit时, n≥55.所以, 仅重构 图像第 1行 (对图像行置乱算法和行列复合置乱算 法而言 )或者第 1列 (对图像列置乱算法而言 )的置 换地址码, 对于恢复密钥绰绰有余 .只要重构了足 够的置换地址码, 密钥攻击实验对于行 /列置乱算 法和行列复合置乱算法就完全相同了.不妨以图像 行置乱算法为例, 选取前 80个混沌流的置换地址 码做密钥攻击实验 . 任意选取 1 000个 ( -1, 1)区间内的值作为密 · 677·
。678 北京科技大学学报 第32卷 比较x与x的大小 N 元∈1,=0.5,) xe1,=(←-1.0.5) 初始化1· (反向迭代 比较与的大小 交集) rh 交集上 比较x,与的大小 e-l 比较x与无的大小 (反向迭代 H 比较x与x,的大小 比较x,与x的大小 比较x与x的大小 反向迭代 …一交集 交集… 44 (反向迭代 " 比较x与无的大小 交集) 比较x,与x的大小 比较x,与x,的大小 结束 图2密钥恢复算法的流程图 Fig 2 F b chan of the key recovery a poritm 钥,控制图像行置乱算法.在密钥恢复算法的攻击 (文献[3]的行列置乱算法进行一次图像加密的时 下,输出结果各收敛到相应的点集(候选密钥集). 间)约为0.8910,s则穷尽密钥搜索所用时间约为 这1000个候选密钥集中,平均每个集合由387个点 2×0.8910=228096§因此,在上述型号的计算 组成.也就是说,当实现精度为16b时,本文提出 机上进行密钥攻击(从重构置换地址码到确定16bit 的密钥恢复算法从总体上可以将密钥熵从17b降 的准确密钥),平均花费时间为48十228.096= 低到9bit(号387≈9,密钥熵降低了8bit在1 276.096§而行列复合置乱算法进行一次图像加密 台主频为2GH的Core2T7200计算机上运行密钥 的时间约为1.594,s在上述型号的计算机上进行密 恢复算法,输出候选密钥集,平均花费时间仅为 钥攻击,平均花费时间为48十2×1.594= 48s 456.064s 要确定行置乱算法所使用的准确密钥,平均仅 下面以密钥¥1)=0.579为例(该密钥不为攻 需要在密钥恢复算法输出的密钥熵为9的候选密钥 击者所知),用数据说明密钥恢复过程.通过4.1 集中穷尽密钥搜索即可.在候选密钥集中穷尽密钥 节的选择明文攻击或选择密文攻击,可以重构图像 搜索的平均复杂度为O(2,而且求出16bi密钥 第一行的置换地址码.表1列出了前80个混沌值 的正确率为100%.由于每次密钥搜索的单位时间 的置换地址码
北 京 科 技 大 学 学 报 第 32卷 图 2 密钥恢复算法的流程图 Fig.2 Flowchartofthekeyrecoveryalgorithm 钥, 控制图像行置乱算法.在密钥恢复算法的攻击 下, 输出结果各收敛到相应的点集 (候选密钥集 ) . 这 1 000个候选密钥集中, 平均每个集合由 387个点 组成 .也就是说, 当实现精度为 16 bit时, 本文提出 的密钥恢复算法从总体上可以将密钥熵从 17 bit降 低到9 bit( log2 387≈9), 密钥熵降低了 8 bit.在 1 台主频为2 GHz的 Core2 T7200 计算机上运行密钥 恢复算法, 输出候选密钥集, 平均花费时间仅为 48 s. 要确定行置乱算法所使用的准确密钥, 平均仅 需要在密钥恢复算法输出的密钥熵为 9的候选密钥 集中穷尽密钥搜索即可.在候选密钥集中穷尽密钥 搜索的平均复杂度为 O( 2 8 ), 而且求出 16 bit密钥 的正确率为 100%.由于每次密钥搜索的单位时间 (文献[ 3] 的行 /列置乱算法进行一次图像加密的时 间 )约为 0.891 0 s, 则穷尽密钥搜索所用时间约为 2 8 ×0.891 0 =228.096 s.因此, 在上述型号的计算 机上进行密钥攻击 (从重构置换地址码到确定 16bit 的准确密钥 ), 平均花费时间为 48 +228.096 = 276.096 s.而行列复合置乱算法进行一次图像加密 的时间约为 1.594 s, 在上述型号的计算机上进行密 钥攻 击, 平 均 花 费 时 间 为 48 +2 8 ×1.594 = 456.064 s. 下面以密钥 x( 1) =0.579为例 (该密钥不为攻 击者所知 ), 用数据说明密钥恢复过程.通过 4.1 节的选择明文攻击或选择密文攻击, 可以重构图像 第一行的置换地址码 .表 1列出了前 80个混沌值 的置换地址码 . · 678·
第5期 刘婷等:对一种基于排序变换的混沌图像置乱算法的商榷 679 表1图像第1行像素的置换地址码 Table Address oodes of transposition in the first row of the image i 1 2 3 4 5 6 7 891011121314151617181920 4917615720111221875152213831661831462304810019811922951104 i 21 22 2324 25 2627 28 293031 3233 3435 36 37 383940 )20890174164188133250926561092148216319013025614.13 i41424344 45464748495051 5253 54555657585960 4326613424812306212224025551082128416718214722754107 161626364 65666768 697071 72 7374757677787980 4)2118616918015021974148226571112177815819911722559114222 根据表1中的置换地址码,按照定理1的方法 其中,x表示延迟时间,取值分别为1、2和3结果 比较时间延迟分别为1~3的混沌值的大小.用1在表2中列出. 表示X+,用0表示<X。=↓2;80 表2混沌迭代流之间的大小关系 Tab le2 Larger or kess reltinsh ip be ween chaotic iterative streams 与x+的大小关系 101010010010I0010100101010100001001010000001000010001001010010010100100100101001 01011011010110001101100101100011010110000110001100110I0110110101101101101011011 10101001001110011100101011100001001110000111001110001001110010011011100100111000 由表2所示的混沌流之间的大小关系结合 迟为1、2和3时所属的区间集P、P和,对 Lgst的相空间图1可以确定¥j分别在时间延 这三个区间集取交集得到区间集】列于表3中, 表3区间集【表列 Tabe3 List of nterval sets【 1 (05080901694374947) 2 (-0309016994374947-017364817766693U(02252093395631405) 3 (050809016994374947) 4 (-0309016994374947-017364817766693儿U(02252093395631405) 5 (08090169943749470900968867902419儿U(09396926207859081) 78 (-1-076604443118978U(-0623489801858733-0309016994374947) 79 (-0309016994374947-017364817766693U(02252093395631405) 80 (09009688679024190939692620785908) 对4.2节的密钥恢复算法,其最终输出收敛到 0.5316907201991737;0.5790000000000000 一个有限点集.所属的区间集,列于表4中, 0.57900000000000090.5790000000000011 最终的输出结果表明区间集【收敛成为一个 0.57900000037213580.5790000003721361 由531个点组成的候选密钥集:{05316907201985676 0.579000000372137005790000003721372 0.53169072019856770.5316907201985688 0.579000000372154005790000003721543 0.53169072019856890.53169072019858640.579000000372155205790000003721554 0.53169072019858650.5316907201985867 0579000000372718305790000003727185 0.53169072019858770.53169072019858790.57900000037271940.5790000003727196 0.53169072019917250.5316907201991727 0.579000000372736505790000003727366
第 5期 刘 婷等:对一种基于排序变换的混沌图像置乱算法的商榷 表 1 图像第 1行像素的置换地址码 Table1 Addresscodesoftranspositioninthefirstrowoftheimage i 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 t(i) 176 157 201 112 218 75 152 213 83 166 183 146 230 48 100 198 119 229 51 104 i 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 t(i) 208 90 174 164 188 133 250 9 26 56 109 214 82 163 190 130 256 1 4 13 i 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 t(i) 32 66 134 248 12 30 62 122 240 25 55 108 212 84 167 182 147 227 54 107 i 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 t(i) 211 86 169 180 150 219 74 148 226 57 111 217 78 158 199 117 225 59 114 222 根据表 1中的置换地址码, 按照定理 1的方法 比较时间延迟分别为 1 ~ 3的混沌值的大小.用 1 表示 xi >xi+τ, 用 0 表示 xi <xi+τ, i=1, 2, …, 80. 其中, τ表示延迟时间, 取值分别为 1、2和 3.结果 在表 2中列出 . 表 2 混沌迭代流之间的大小关系 Table2 Largerorlessrelationshipbetweenchaoticiterativestreams τ xi与 xi+τ的大小关系 1 10101 00100 10100 10100 10101 01000 01001 01000 00010 00010 00100 10100 10010 10010 01001 01001 2 01011 01101 01100 01101 10010 11000 11010 11000 00110 00110 01101 01101 10101 10110 11010 11011 3 10101 00100 11100 11100 10101 11000 01001 11000 01110 01110 00100 11100 10011 01110 01001 11000 由表 2 所示的混沌流之间的大小关系, 结合 Logistic的相空间图 1, 可以确定 x( i)分别在时间延 迟为 1、2和 3时所属的区间集 I ( 1) i 、I ( 2) i 和 I ( 3 ) i , 对 这三个区间集取交集得到区间集 Ii′, 列于表 3中 . 表 3 区间集 I′i表列 Table3 ListofintervalsetsI′i i I′i 1 ( 0.5, 0.809 016 994 374 947 ) 2 ( -0.309 016 994 374 947, -0.173 648 177 666 93) ∪ ( 0.222 520 933 956 314, 0.5 ) 3 ( 0.5, 0.809 016 994 374 947 ) 4 ( -0.309 016 994 374 947, -0.173 648 177 666 93) ∪ ( 0.222 520 933 956 314, 0.5 ) 5 ( 0.809 016 994 374 947, 0.900 968 867 902 419 ) ∪ ( 0.939 692 620 785 908, 1 ) … … 78 ( -1, -0.766 044 443 118 978 )∪ ( -0.623 489 801 858 733, -0.309 016 994 374 947 ) 79 ( -0.309 016 994 374 947, -0.173 648 177 666 93) ∪ ( 0.222 520 933 956 314, 0.5 ) 80 ( 0.900 968 867 902 419, 0.939 692 620 785 908) 对 4.2节的密钥恢复算法, 其最终输出收敛到 一个有限点集.xi所属的区间集 I * i, 列于表 4中 . 最终的输出结果表明, 区间集 I * 1 收敛成为一个 由 531个点组成的候选密钥集:{0.531 690 7201985676, 0.531 690 720 198 567 7, 0.531 690 720 198 568 8, 0.531 690 720 198 568 9, 0.531 690 720 198 586 4, 0.531 690 720 198 586 5, 0.531 690 720 198 586 7, 0.531 690 720 198 587 7, 0.531 690 720 198 587 9, 0.531 690 720 199 172 5, 0.531 690 720 199 172 7, 0.531 690720 1991737, …, 0.579000000 0000000, 0.579 000 000 000 000 9, 0.579 000 000 000 001 1, 0.579 000 000 372 135 8, 0.579 000 000 372 136 1, 0.579 000 000 372 137 0, 0.579 000 000 372 137 2, 0.579 000 000 372 154 0, 0.579 000 000 372 154 3, 0.579 000 000 372 155 2, 0.579 000 000 372 155 4, 0.579 000 000 372 718 3, 0.579 000 000 372 718 5, 0.579 000 000 372 719 4, 0.579 000 000 372 719 6, 0.579 000 000 372 736 5, 0.579 000 000 372 736 6, · 679·
。680 北京科技大学学报 第32卷 0.579000000372737605790000003727377}. 集(密钥熵约为9b9,从中能够快速确定 即,对密钥为Y1)=0.579的图像置乱算法进行密 0.5790000000000000就是密码算法所使用的准确 钥恢复算法攻击,得到由531个点组成的候选密钥 密钥. 表4区间集表列 Tabe4 The list of nterval sets 1 80 (051) 79 (-0309016994374947-017364817766693U(02252093395631405) 78 (-08090169943749473-0766044443118978U(-0623489801858733-0.5) 77 (0866025403784438609009688679024189U(0.939692620785908309510565162951535) 76 (-017364817766693-01564344650402309U(015643446504023090.17364817766693) 尔 (064278760968653930.6494480483301837儿U(076040596560003090766044431189779) 74 (034202014332566880346117057074gU(0418659737537428104226182617406995) 73 (-05735764363510461,-0.5717879602276123U(-05391383229110002-05372996083468238) 72 (08762675570750770.8772509113449242儿U(0886506615944746308870108331782217) (-0.2482672393737163-02477388631755985U(-02382156418617947-02376858923261731U (023768589232617310.2382156418617947U(0247738863175598502482672393737163) (-0790021277996269-0789854057144609U(-07868340491684999-0786665714368617U 70 (-06173791815707049-0.6171646288220856儿U(-06132948462299g59-06130794241475911) 5可能的改进措施 乱技术的混沌图像密码算法,总体来说可以等效为 对图像矩阵进行有限步的初等矩阵变换,从而打乱 增强对这类基于排序的混沌图像置乱算法的唯 图像像素的位置.但是,初等矩阵变换是线性变换 密文攻击的复杂度很容易,一些简单的修改就可以 其保密性不够高.选择明文攻击或选择密文攻 增大密钥空间,如增加计算机的计算精度,增加混 击,成功获得了置换地址码;而置换地址码隐含的 沌系统的控制参数作为密钥的一部分.然而,高精 信息,正是本文提出的密钥恢复算法得以实现的基 度计算机的实现代价太大,增加控制参数作为密钥 础。所以线性变换是该类混沌图像置乱算法不能 是比较实际的选择. 抵抗选择明文密文攻击的原因.不管使用多么复 为了增强选择明文攻击和选择密文攻击的复杂 杂的混沌映射,只要按照线性变换的规则进行置 度,下面讨论一些可能的改进措施及其优缺点 乱。都能实施本文的选择明文密文攻击方案.因 (1)使用行列交叉的复合置乱模式.一个较为 此,这也不是一个根本的改进措施 简单的想法是把行列复合置乱算法改进成为行列交 (3)使用非线性变换进行置乱变换.本文的选 叉的复合模式但它仅适用于行与列像素数目相等 择明文密文攻击基于置乱变换的线性性质,若能 的图像,即M=的情况.详细加解密算法请见文 把初等矩阵变换转化为某种非线性变换,也许是一 献[11]的描述.选择明文密文攻击,可以通过选 个根本的解决方案.一个可用的替代办法是文献 取只有一个非零像素的?幅明文密文图像,获得 [14中提出的基于BP神经网络的图像置乱算法 所有像素在置乱前后对应的位置.显然,由同一密 该算法输出的密文图像与输入的明文图像的尺寸可 钥加密尺寸相同的任何明文图像同一位置的像素 以不一样.为了满足恢复图像的要求,必须对神经 均置乱到相应的密文图像的相同位置.从密码学意 网络进行较长时间的训练这将影响密码系统的加 义上讲,得到由特定密钥产生的密钥流就相当于得 密速度.另外,它是否能够抵抗其他的一些密码攻 到了密钥,因为攻击者拥有了与合法用户一样多的 击,还需要进行细致的研究. 信息四.因此,使用行列交叉的复合置乱模式不是 (4)使用“一次一密”模式.如果每次加密使用 一个根本的改进措施 不同的密钥,文献[3]的图像置乱算法将对本文所 (2)使用更复杂的混沌映射.这类仅仅基于置 提出的选择明文密文攻击方案免疫.“一次一密
北 京 科 技 大 学 学 报 第 32卷 0.579 000 000 372 737 6, 0.579 000 000 372 737 7}. 即, 对密钥为 x( 1) =0.579的图像置乱算法进行密 钥恢复算法攻击, 得到由 531个点组成的候选密钥 集 (密 钥 熵 约 为 9 bit), 从 中 能 够 快 速 确 定 0.579 000000 000 000 0就是密码算法所使用的准确 密钥 . 表 4 区间集 I* i 表列 Table4 ThelistofintervalsetsI* i i I* i 80 ( 0.5, 1) 79 ( -0.309 016 994 374 947, -0.173 648 177 666 93) ∪ ( 0.222 520 933 956 314, 0.5 ) 78 ( -0.809 016 994 374 947 3, -0.766 044 443 118 978 )∪ ( -0.623 489 801 858 733, -0.5) 77 ( 0.866 025 403 784 4386, 0.900 968 867 902 418 9 ) ∪ ( 0.939 692 620 785 908 3, 0.951 056 516 295 153 5) 76 ( -0.173 648 177 666 93, -0.156 434 465 040 230 9) ∪ ( 0.156 434 465 040 230 9, 0.173 648 177 666 93 ) 75 ( 0.642 787 609 686 539 3, 0.649 448 048 330 183 7) ∪ ( 0.760 405 965 600 030 9, 0.766 044 443 118 977 9 ) 74 ( 0.342 020 143 325 668 8, 0.346 117 057 077 493 ) ∪ ( 0.418 659 737 537 428 1, 0.422 618 261 740 699 5) 73 ( -0.573 576 436 351 046 1, -0.571 787 960 227 612 3) ∪ ( -0.539 138 322 911 000 2, -0.537 299 608 346 823 8 ) 72 ( 0.876 726 755 707 507 7, 0.877 250 911 344 924 2) ∪ ( 0.886 506 615 944 746 3, 0.887 010 833 178 221 7 ) 71 ( -0.248 267 239 373 716 3, -0.247 738 863 175 598 5) ∪ ( -0.238 215 641 861 794 7, -0.237 685 892 326 173 1 )∪ ( 0.237 685 892 326 173 1, 0.238 215 641 861 794 7) ∪ ( 0.247 738 863 175 598 5, 0.248 267 239 373 716 3 ) 70 ( -0.790 021 277 996 269, -0.789 854 057 144 609 ) ∪ ( -0.786 834 049 168 499 9, -0.786 665 714 368 617) ∪ ( -0.617 379 181 570 704 9, -0.617 164 628 822 085 6) ∪ ( -0.613 294 846 229 935 9, -0.613 079 424 147 591 1 ) … … 5 可能的改进措施 增强对这类基于排序的混沌图像置乱算法的唯 密文攻击的复杂度很容易, 一些简单的修改就可以 增大密钥空间, 如增加计算机的计算精度, 增加混 沌系统的控制参数作为密钥的一部分.然而, 高精 度计算机的实现代价太大, 增加控制参数作为密钥 是比较实际的选择. 为了增强选择明文攻击和选择密文攻击的复杂 度, 下面讨论一些可能的改进措施及其优缺点. ( 1) 使用行列交叉的复合置乱模式.一个较为 简单的想法是把行列复合置乱算法改进成为行列交 叉的复合模式, 但它仅适用于行与列像素数目相等 的图像, 即 M=N的情况.详细加解密算法请见文 献 [ 11] 的描述 .选择明文 /密文攻击, 可以通过选 取只有一个非零像素的 N 2 幅明文 /密文图像, 获得 所有像素在置乱前后对应的位置 .显然, 由同一密 钥加密尺寸相同的任何明文图像, 同一位置的像素 均置乱到相应的密文图像的相同位置 .从密码学意 义上讲, 得到由特定密钥产生的密钥流就相当于得 到了密钥, 因为攻击者拥有了与合法用户一样多的 信息 [ 12] .因此, 使用行列交叉的复合置乱模式不是 一个根本的改进措施 . ( 2) 使用更复杂的混沌映射.这类仅仅基于置 乱技术的混沌图像密码算法, 总体来说可以等效为 对图像矩阵进行有限步的初等矩阵变换, 从而打乱 图像像素的位置.但是, 初等矩阵变换是线性变换, 其保密性不够高 [ 13] .选择明文攻击或选择密文攻 击, 成功获得了置换地址码 ;而置换地址码隐含的 信息, 正是本文提出的密钥恢复算法得以实现的基 础.所以, 线性变换是该类混沌图像置乱算法不能 抵抗选择明文 /密文攻击的原因.不管使用多么复 杂的混沌映射, 只要按照线性变换的规则进行置 乱, 都能实施本文的选择明文 /密文攻击方案.因 此, 这也不是一个根本的改进措施. ( 3) 使用非线性变换进行置乱变换 .本文的选 择明文 /密文攻击基于置乱变换的线性性质, 若能 把初等矩阵变换转化为某种非线性变换, 也许是一 个根本的解决方案.一个可用的替代办法是文献 [ 14] 中提出的基于 BP神经网络的图像置乱算法, 该算法输出的密文图像与输入的明文图像的尺寸可 以不一样 .为了满足恢复图像的要求, 必须对神经 网络进行较长时间的训练, 这将影响密码系统的加 密速度.另外, 它是否能够抵抗其他的一些密码攻 击, 还需要进行细致的研究 . ( 4) 使用 “一次一密 ”模式.如果每次加密使用 不同的密钥, 文献 [ 3]的图像置乱算法将对本文所 提出的选择明文 /密文攻击方案免疫.“一次一密 ” · 680·
第5期 刘婷等:对一种基于排序变换的混沌图像置乱算法的商榷 ·681° 安全性的关键在于密钥绝不重复使用,这样能够有 (刘向东,焉德军,朱志良,等.基于排序变换的混沌图像置 效阻止攻击者生成或者截获由同一部分密钥流加密 乱算法.中国图像图形学报,200510(5:656) [4 W angZ H On he period of2D randon matrix scmmbling trs 的不同信息.“一次一密”的密码系统绝对安全,但 mation and its applica tions in mage infmation hding Chn J 必须克服密钥管理和密钥分配等问题.目前,正是 CmP20062912:2218 这些问题阻碍了“一次一密”密码在实际的安全通 (王泽辉.二维随机矩阵置乱变换的周期及在图像信息隐藏 信中的应用9 中的应用.计算机学报,200629(12):2218) (5)使密钥流依赖于明文或密文.如果密钥流 [5]Shao L P Tan Z HengXC et al Soution pr the inverse pob lem of ma trix transfom based mage scrmbling Acta Electran 依赖于明文或密文,则由密钥产生的密钥流在每次 S0200836(7):1355 加密明文时都会发生改变,而无需改变密钥.这样 (邵利平,罩征,衡星辰,等.基于矩阵变换的图像置乱逆问 设计的加密系统,类似于分组密码的CBC模式(: 题求解.电子学报,200836(7):1355) Pherblock chainng或FCBC模式(Propagatng ci 【GuoJS JinCH An att恤k with known mage o a mag您crpt pherblock chan吗.这种解决方案比“一次一密” osyskm based an general catmap JChina hst Commun 2005 模式更加实用,因为它们具备足够的安全性,并能 26(2k131 够应用于实际.如果通过改变加密流程的方式 (郭建胜,金晨辉。对基于广义霜映射的一个图像加密系统的 已知图像攻击.通信学报,20052(2):131) 来增强安全性,那么基于排序的图像置乱密码就变 [7]Wang K Peiw J Zou LH etal On the security of3D catmap 成完全不同的加密系统了. based smmetric mage encryptin scheme Phys Lett A 2005 343432 6结论 [8]Feng D G Copana psis Beijng Tsirghua University Press 2000 本文指出文献[3]提出的“基于排序变换的混 (冯登国.密码分析学.北京:清华大学出版社,000) 沌图像置乱算法”不够安全.由于密码系统采用的 19]A lvarez G Montoya E RomeraM etal Keystream cryptana ysis 混沌映射在有限精度实现时,密钥空间小,不足以 of a chaotic cptographicmethod Camnput Phys Commun 2004 抵抗唯密文攻击.在选择明文密文攻击下,置乱 156205 变换的线性性质导致置换地址码得以重构.在此基 10 Li S J Ana Dses and New Desgns of D gital Chaotic Cithers Dissernatog.X iap X ian JiaoongUnversity 2003 103 础上提出密钥恢复算法,它能够有效缩小密钥候选 (李树钧.数字化混沌密码的分析与设计[学位论文].西 集,在其中穷尽搜索能够快速确定密钥. 安:西安交通大学,2003103) 鉴于本文的讨论,认为使用混沌系统构造密码 【1】Lu DX Lio X E Han J et al Picture scrmbling algorithm 系统,必须考虑有限精度实现时对系统安全性的影 based on Logistic mapping and sort tansfma tion ComputTeh 响.一个真正安全的混沌密码系统。还需要在混沌 n0Dy200717(12):27 (陆大兴,廖晓蜂,韩洁,等。基于Lgst映射与排序变换 系统特性的研究和密码体系结构的设计上做更多深 的图像加密算法.计算机技术与发展,200717(2):27) 入细致的工作. 【l☑A NarezG Manoya F RoneraM etal Coptna pysis of a er dic chaotic cpher PhysLettA 2003 311 172 参考文献 13 Li CG Han ZZ Zhang H R mage encryption teckniue a II]Ma ZG Qu S$An mage cpptosystem based on general cat survey J ComputResD ey 2003.39(10):1317 map JChina hstCommu四2003,242):51 (李昌刚,韩正之,张浩然.图像加密技术综述.计算机研究 (马在光,丘水生.基于广义猫映射的一种图像加密系统.通 与发展,200339(10):1317) 信学报,200324(2):51) 【14 Zhang M R HuangX Dgital m:您e scrmbling based on BP 【】ChenG R Mao Y B Chui CK A symmetric mas您e encrypton neuml neworks J Wuhan Univ Technol IfManage Eng Ed scheme based an 3D chaot ic catmaps Chaos Solions Fracta s 20072910):5 200421:749 (张敏瑞,黄兴.基于BP神经网络的数字图像置乱技术.武 [3 Li XD YanD J ZhuZl etal Chaotic picure scrambling al 汉理工大学学报:信息与管理工程版,2007.29(10:5) gritm based on son transomation J mageGraph 2005.10 【l习RhamaR Beghith Crprna pysis of a new mage encrypti知 (5):656 a goritm based on hyper chaos PhysLett A 2008 372 5973
第 5期 刘 婷等:对一种基于排序变换的混沌图像置乱算法的商榷 安全性的关键在于密钥绝不重复使用, 这样能够有 效阻止攻击者生成或者截获由同一部分密钥流加密 的不同信息 .“一次一密”的密码系统绝对安全, 但 必须克服密钥管理和密钥分配等问题.目前, 正是 这些问题阻碍了 “一次一密”密码在实际的安全通 信中的应用 [ 15] . ( 5) 使密钥流依赖于明文或密文 .如果密钥流 依赖于明文或密文, 则由密钥产生的密钥流在每次 加密明文时都会发生改变, 而无需改变密钥.这样 设计的加密系统, 类似于分组密码的 CBC模式 ( cipher-blockchaining) 或 PCBC模式 ( propagatingcipher-blockchaining) .这种解决方案比 “一次一密 ” 模式更加实用, 因为它们具备足够的安全性, 并能 够应用于实际 [ 15] .如果通过改变加密流程的方式 来增强安全性, 那么基于排序的图像置乱密码就变 成完全不同的加密系统了 . 6 结论 本文指出文献[ 3] 提出的 “基于排序变换的混 沌图像置乱算法”不够安全.由于密码系统采用的 混沌映射在有限精度实现时, 密钥空间小, 不足以 抵抗唯密文攻击.在选择明文 /密文攻击下, 置乱 变换的线性性质导致置换地址码得以重构.在此基 础上提出密钥恢复算法, 它能够有效缩小密钥候选 集, 在其中穷尽搜索能够快速确定密钥 . 鉴于本文的讨论, 认为使用混沌系统构造密码 系统, 必须考虑有限精度实现时对系统安全性的影 响 .一个真正安全的混沌密码系统, 还需要在混沌 系统特性的研究和密码体系结构的设计上做更多深 入细致的工作. 参 考 文 献 [ 1] MaZG, QiuSS.Animagecryptosystembasedongeneralcat map.JChinaInstCommun, 2003, 24( 2 ) :51 (马在光, 丘水生.基于广义猫映射的一种图像加密系统.通 信学报, 2003, 24 ( 2) :51) [ 2] ChenGR, MaoYB, ChuiCK.Asymmetricimageencryption schemebasedon3Dchaoticcatmaps.ChaosSolitonsFractals, 2004, 21:749 [ 3] LiuXD, YanDJ, ZhuZL, etal.Chaoticpicturescramblingalgorithmbasedonsorttransformation.JImageGraph, 2005, 10 ( 5) :656 (刘向东, 焉德军, 朱志良, 等.基于排序变换的混沌图像置 乱算法.中国图像图形学报, 2005, 10 ( 5) :656) [ 4] WangZH.Ontheperiodof2Drandommatrixscramblingtransformationanditsapplicationsinimageinformationhiding.ChinJ Comput, 2006, 29( 12) :2218 (王泽辉.二维随机矩阵置乱变换的周期及在图像信息隐藏 中的应用.计算机学报, 2006, 29 ( 12) :2218) [ 5] ShaoLP, TanZ, HengXC, etal.Solutionfortheinverseproblemofmatrixtransform basedimagescrambling.ActaElectron Sin, 2008, 36 ( 7) :1355 (邵利平, 覃征, 衡星辰, 等.基于矩阵变换的图像置乱逆问 题求解.电子学报, 2008, 36( 7 ):1355) [ 6] GuoJS, JinCH.Anattackwithknownimagetoanimagecryptosystembasedongeneralcatmap.JChinaInstCommun, 2005, 26( 2 ):131 (郭建胜, 金晨辉.对基于广义猫映射的一个图像加密系统的 已知图像攻击.通信学报, 2005, 26 ( 2) :131) [ 7] WangK, PeiWJ, ZouLH, etal.Onthesecurityof3Dcatmap basedsymmetricimageencryptionscheme.PhysLettA, 2005, 343:432 [ 8] FengDG.Cryptanalysis.Beijing:TsinghuaUniversityPress, 2000 (冯登国.密码分析学.北京:清华大学出版社, 2000 ) [ 9] lvarezG, MontoyaF, RomeraM, etal.Keystreamcryptanalysis ofachaoticcryptographicmethod.ComputPhysCommun, 2004, 156:205 [ 10] LiSJ.AnalysesandNewDesignsofDigitalChaoticCiphers [ Dissertation] .Xian:XianJiaotongUniversity, 2003:103 (李树钧.数字化混沌密码的分析与设计 [ 学位论文] .西 安:西安交通大学, 2003:103 ) [ 11] LuDX, LiaoXF, HanJ, etal.Picturescramblingalgorithm basedonLogisticmappingandsorttransformation.ComputTechnolDev, 2007, 17 ( 12) :27 (陆大兴, 廖晓峰, 韩洁, 等.基于 Logistic映射与排序变换 的图像加密算法.计算机技术与发展, 2007, 17( 12 ) :27) [ 12] lvarezG, MontoyaF, RomeraM, etal.Cryptanalysisofanergodicchaoticcipher.PhysLettA, 2003, 311:172 [ 13] LiCG, HanZZ, ZhangHR.Imageencryptiontechnique:a survey.JComputResDev, 2003, 39( 10 ):1317 (李昌刚, 韩正之, 张浩然.图像加密技术综述.计算机研究 与发展, 2003, 39( 10 ) :1317 ) [ 14] ZhangMR, HuangX.DigitalimagescramblingbasedonBP neuralnetwork.JWuhanUnivTechnolInfManageEngEd, 2007, 29( 10 ) :5 (张敏瑞, 黄兴.基于 BP神经网络的数字图像置乱技术.武 汉理工大学学报:信息与管理工程版, 2007, 29( 10 ):5) [ 15] RhoumaR, BelghithS.Cryptanalysisofanewimageencryption algorithmbasedonhyper-chaos.PhysLettA, 2008, 372:5973 · 681·