基于比特置乱的量子混沌图像加密方法_2

文档序号:9866518阅读:来源:国知局
方法 中采用的异或运算相比,本发明方法在密文的统计特性方面更优,密钥空间大,抗攻击性 好,加密系统简单。因此,该方法能够达到保护图像安全目的。
【附图说明】
[0026] 图1是本发明加密方法的流程图;
[0027] 图2中:(a)是加密前的原始图像;(b)是置乱后的中间图像;(C)是对置乱后的中间 图像加密后的加密图像;(d)是解密后得到的图像;
[0028] 图3中:(a)是加密前图像中R、G、B分量的分布特性直方图;(b)是加密后图像中R、 G、B分量的分布特性直方图。
【具体实施方式】
[0029] 为了更好地理解本发明,下面结合附图对本发明的实施例作进一步详细的说明。
[0030] 选取图2(a)所示的大小为256X256的图像P为实验对象,对该图像P进行加密的具 体过程如下:
[0031] 1、设定量子混浊系统的初始值 x〇 = 0.54895127, yo = 0.158934489267,zo = 0.092543247125rQ = 3.8,阶=4.2作为密钥输入,将量子混浊系统迭代150次后的值舍弃,继 续将量子混浊系统进行256 X 256次迭代,取出Χ、Υ、Ζ的值得到长度为256 X 256的混浊序列
[0032] Χ= {〇. 359641832498,0.891387408923,0.791641382447,...,Χ256Χ2己6};
[0033] Υ= {〇. 078239451461,0.013527946822,0.0035912:34867,...,Υ256Χ256};
[0034] Ζ= {0.019234675132,0.0681:34657219,0.031248657913,...,Ζ256Χ2 己 6};
[00巧]2、在上述混浊序列中分别取出Χ、Υ、Ζ中的第1个实数值,得Χι = 0.359641832498、Υι = 0.078239451461、& = 0.019234675132;取Xi数值的前8位非零数字生成数组序列W= {3, 5,9,6,4,1,8,3},取Yi数值的前8位非零数字生成数组序列L={7,8,2,3,9,4,5,1},取Zi数 值的前8位非零数字生成数组序列Q= {1,9,2,3,4,6,7,5}。
[0036] 3、将上述所得的数组序列W、L、Q按升序排成由小到大的有序序列r、!/、Q/,如果 数列中有相同的元素,则规定在有序数列中先放下标较小的那个元素,对于W/在W数组中的 位置使用一个新数组序列胖*={胖*1,胖*2,胖*3^-,胖*8}来表示,对于1/在1数组中的位置使用一 个新数组序列化*1,以2,^3,-,,以8}来表示,对于分在9数组中的位置使用一个新数组序 列Qt= (Qti,Qt2,Qt3,···,Qts}来表示。
[0037]该步骤的具体操作如下:将胖={3,5,9,6,4,1,8,3}按升序排列后得矿={1,3,3, 4,5,6,8,9},对于胖/中元素在胖数组中的位置使用一个新数组序列恥={6,1,8,5,2,4,7,3} 来表示,Wt中元素的由来按W下规则进行:W/ ={1,3,3,4,5,6,8,9}中的数字1在W={3,5, 9,6,4,1,8,3}中排第6位,胖'={1,3,3,4,5,6,8,9}中的第1个数字3在胖={3,5,9,6,4,1,8, 3}中排第1位,W/ ={1,3,3,4,5,6,8,9}中的第2个数字3在W={3,5,9,6,4,1,8,3}中排第8 位,依此类推,即得到胖*={6,1,8,5,2,4,7,3};同理,将1^={7,8,2,3,9,4,5,1}按升序排列 后得1/={1,2,3,4,5,7,8,9},对于1/中元素在1数组中的位置使用一个新数组序列^ = (8,3,4,6,7,1,2,引来表示;将 Q={1,9,2,3,4,6,7,5}按升序排列后得 Q' ={1,2,3,4,5,6, 7,9},对于皆中元素在Q数组中的位置使用一个新数组序列Qt=U,3,4,5,8,6,7,2}来表 /J、- 〇
[003引4、分离原始图像P中第1个像素点的R、G、BS基色分量,将R、G、BS基色分量像素值 从十进制转化为-进审ij ,并用数组Rbit 二{Rbitl ,Rbit2 ,Rbit3 ,…,I?bit8}、Gbit 二{Gbitl ,Gbit2 , 6扣*3,。',6^*8巧邮^*={8^*1,8^*2,8"*3,。',8扣*8}分别对该像素点的1?^像素值比特位进行 描述,然后使用上述步骤得到的Wt、Lt和Qt序列,分别对数组化it、Gbit和Bbit进行置乱,置乱 后,得到该像素点的新的R、G、B像素值比特位排列R\it= {R/biti,R/bit2,R/bit3,···,R\it3}、 G bit 二(G bitl'G bit2,G bit3,...,G bit3 巧邮 bit 二(B bitl'B bit2,B bit3,...,B bits}。
[0039] 该步骤的具体操作如下:取原始图像p中第1个像素点的像素值(180,109,237),分 离该像素点的R、G、B^基色分量,将R、G、B^基色分量像素值从十进制转化为二进制,例如 将R= 180转换成二进制是10110100,将G= 109转换成二进制是01101101,将B = 237转换成 二进制是 11101101,并用数组化it={l,0,l,l,0,l,0,0}、Gbit={0,l,l,0,l,l,0,l}和化it = (1,1,1,〇,1,1,〇,1}对该像素点的像素值比特位进行描述,然后使用1*数组化1*进行置乱, 置乱规则是:对照胖*={6,1,8,5,2,4,7,3},将姑1*={1,0,1,1,0,1,0,0}中排第6位的元素 "Γ置换到R\it中排第1位,将姑1*={1,0,1,1,0,1,0,0}中排第1位的元素"1"置换到3\1冲 排第2位,将化1*={1,0,1,1,0,1,0,0}中排第8位的元素"0"置换到3\1冲排第3位,依此类 推,即得到R' bit = {1,1,0,0,0,1,0,1};同理,使用Lt序列对数组Gbit进行置乱,得到G' bit = {1,1,0,1,0,0,1,1},使用也序列对数组化1*进行置乱,得到8'"*={1,1,0,1,1,1,0,1}。
[0040] 5、令i = i + l,对图片进行遍历,依次对原始图像P中的每个像素点进行步骤2到步 骤4的操作,直到i = 256X256,完成对图片中所有像素点的R、G、B像素值比特位的全局置 乱;
[0041 ] 6、将全局置乱后的R、G、B像素值从二进制转换成十进制,例如将R/ bit= {1,1,0,0, 0,1,0,1}转换成十进制是197,将6'扣*={1,1,0,1,0,0,1,1}换成十进制是211,将8'扣* = {1,1,〇,1,1,1,〇,1}换成十进制是221,由此得到单个像素点的中间密文(^1,全部像素值转 换完成后得到如图2(b)所示的中间置乱图像I;
[0042] 7、对中间置乱图像I的第1个像素点的值C/i = α97,211,221)进行Di = mod(C/iX 248,2 5 5)和。=111〇(1(化+(/1,255)的加密运算,求得该像素点的最终密文。=(208,119,59);
[0043] 8、令i = i + l,对图片进行遍历,依次对中间置乱图像P中的每个像素点进行步骤7 的加密运算,直到i = 256X256,加密结束,得到如图2(c)所示的最终加密图像q。
[0044] 当要解密时,解密操作和加密操作互为逆过程,对于上述加密方式,对像素比特位 进行反置乱运算,由量子混浊系统所计算迭代值,根据下式计算出中间密文:
[0045] C'i=mod(Ci 巧 55-Di,255)
[0046] 再对二进制形式的中间密文(/i进行比特位置逆置乱,即得到原始图像的每个像 素点的〇、1比特序列,然后把该比特序列转换为十进制形式,即可就得到如图2(d)所示解密 后的图像。
[0047] 下面将对本发明的图像加密方法进行安全性分析。
[004引1、密钥空间分析
[0049]密钥是加密算法重要的一部分,良好的加密算法应该有足够大的密钥空间来抵御 穷举攻击,密钥的大小是评估加密算法抗穷举攻击的重要指标。本发明中作为密钥的xo,yo, ζο,Π ),β〇都是双精度浮点型数据,假设实验所用计算机是64位,由此计算本发明的密钥空间 为:264Χ 264Χ 264Χ 264Χ 264 = 23^,在当前计算能力下,该密钥能抵挡暴力破解,因此,本发 明加密算法具有足够大的密钥
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1