基于保面积Baker映射的混沌图像加密方法与流程

文档序号:11865824阅读:来源:国知局

技术特征:

1.一种基于保面积Baker映射的混沌图像加密方法,包括以下步骤:

(1)输入大小为N×M像素的原始图像;

(2)分割图像,分割后的子块大小为n×m;

(3)在每个分割后的n×m大小的矩形块中,按照从左往右从上往下顺序依次取读,得到如下像素点的位置序列:

<mfenced open = "{" close = "}"> <mtable> <mtr> <mtd> <mo>(</mo> <mn>0</mn> <mo>,</mo> <mn>0</mn> <mo>)</mo> <mo>,</mo> <mo>(</mo> <mn>0</mn> <mo>,</mo> <mn>1</mn> <mo>)</mo> <mo>,</mo> <mn>......</mn> <mo>,</mo> <mo>(</mo> <mn>0</mn> <mo>,</mo> <mi>n</mi> <mo>-</mo> <mn>1</mn> <mo>)</mo> </mtd> </mtr> <mtr> <mtd> <mo>(</mo> <mn>1</mn> <mo>,</mo> <mn>0</mn> <mo>)</mo> <mo>,</mo> <mo>(</mo> <mn>1</mn> <mo>,</mo> <mn>1</mn> <mo>)</mo> <mo>,</mo> <mn>.......</mn> <mo>,</mo> <mo>(</mo> <mn>1</mn> <mo>,</mo> <mi>n</mi> <mo>-</mo> <mn>1</mn> <mo>)</mo> </mtd> </mtr> <mtr> <mtd> <mn>...</mn> </mtd> </mtr> <mtr> <mtd> <mo>(</mo> <mi>m</mi> <mo>-</mo> <mn>1</mn> <mo>,</mo> <mn>0</mn> <mo>)</mo> <mo>,</mo> <mo>(</mo> <mi>m</mi> <mo>-</mo> <mn>1</mn> <mo>,</mo> <mn>1</mn> <mo>)</mo> <mo>,</mo> <mn>......</mn> <mo>,</mo> <mo>(</mo> <mi>m</mi> <mo>-</mo> <mn>1</mn> <mo>,</mo> <mi>n</mi> <mo>-</mo> <mn>1</mn> <mo>)</mo> </mtd> </mtr> </mtable> </mfenced>

再利用保面积Baker映射依次对其像素进行运算,依次对分割后的每一个矩形块按照上述方法进行Baker映射运算,完成一次Baker映射置乱运算,保面积Baker映射为:

<mrow> <mi>B</mi> <mrow> <mo>(</mo> <mi>x</mi> <mo>,</mo> <mi>y</mi> <mo>)</mo> </mrow> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <mo>=</mo> <mrow> <mo>(</mo> <mn>2</mn> <mi>x</mi> <mo>,</mo> <mi>y</mi> <mo>/</mo> <mn>2</mn> <mo>)</mo> </mrow> </mrow> </mtd> <mtd> <mrow> <mn>0</mn> <mo>&le;</mo> <mi>x</mi> <mo>&lt;</mo> <mi>n</mi> <mo>/</mo> <mn>2</mn> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mo>=</mo> <mrow> <mo>(</mo> <mn>2</mn> <mi>x</mi> <mo>-</mo> <mi>n</mi> <mo>,</mo> <mi>y</mi> <mo>/</mo> <mn>2</mn> <mo>+</mo> <mi>m</mi> <mo>/</mo> <mn>2</mn> <mo>)</mo> </mrow> </mrow> </mtd> <mtd> <mrow> <mi>n</mi> <mo>/</mo> <mn>2</mn> <mo>&le;</mo> <mi>x</mi> <mo>&lt;</mo> <mi>n</mi> </mrow> </mtd> </mtr> </mtable> </mfenced> </mrow>

(4)把置乱后图像的每个像素点以一维数组C的形式读取,将像素点用二进制形式表示成一维数组C中的元素;

(5)由外部密钥xo,y0,z0,r0,β作为量子Logistic混沌系统的初始值进行迭代,舍弃开始迭代的前k次的值,再迭代N×M次,并将每次迭代的x,y,z的值分别保存在EX,EY,EZ三个序列中,其中EX表示x方向上的混沌序列,EY表示y方向上的混沌序列,EZ表示z方向上的混沌序列,量子Logistic混沌系统如下:

<mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <msub> <mi>x</mi> <mrow> <mi>n</mi> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mo>=</mo> <mi>r</mi> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mi>n</mi> </msub> <mo>-</mo> <mo>|</mo> <msub> <mi>x</mi> <mi>n</mi> </msub> <msup> <mo>|</mo> <mn>2</mn> </msup> <mo>)</mo> </mrow> <mo>-</mo> <msub> <mi>ry</mi> <mi>n</mi> </msub> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>y</mi> <mrow> <mi>n</mi> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mo>=</mo> <mo>-</mo> <msub> <mi>y</mi> <mi>n</mi> </msub> <msup> <mi>e</mi> <mrow> <mo>-</mo> <mn>2</mn> <mi>&beta;</mi> </mrow> </msup> <mo>+</mo> <msup> <mi>e</mi> <mrow> <mo>-</mo> <mi>&beta;</mi> </mrow> </msup> <mi>r</mi> <mo>&lsqb;</mo> <mrow> <mo>(</mo> <mn>2</mn> <mo>-</mo> <msub> <mi>x</mi> <mi>n</mi> </msub> <mo>-</mo> <msubsup> <mi>x</mi> <mi>n</mi> <mo>*</mo> </msubsup> <mo>)</mo> </mrow> <msub> <mi>y</mi> <mi>n</mi> </msub> <mo>-</mo> <msub> <mi>x</mi> <mi>n</mi> </msub> <msubsup> <mi>z</mi> <mi>n</mi> <mo>*</mo> </msubsup> <mo>-</mo> <msubsup> <mi>x</mi> <mi>n</mi> <mo>*</mo> </msubsup> <msub> <mi>z</mi> <mi>n</mi> </msub> <mo>&rsqb;</mo> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>z</mi> <mrow> <mi>n</mi> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mo>=</mo> <mo>-</mo> <msub> <mi>z</mi> <mi>n</mi> </msub> <msup> <mi>e</mi> <mrow> <mo>-</mo> <mn>2</mn> <mi>&beta;</mi> </mrow> </msup> <mo>+</mo> <msup> <mi>e</mi> <mrow> <mo>-</mo> <mi>&beta;</mi> </mrow> </msup> <mi>r</mi> <mo>&lsqb;</mo> <mn>2</mn> <mrow> <mo>(</mo> <mn>1</mn> <mo>-</mo> <msubsup> <mi>x</mi> <mi>n</mi> <mo>*</mo> </msubsup> <mo>)</mo> </mrow> <msub> <mi>z</mi> <mi>n</mi> </msub> <mo>-</mo> <mn>2</mn> <msub> <mi>x</mi> <mi>n</mi> </msub> <msub> <mi>y</mi> <mi>n</mi> </msub> <mo>-</mo> <msub> <mi>x</mi> <mi>n</mi> </msub> <mo>&rsqb;</mo> </mrow> </mtd> </mtr> </mtable> </mfenced>

式中r为可调参数,β是耗散参数,xn、yn、zn是系统的状态值,分别是xn和zn的复共轭,系统参数取值范围r∈(3.74,4.00),β≥3.5,状态值x∈(0,1),y∈(0,0.2461),z∈(0,0.2461)这些参量的值可以在满足以上条件的前提下,任意选定;

(6)然后把EX,EY,EZ这三个序列进如下变换:

<mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <mi>F</mi> <mi>X</mi> <mo>&lsqb;</mo> <mi>i</mi> <mo>&rsqb;</mo> <mo>=</mo> <mi>mod</mi> <mrow> <mo>(</mo> <mo>|</mo> <mi>E</mi> <mi>X</mi> <mo>&lsqb;</mo> <mi>i</mi> <mo>&rsqb;</mo> <mo>|</mo> <mo>&times;</mo> <msup> <mn>10</mn> <mn>12</mn> </msup> <mo>,</mo> <mn>1000</mn> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mi>F</mi> <mi>Y</mi> <mo>&lsqb;</mo> <mi>i</mi> <mo>&rsqb;</mo> <mo>=</mo> <mi>mod</mi> <mrow> <mo>(</mo> <mo>|</mo> <mi>E</mi> <mi>Y</mi> <mo>&lsqb;</mo> <mi>i</mi> <mo>&rsqb;</mo> <mo>|</mo> <mo>&times;</mo> <msup> <mn>10</mn> <mn>12</mn> </msup> <mo>,</mo> <mn>1000</mn> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mi>F</mi> <mi>Z</mi> <mo>&lsqb;</mo> <mi>i</mi> <mo>&rsqb;</mo> <mo>=</mo> <mi>mod</mi> <mrow> <mo>(</mo> <mo>|</mo> <mi>E</mi> <mi>Z</mi> <mo>&lsqb;</mo> <mi>i</mi> <mo>&rsqb;</mo> <mo>|</mo> <mo>&times;</mo> <msup> <mn>10</mn> <mn>12</mn> </msup> <mo>,</mo> <mn>1000</mn> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> </mtable> </mfenced>

(7)变换得到FX,FY,FZ序列,变换的目的是将得到的小数序列转换成整数序列,为了方便后续的计算,这里还需要将十进制形式的序列转换成二进制形式;

(8)将FXi异或FYi,再将结果再次异或FZi得到加密序列P;

(9)然后对置乱后图像序列C进行下式运算:

<mrow> <msub> <mi>C</mi> <mn>1</mn> </msub> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> <mo>=</mo> <mi>mod</mi> <mrow> <mo>(</mo> <mi>C</mi> <mo>(</mo> <mi>i</mi> <mo>)</mo> <mo>+</mo> <mi>P</mi> <mo>(</mo> <mi>i</mi> <mo>)</mo> <mo>,</mo> <mn>256</mn> <mo>)</mo> </mrow> <mo>&CirclePlus;</mo> <msub> <mi>C</mi> <mn>1</mn> </msub> <mrow> <mo>(</mo> <mi>i</mi> <mo>-</mo> <mn>1</mn> <mo>)</mo> </mrow> </mrow>

即可得到加密序列C1

(10)把加密后的序列恢复成图像,完成整个图像加密过程。

2.根据权利要求1所述的混沌图像加密方法,其特征在于:每个像素点的长和宽均为1。

3.根据权利要求1所述的混沌图像加密方法,其特征在于:图像沿水平方向分割成k个小矩形块,k是能被N整除的正整数,可任意定义满足要求的数,每个矩形块有N×ni个像素,分割后每个矩形块的宽度为m,将分割后的小矩形块继续沿着竖直方向分割成ni个子块,在每个大矩形块内包含N×ni个像素,分割后子块的长度为n,因此再将其分割成ni个小矩形后,每个小矩形恰有N个像素,分割后的子块大小为n×m。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1