随着现代网络技术的飞速发展,计算机网络已成为众多领域进行信息交换的手段。由于计算机网络是 一个开放式网络,信息交换时往往面临信息被窃取、篡改和伪造等安全问题,此时信息加密技术的研究与 应用势在必行。
目前大多数主流信息加密解密技术主要集中在如字母、数字、英文标点符号等单字节字符构成的信息, 现有的中文字符加密算法很少,主要是根据汉字区位码进行的简单取反、区位码位置交换、异或,以及较 为复杂的混沌加密等操作。现有的中文字符加密算法,所得的大多数密文可读性及可复制性太差,同时由 于图片可包含的信息量较大,将汉字加密成图片不失为一种较好的密文承载方式。在此情况下,随着现代 计算机技术的发展和安全性要求的不断提高,结合混沌信号的密码特性,寻求一种具有良好抗攻击性能的 汉字转图片的加密方法,显得尤为重要。
有鉴于此,本发明的目的是为了解决现有技术中的不足,提供一种汉字转图片的加密方法,利用混沌 信号的密码特性对某段汉字转换而成的高位、低位数值序列分别进行置乱,并将置乱的数值序列分别转换 成二进制序列,按照自定义的两个二进制序列变换成一个数值序列的转换规则、以及自定义的R、G、B 矩阵数据填放规则,将变换而成的数值序列中元素分别填放入R、G、B三基色矩阵中以生成彩色图片, 从而保证了汉字转图片加密方法的安全性和可行性。
进一步地,步骤(4)中所述的按照自定义的两个二进制序列变换成一个数值序列的转换规则,是指 依次从二进制序列Q1中取4个元素、从二进制序列Q2中取4个元素,组合成一个8位二进制序列,并利 用bin2dec(·)函数将其转换成一个数值型数据,表示为 Q3i=bin2dec({Q14i-3,Q14i-2,Q14i-1,Q14i,Q24i-3,Q24i-2,Q24i-1,Q24i}),其中i=1,2,...,2×L-1,2×L, 从而得到数值序列Q3,表示为Q3={Q31,...,Q3i,...,Q32×L}。
R、G、B矩阵数据填放的初始位置参数和方向参数分别由如下所示公式(8)计算,其中R_position、 G_position和B_position分别表示R、G、B矩阵数据填放的初始位置参数,R_direction、 G_direction和B_direction分别表示R、G、B矩阵数据填放的方向参数,
当R_position=0、R_direction=0时,R矩阵从最左上角位置开始从左往右逐行填放数据,当 R_position=0、R_direction=1时,R矩阵从最左上角位置开始从上往下逐列填放数据,当 R_position=1、R_direction=0时,R矩阵从最右上角位置开始从右往左逐行填放数据,当 R_position=1、R_direction=1时,R矩阵从最右上角位置开始从上往下逐列填放数据,当 R_position=2、R_direction=0时,R矩阵从最左下角位置开始从左往右逐行填放数据,当 R_position=2、R_direction=1时,R矩阵从最左下角位置开始从下往上逐列填放数据,当 R_position=3、R_direction=0时,R矩阵从最右下角位置开始从右往左逐行填放数据,当R_position=3、R_direction=1时,R矩阵从最右下角位置开始从下往上逐列填放数据,其中填放的 数据抽取自数值序列PP中相关元素,表示为 {PP1,PP4,...,PP3i-2,PP3i+1...,PP3×W×H-2},其中i=1,2,3,...,W×H-1,W×H.
当G_position=0、G_direction=0时,G矩阵从最左上角位置开始从左往右逐行填放数据,当 G_position=0、G_direction=1时,G矩阵从最左上角位置开始从上往下逐列填放数据,当 G_position=1、G_direction=0时,G矩阵从最右上角位置开始从右往左逐行填放数据,当 G_position=1、G_direction=1时,G矩阵从最右上角位置开始从上往下逐列填放数据,当 G_position=2、G_direction=0时,G矩阵从最左下角位置开始从左往右逐行填放数据,当 G_position=2、G_direction=1时,G矩阵从最左下角位置开始从下往上逐列填放数据,当 G_position=3、G_direction=0时,G矩阵从最右下角位置开始从右往左逐行填放数据,当 G_position=3、G_direction=1时,G矩阵从最右下角位置开始从下往上逐列填放数据,其中填放的 数据抽取自数值序列PP中相关元素,表示为 {PP2,PP5,...,PP3i-1,PP3i+2...,PP3×W×H-1},其中i=1,2,3,...,W×H-1,W×H.
当B_position=0、B_direction=0时,B矩阵从最左上角位置开始从左往右逐行填放数据,当 B_position=0、B_direction=1时,B矩阵从最左上角位置开始从上往下逐列填放数据,当 B_position=1、B_direction=0时,B矩阵从最右上角位置开始从右往左逐行填放数据,当 B_position=1、B_direction=1时,B矩阵从最右上角位置开始从上往下逐列填放数据,当 B_position=2、B_direction=0时,B矩阵从最左下角位置开始从左往右逐行填放数据,当 B_position=2、B_direction=1时,B矩阵从最左下角位置开始从下往上逐列填放数据,当 B_position=3、B_direction=0时,B矩阵从最右下角位置开始从右往左逐行填放数据,当 B_position=3、B_direction=1时,B矩阵从最右下角位置开始从下往上逐列填放数据,其中填放的 数据抽取自数值序列PP中相关元素,表示为 {PP3,PP6,...,PP3i,PP3i+3...,PP3×W×H},其中i=1,2,3,...,W×H-1,W×H.
有益效果:本发明利用混沌信号的密码特性对某段汉字转换而成的高位、低位数值序列分别进行置乱, 并将置乱的数值序列分别转换成二进制序列,按照自定义的两个二进制序列变换成一个数值序列的转换规 则、以及自定义的R、G、B矩阵数据填放规则,将变换而成的数值序列中元素分别填放入R、G、B三基色 矩阵中以生成彩色图片,具有良好的抵抗已知/选择明文攻击的性能,从而保证了汉字转图片加密方法的 安全性和可行性。
最后,按照自定义的R、G、B矩阵数据填放规则,将数值序列PP中元素分别填放入R、G、B矩阵中, 即R、G、B矩阵数据填放的初始位置参数和方向参数分别由如下所示公式计算,其中R_position、 G_position和B_position分别表示R、G、B矩阵数据填放的初始位置参数,R_direction、 G_direction和B_direction分别表示R、G、B矩阵数据填放的方向参数,
当R_position=0、R_direction=0时,R矩阵从最左上角位置开始从左往右逐行填放数据,当 R_position=0、R_direction=1时,R矩阵从最左上角位置开始从上往下逐列填放数据,当 R_position=1、R_direction=0时,R矩阵从最右上角位置开始从右往左逐行填放数据,当 R_position=1、R_direction=1时,R矩阵从最右上角位置开始从上往下逐列填放数据,当 R_position=2、R_direction=0时,R矩阵从最左下角位置开始从左往右逐行填放数据,当 R_position=2、R_direction=1时,R矩阵从最左下角位置开始从下往上逐列填放数据,当 R_position=3、R_direction=0时,R矩阵从最右下角位置开始从右往左逐行填放数据,当 R_position=3、R_direction=1时,R矩阵从最右下角位置开始从下往上逐列填放数据,其中填放的 数据抽取自数值序列PP中相关元素,表示为 {PP1,PP4,...,PP3i-2,PP3i+1...,PP3×W×H-2},其中i=1,2,3,...,W×H-1,W×H.
当G_position=0、G_direction=0时,G矩阵从最左上角位置开始从左往右逐行填放数据,当 G_position=0、G_direction=1时,G矩阵从最左上角位置开始从上往下逐列填放数据,当 G_position=1、G_direction=0时,G矩阵从最右上角位置开始从右往左逐行填放数据,当 G_position=1、G_direction=1时,G矩阵从最右上角位置开始从上往下逐列填放数据,当 G_position=2、G_direction=0时,G矩阵从最左下角位置开始从左往右逐行填放数据,当 G_position=2、G_direction=1时,G矩阵从最左下角位置开始从下往上逐列填放数据,当 G_position=3、G_direction=0时,G矩阵从最右下角位置开始从右往左逐行填放数据,当 G_position=3、G_direction=1时,G矩阵从最右下角位置开始从下往上逐列填放数据,其中填放的 数据抽取自数值序列PP中相关元素,表示为 {PP2,PP5,...,PP3i-1,PP3i+2...,PP3×W×H-1},其中i=1,2,3,...,W×H-1,W×H.
当B_position=0、B_direction=0时,B矩阵从最左上角位置开始从左往右逐行填放数据,当 B_position=0、B_direction=1时,B矩阵从最左上角位置开始从上往下逐列填放数据,当 B_position=1、B_direction=0时,B矩阵从最右上角位置开始从右往左逐行填放数据,当 B_position=1、B_direction=1时,B矩阵从最右上角位置开始从上往下逐列填放数据,当 B_position=2、B_direction=0时,B矩阵从最左下角位置开始从左往右逐行填放数据,当 B_position=2、B_direction=1时,B矩阵从最左下角位置开始从下往上逐列填放数据,当 B_position=3、B_direction=0时,B矩阵从最右下角位置开始从右往左逐行填放数据,当 B_position=3、B_direction=1时,B矩阵从最右下角位置开始从下往上逐列填放数据,其中填放的 数据抽取自数值序列PP中相关元素,表示为 {PP3,PP6,...,PP3i,PP3i+3...,PP3×W×H},其中i=1,2,3,...,W×H-1,W×H.
(1)取某段汉字为“一种汉字转图片的加密方法,是一种比较简单、可行的方法。图片是指由图形、 图像等构成的平面媒体。图片的格式很多,但总体上可以分为点阵图和矢量图两大类。混沌的特征是原来 遵循简单物理规律的有序运动形态,在某种条件下突然偏离预期的规律性而变成了无序的形态。混沌是指 确定性动力学系统因对初值敏感而表现出的不可预测的、类似随机性的运动。又称浑沌。英语词源于希腊 语,原始含义是宇宙初开之前的景象,基本含义主要指混乱、无序的状态。作为科学术语,混沌一词特指 一种运动形态。极限点附近,这一系列分岔在参数空间和相空间都表现出尺度变换下的不变性,即自相似 性。使用重正化群计算可得到这些分岔过程的一套普适常数,它们与实验事实相符。”,逐个汉字转换成 数值型数据,从而得到高位数值序列P1={210,214,186,215,215,205,198,181,188,195,183,183,163,202, 210,214,177,189,188,181,161,191,208,181,183,183,161,205,198,202,214,211,205,208,161,205,207, 181,185,179,181,198,195,195,204,161,205,198,181,184,202,186,182,163,181,215,204,201,191,210, 183,206,181,213,205,186,202,193,205,193,180,192,161,187,227,181,204,213,202,212,192,215,209, 188,181,206,192,185,194,181,211,208,212,182,208,204,163,212,196,214,204,188,207,205,200,198, 192,212,198,181,185,194,208,182,177,179,193,206,208,181,208,204,161,187,227,202,214,200,182, 208,182,193,209,207,205,210,182,179,214,195,184,182,177,207,179,181,178,191,212,178,181,161, 192,203,203,187,208,181,212,182,161,211,179,187,227,161,211,211,180,212,211,207,192,211,163, 212,202,186,210,202,211,214,179,191,214,199,181,190,207,163,187,177,186,210,214,210,214,187, 194,161,206,208,181,215,204,161,215,206,191,209,202,211,163,187,227,210,180,204,214,210,214, 212,182,208,204,161,188,207,181,184,189,163,213,210,207,193,183,178,212,178,202,191,188,186, 207,191,188,182,177,207,179,179,182,177,187,207,181,178,177,208,163,188,215,207,203,208,161, 202,211,214,213,187,200,188,203,191,181,181,213,208,183,178,185,179,181,210,204,198,202,179, 202,163,203,195,211,202,209,202,202,207,183,161}和低位数值序列P2={187,214,186,214,170,188, 172,196,211,220,189,168,172,199,187,214,200,207,242,165,162,201,208,196,189,168,163,188,172, 199,184,201,188,206,162,188,241,200,185,201,196,189,230,189,229,163,188,172,196,241,189,220, 224,172,171,220,229,207,201,212,214,170,227,243,188,205,184,191,188,189,243,224,163,236,231, 196,216,247,199,173,180,241,173,242,165,239,237,230,201,196,208,242,203,175,206,172,172,218,179,214,245,254,194,187,187,171,235,164,218,196,230,201,212,248,228,201,203,222,242,196,206, 172,163,236,231,199,184,183,168,212,175,166,167,181,179,242,212,245,181,244,208,248,237, 214,246,196,187,201,164,226,196,162,224,198,230,250,212,196,203,175,163,214,198,235,231,163, 162,239,202,180,218,163,176,239,172,173,188,172,229,199,238,230,245,170,174,176,196,176,243, 172,249,190,172,229,247,170,184,236,210,162,222,242,196,180,172,163,247,170,198,167,245,239,172,236,231,187,202,216,184,187,214,203,175,206,172,163,171,222,227,189,252,172,226,187,181, 208,214,237,218,206,253,213,228,205,224,213,228,188,237,214,246,223,200,228,187,194,196,187, 228,212,172,180,212,224,198,212,163,185,195,216,253,175,186,198,227,201,195,189,226,169,214, 237,253,204,196,187,215,213,202,163,253,172,252,199,235,181,233,194,181,224,251,163},其中数 值序列P1、P2的长度与该段汉字的长度均为302;
(4)首先,将置乱后的高位数值序列
中各元素逐个利用dec2bin(·,8)函数转换成8位二进制,得 到高位二进制序列Q1={1,0,1,1,0,0,1,0,1,0,1,1,1,0,1,0,1,0,1,1,0,1,0,1,1,0,1,1,1,1,0,0,1,1,0, 1,0,0,1,0,1,0,1,1,0,1,0,1,1,1,0,0,1,1,0,1,1,1,0,1,0,0,1,1,1,0,1,0,0,0,0,1,1,1,0,1,0,0,0,0,1, 1,0,0,0,0,0,1,1,1,0,0,1,1,0,0,1,0,1,1,0,1,0,1,1,1,0,0,0,1,1,0,1,1,0,0,1,0,1,0,1,1,0,0,1,1,0, 0,1,1,0,0,1,1,1,1,1,1,0,1,0,0,1,0,1,0,1,0,0,0,0,1,1,0,1,1,0,1,0,1,1,0,1,1,0,1,0,0,1,1,0,0,0, 0,0,1,1,1,0,1,0,0,0,0,1,1,0,0,1,1,1,1,1,0,1,1,0,1,0,1,1,0,1,0,0,0,1,1,1,1,0,1,0,0,0,1,1,1,0, 0,0,0,0,1,1,1,0,1,0,1,1,0,1,1,0,0,1,0,1,0,1,1,0,1,0,0,0,0,1,1,0,1,0,1,1,0,1,0,1,1,0,1,0,1,1, 0,1,1,0,0,0,1,1,0,1,1,1,0,1,1,1,1,0,1,0,0,1,1,1,1,0,1,0,1,1,1,1,0,1,1,1,0,1,0,1,1,0,0,1,1,0, 0,1,0,1,1,1,1,0,0,1,0,1,1,1,1,0,0,1,1,0,0,1,1,1,1,1,0,1,1,0,1,0,1,1,0,1,1,1,1,0,1,1,0,1,1,1, 0,1,0,1,0,1,1,1,1,0,0,1,0,1,1,0,0,1,0,1,0,1,1,0,1,0,0,1,0,1,1,0,1,1,0,1,1,0,0,1,1,1,1,1,0,1, 1,1,0,1,0,1,0,1,1,1,0,1,0,1,1,0,0,1,1,0,1,1,0,1,1,1,1,1,1,1,1,0,1,0,0,1,1,1,0,1,0,0,0,0,1,1, 1,0,0,1,1,1,0,1,0,1,1,0,0,1,0,1,0,1,0,0,0,1,1,1,0,1,1,0,0,0,1,1,1,0,1,0,1,0,0,1,0,1,1,0,1,0, 1,1,1,0,1,0,1,1,1,1,1,0,1,0,1,0,0,1,0,1,1,0,1,1,1,1,0,1,1,1,1,0,0,1,1,0,0,0,0,1,0,1,0,1,1,0, 0,1,1,1,1,0,1,0,1,1,1,1,0,1,1,0,1,0,1,1,1,0,1,0,0,0,0,1,1,0,1,0,0,1,1,1,1,0,1,0,0,1,0,1,1,0, 1,0,0,1,0,1,1,0,0,1,1,0,1,1,0,1,1,0,1,1,0,1,0,1,1,1,0,0,1,1,0,1,1,0,1,1,0,1,1,0,0,0,1,1,1,1, 1,0,0,0,1,1,0,1,1,0,1,0,1,1,0,1,1,0,1,0,1,1,0,1,0,1,1,1,0,1,1,1,1,0,1,0,0,1,1,1,1,0,0,1,0,1, 0,1,1,0,1,0,1,0,0,1,1,0,0,0,1,1,0,1,1,0,1,0,1,0,1,1,1,0,0,0,0,0,1,1,0,1,1,0,1,0,1,1,1,0,0,1, 0,1,0,1,0,1,0,0,0,1,1,1,1,0,0,1,0,1,0,1,0,1,1,0,0,1,0,1,0,1,1,0,1,1,0,1,1,0,0,1,0,1,0,1,0,1, 1,0,1,1,1,1,0,1,1,0,0,1,1,1,1,1,0,0,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,1,1,1,1,1,0,0,1,0,1,0,1, 0,1,0,0,0,0,1,1,0,1,1,0,0,1,0,1,1,0,0,1,0,1,0,1,1,0,0,1,0,0,0,1,0,1,0,0,0,0,1,1,1,0,0,0,1,1, 0,1,1,0,0,0,0,0,0,1,1,0,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,0,0,1,1,0,0,1,1,1,1,1,1,0,0,1, 0,1,0,1,0,1,0,0,0,0,1,1,1,0,0,1,0,1,0,1,0,1,0,0,0,0,1,1,1,0,0,1,1,1,1,1,1,0,1,0,1,0,0,1,1,0, 1,0,0,1,1,1,1,0,0,1,0,1,1,1,1,0,0,1,1,0,1,1,1,0,1,0,1,1,1,1,1,0,1,0,1,0,1,1,0,1,0,0,0,0,1,1, 1,0,1,0,1,0,1,1,1,0,0,0,0,1,1,1,1,0,0,1,0,1,0,1,1,0,1,0,0,0,0,1,1,0,0,1,1,1,1,1,1,0,0,0,0,1, 0,1,1,0,0,1,1,1,1,1,1,0,0,1,1,0,1,1,1,0,1,0,0,1,1,1,0,1,1,0,1,0,1,1,0,1,1,1,1,1,1,1,0,1,1,0, 1,0,1,1,0,1,0,0,0,1,1,1,1,0,1,0,0,0,0,1,1,0,1,0,0,0,0,1,0,1,1,1,1,1,1,1,1,0,0,1,1,0,0,1,0,1, 1,1,0,1,1,1,1,0,1,0,0,0,0,1,1,0,0,1,1,0,0,1,1,0,0,0,0,1,1,1,0,1,1,1,1,0,0,1,1,0,1,0,1,1,0,1, 1,0,1,0,1,1,0,1,0,1,1,0,1,1,1,1,0,1,0,0,0,1,1,1,1,0,0,1,0,1,1,1,1,0,1,0,1,1,0,1,1,0,1,0,1,0, 0,1,0,1,1,1,0,0,1,1,1,0,0,1,0,0,0,1,1,0,0,1,1,0,1,1,0,1,1,1,1,0,0,1,0,1,1,1,1,1,1,1,0,1,1,0, 1,0,1,1,1,0,1,0,0,1,1,1,0,1,1,0,1,1,0,1,0,1,1,0,0,1,1,1,1,0,0,1,1,1,0,1,1,0,1,0,0,1,1,1,0,1, 1,0,1,1,0,1,1,0,1,0,0,1,0,1,1,0,1,0,1,0,0,1,1,0,1,0,0,1,0,1,0,1,1,0,0,0,1,1,1,0,1,0,0,0,1,1, 0,1,1,1,0,1,1,1,0,1,1,0,1,1,1,1,1,0,1,0,0,0,0,1,1,0,0,1,0,1,1,1,0,1,1,0,1,1,0,1,0,1,1,0,0,0, 1,1,0,1,1,0,0,1,1,1,1,0,0,1,0,1,1,1,0,1,1,1,1,1,1,1,1,0,1,0,0,1,1,1,1,0,0,1,0,1,1,1,1,0,1,0, 1,1,1,1,0,1,1,0,1,0,0,1,0,1,1,1,1,1,1,1,0,1,1,0,1,0,1,1,0,1,1,0,1,1,1,1,1,0,0,1,1,1,1,1,1,0, 0,1,0,1,0,1,1,0,1,0,1,1,0,1,0,1,1,0,1,1,0,1,0,1,1,1,1,1,0,1,1,0,0,0,0,1,1,1,0,1,0,0,0,1,1,1, 0,1,1,1,1,0,1,1,0,1,1,0,1,0,1,1,0,1,0,0,0,1,1,1,1,0,1,0,1,0,0,1,0,1,0,0,0,0,1,1,1,0,1,0,0,1, 0,1,0,1,1,1,0,0,0,1,1,0,0,1,0,1,0,1,0,1,1,1,1,1,1,1,0,1,0,0,0,0,1,1,0,1,1,1,1,0,0,1,0,1,1,1, 0,0,1,1,1,0,1,0,1,1,1,1,1,0,0,1,1,0,0,1,0,1,1,0,1,1,0,1,0,1,1,0,0,1,0,1,0,1,1,0,1,1,1,1,0,1, 0,0,0,1,1,1,1,0,0,0,0,0,0,1,0,1,1,1,1,0,0,1,1,0,0,1,0,0,1,1,1,0,0,1,1,0,0,1,0,1,1,0,0,1,1,1, 1,0,1,0,1,0,1,1,0,1,1,0,1,0,1,1,1,1,0,0,0,1,1,1,0,1,1,0,1,1,0,1,0,1,1,0,1,0,1,1,1,0,0,0,0,0, 0,1,0,1,1,0,1,0,1,1,1,0,0,1,0,1,0,1,0,1,1,1,0,1,1,1,1,0,0,1,1,0,1,1,1,0,1,0,0,0,0,1,0,1,1,0, 1,1,1,1,1,0,1,0,1,1,0,1,1,0,0,1,0,1,0,1,0,1,1,1,0,0,0,1,0,1,0,0,0,1,1,1,1,0,1,0,0,1,1,1,1,0, 1,0,0,0,0,1,1,0,0,0,1,1,0,1,0,1,1,0,0,1,1,1,1,0,0,1,0,1,0,1,1,0,0,0,0,1,0,1,1,0,0,1,1,0,0,1, 0,1,1,0,1,0,1,1,1,0,1,0,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,0,1,1,1,0,1,0,0,0,1,1,1,0,1,0,1,0, 0,1,1,0,0,1,1,0,0,1,1,1,0,0,0,1,1,1,0,1,1,1,0,1,1,1,1,0,0,1,1,1,1,1,0,1,0,0,0,0,1,1,0,1,1,0, 0,0,1,1,0,1,1,0,1,0,1,1,0,1,1,1,0,0,0,1,0,1,1,0,1,0,1,1,0,1,1,0,0,1,1,1,1,0,0,0,0,1,1,1,1,0, 1,0,0,0,0,1,1,0,0,0,1,1,0,1,1,0,0,1,1,1,0,1,0,1,1,1,0,1,1,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,1,1, 0,1,0,0,0,0,1,1,1,0,1,0,1,1,0,1,0,1,1,0,1,0,1,1,1,0,1,0,0,0,1,1,1,0,1,0,1,0,0,1,0,1,1,0,0,1, 1,1,1,0,0,1,1,1,0,1,0,1,1,0,0,1,1,1,1,1,0,0,0,1,1,1,1,0,1,0,1,1,0,1,0,1,1,0,0,1,1,1,0,1,1,0, 1,1,0,1,0,1,1,0,1,1,1,1,0,1,1,1,0,1,0,1,0,1,0,0,0,0,1,1,1,0,0,1,1,1,1,1,0,1,1,1,0,1,1,1,1,0, 1,0,1,1,0,1,1,0,0,1,1,1,1,1,1,0,0,1,0,0,0,1,1,0,0,0,0,0,0,1,1,0,1,0,1,1,0,1,1,0,1,0,1,0,1,1, 0,1,1,0,0,0,1,1,1,0,1,0,0,1,0,1,0,1,1,1,0,0,1,1,1,0,0,0,0,0,0,1,1,0,1,0,0,1,0,1,1,0,0,0,1,1, 0,1,0,1,1,0,0,0,1,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,1,1,0,1,0,1,0,0,1,0,1,0,0,0,0,1,1,1,0,0,0, 1,0,0,1,1,0,0,0,0,1,1,1,0,1,1,0,1,0,1,1,1,0,1,0,0,0,0,1,1,0,0,1,1,1,0},同时将置乱后的低位数 值序列
中各元素逐个利用dec2bin(·,8)函数转换成8位二进制,得到低位二进制序列Q2={1,1,1,0,0, 1,1,0,1,0,1,0,1,1,0,0,1,1,0,1,0,1,1,0,1,1,1,0,0,0,0,0,1,1,1,0,1,1,0,1,1,1,0,0,1,0,0,1,1,0,1, 1,1,0,0,1,1,1,1,0,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,1,1,1,1,1,0,0,1,1,0,1,0,1,1,1,1,0,0,1, 1,0,1,0,1,0,1,1,1,0,0,1,0,0,1,1,1,1,0,1,0,0,1,1,0,1,0,0,1,1,1,1,1,1,0,0,0,1,0,1,0,1,1,1,1,0, 0,1,0,1,1,1,0,1,0,1,0,1,1,1,0,1,1,1,0,1,0,0,0,1,1,1,0,1,0,1,1,0,0,1,0,1,0,1,1,0,0,1,0,1,1,0, 0,1,1,1,1,1,1,0,0,1,0,1,0,1,0,1,1,1,1,1,0,1,1,1,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,0,0,0,1,1,0, 0,1,0,0,1,1,0,1,0,0,1,0,0,1,1,1,1,0,1,0,1,1,1,1,1,0,1,1,0,1,0,1,0,0,0,1,1,1,1,0,1,1,0,1,0,1, 0,1,0,1,1,0,0,1,0,1,0,0,0,1,1,1,0,1,0,1,1,0,0,1,0,1,0,1,1,0,0,1,1,0,0,0,1,0,0,1,1,0,1,1,1,0,0,1,1,0,1,1,1,1,0,1,1,0,0,0,0,1,1,1,1,0,1,0,0,0,0,1,1,0,0,1,1,0,1,1,1,0,0,1,1,1,1,1,1,0,0,0, 1,1,1,1,0,1,0,0,1,0,1,1,0,1,1,0,1,1,1,1,1,0,0,1,0,1,1,1,1,0,0,1,1,1,0,1,1,0,0,0,1,1,0,1,0,1, 1,1,1,0,1,1,1,1,1,1,1,0,0,1,1,0,0,1,0,1,0,1,0,1,0,1,1,1,1,1,1,1,0,1,0,1,1,1,1,0,0,0,1,0,0,1, 0,1,1,1,1,0,0,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,0,0,0,1,1,0,1,0,1,0,1,0,1,1,0,1,1,0,0, 0,1,0,1,1,0,1,0,0,1,1,0,1,1,1,0,0,1,1,0,0,1,0,0,1,1,0,1,0,0,0,1,1,1,0,1,0,1,1,0,1,1,0,1,0,0, 1,0,0,1,0,1,0,1,1,0,0,1,1,0,0,1,0,0,1,1,1,1,1,0,0,0,1,1,1,0,1,0,1,0,0,1,0,1,0,0,0,1,0,1,0,1, 1,1,1,0,1,1,1,0,0,0,1,0,0,1,1,0,0,1,0,1,0,1,1,0,1,0,1,1,0,1,0,1,0,1,1,0,0,1,1,1,0,0,1,0,1,1, 1,1,0,0,1,0,0,1,1,1,0,0,0,1,0,1,1,0,0,1,0,1,1,1,0,1,0,1,1,0,0,1,1,1,1,0,0,1,0,1,1,0,0,1,0,0, 0,1,1,1,0,0,1,0,0,1,0,1,1,1,0,0,1,1,1,0,1,0,0,1,1,1,1,0,1,0,0,0,0,1,0,1,0,1,1,0,0,1,1,1,0,0, 0,0,0,1,1,0,0,1,1,1,0,1,0,1,0,1,1,0,0,1,1,0,1,0,1,1,0,1,1,0,1,0,1,0,0,1,1,1,0,1,0,1,1,1,1,1, 0,0,1,0,0,1,1,0,1,0,1,0,0,1,1,0,0,1,1,1,1,1,0,1,1,1,0,0,0,1,1,0,0,1,0,1,1,1,1,0,1,1,1,1,0,1, 0,1,1,0,1,0,1,1,1,0,0,0,0,1,0,1,0,1,0,1,1,1,1,1,0,1,0,1,1,0,0,1,1,0,0,0,1,1,0,1,1,0,1,0,1,1, 1,1,1,0,0,0,1,0,0,1,1,0,0,1,0,0,1,1,1,1,0,0,0,1,1,1,0,1,0,0,0,1,1,1,1,0,0,1,0,0,0,1,0,1,1,1, 0,0,0,1,1,0,1,0,1,1,0,1,0,1,1,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,0,1,1,0,1,0,0,0,1,0,1,0,1, 0,0,0,1,1,1,1,1,0,0,1,1,0,1,0,1,1,0,1,0,1,1,0,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,0,0,1,1,1,0,1, 1,0,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,1,1,1,0,1,1,1,0,1,0,1,0,1,1,1,1,1,1,0,1,0,0,1,1,1,1,0,1,1, 1,1,0,1,1,1,0,0,0,1,1,0,0,0,1,0,0,1,1,0,1,1,0,1,0,1,1,0,1,0,1,1,0,1,1,1,0,0,1,1,0,1,1,1,0,1, 1,1,1,1,1,0,0,0,1,1,1,1,0,1,1,1,1,0,0,1,0,1,1,1,1,0,0,1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,1,0, 1,0,1,1,0,1,1,0,1,0,1,0,1,1,0,1,0,1,0,1,1,1,0,1,0,0,1,1,1,1,1,1,1,1,1,0,0,1,0,1,0,1,0,1,0,1,0,1,1,1,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,0,0,1,0,1,1,1,1,0,1,0,1,1,1,1,1,0,0,1,0, 0,1,1,0,1,0,1,0,0,1,1,1,0,1,1,0,1,1,0,1,0,0,0,1,1,1,0,1,0,1,1,0,1,1,0,1,1,1,0,1,1,1,1,1,1,1, 1,0,1,1,0,1,0,0,1,1,0,1,1,1,1,0,0,1,1,1,1,0,1,0,1,1,0,1,0,1,0,1,1,1,1,1,0,1,0,1,1,0,0,1,1,0, 0,0,1,1,1,1,1,0,1,0,0,0,0,1,1,1,0,1,1,1,1,1,0,1,0,1,1,0,0,1,0,1,1,0,1,0,1,1,0,1,1,0,0,0,0,1, 1,0,1,0,1,1,0,1,1,1,0,0,1,0,0,1,0,1,1,1,0,0,0,1,0,1,1,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,1,1,0,1, 1,1,1,1,0,1,1,0,0,1,1,0,0,0,1,0,0,1,0,1,1,1,1,0,0,1,1,1,0,1,1,0,0,1,1,0,0,0,0,1,0,1,0,1,0,1, 0,0,0,1,1,0,1,0,0,1,0,1,0,1,1,0,0,0,0,1,1,1,0,1,1,1,1,1,1,1,0,1,1,0,0,1,0,1,1,0,1,0,1,1,1,1, 0,1,1,1,1,1,0,1,0,1,1,0,0,1,1,0,1,0,0,0,0,1,0,1,0,0,0,1,1,1,0,1,0,0,0,1,1,1,1,0,0,0,1,0,0,1, 0,1,0,1,1,0,1,1,1,1,1,0,0,1,0,1,1,0,1,1,1,1,0,1,1,1,0,0,0,0,0,1,0,1,0,1,1,0,0,1,1,1,1,1,0,0, 0,1,1,0,1,0,1,0,0,1,1,0,1,1,1,0,0,1,1,1,1,0,1,0,1,1,1,0,1,1,0,0,0,1,1,1,0,0,0,1,0,1,1,0,0,1, 1,0,1,1,1,0,0,0,1,0,0,1,1,1,0,0,1,1,1,1,1,0,0,0,1,0,0,1,1,0,0,1,1,1,0,1,1,1,0,0,0,1,1,1,1,0, 0,1,1,0,0,1,1,0,0,0,1,0,0,1,1,1,0,0,1,1,0,1,1,0,1,0,1,0,0,1,0,1,1,1,1,0,1,1,1,0,1,0,1,1,0,1, 1,0,1,1,1,1,1,1,1,1,1,0,1,1,1,1,0,1,0,1,0,1,0,1,0,1,1,1,1,0,1,1,0,1,1,0,0,1,1,1,1,0,1,1,0,1, 0,1,1,1,1,0,1,0,1,1,1,1,0,0,1,0,1,1,1,1,1,0,1,1,0,1,0,1,1,1,0,1,1,1,1,0,0,0,1,1,0,1,1,1,1,1, 1,0,1,1,0,1,1,1,1,0,0,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,1,1,1,1,0,0,1,0,1,1,1,1,0,1,1,1,0, 1,0,1,1,0,1,0,1,0,1,0,1,1,1,1,0,0,1,0,0,1,1,0,1,0,0,0,1,0,1,0,1,0,1,1,0,0,1,0,1,0,1,0,0,0,1, 1,0,0,1,0,1,0,1,1,0,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,1,0,1,0,1,0,1,1,0,0,1,1,1,1,0,1,0, 1,1,0,1,0,0,0,1,1,1,0,1,0,1,1,1,0,1,0,1,0,1,0,1,0,1,1,0,0,1,0,0,0,1,0,1,1,1,0,1,0,1,0,1,0,0, 0,1,1,1,0,1,1,1,0,1,1,1,0,1,0,1,0,0,0,1,0,1,1,1,1,0,1,1,0,1,0,1,1,1,1,1,1,1,1,1,0,1,0,1,0,1,1,1,0,1,1,1,1,0,0,0,1,1,0,1,1,0,0,0,1,0,0,1,1,1,1,0,1,1,1,1,0,1,1,1,1,0,1,1,0,1,1,1,0,1,1,1, 1,1,0,0,1,1,1,1,1,0,0,0,1,0,0,1,0,1,0,0,0,1,0,1,0,1,0,0,0,1,0,1,0,1,1,1,1,0,1,1,1,0,0,0,1,1, 1,1,1,0,1,1,0,0,0,1,0,1,1,0,1,0,1,1,0,1,0,0,0,1,1,1,1,1,0,0,0,0,0,1,0,1,1,1,0,0,0,1,1,1,0,1, 1,0,1,1,1,1,1,1,0,0,1,1,0,1,0,1,0,0,1,1,1,0,1,1,0,1,0,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,0,1,1,0, 0,1,0,1,1,1,1,1,1,0,0,1,0,1,1,1,0,0,1,0,1,1,0,1,1,0,1,0,0,1,1,1,1,1,0,0,0,1,1,1,1,0,0,1,0,1, 1,1,0,1,1,0,1,1,1,0,0,0,1,0,0,1,1,0,0,1,1,1,0,1,1,0,0,0,1,0,0,1,1,1,1,1,1,0,1,1,1,0,1,0,1,1, 0,1,1,0,1,0,1,0,1,1,0,1,1,1,1,0,0,1,1,0,1,0,1,0,0,1,1,1,1,0,0,1,0,1,1,1,1,0,0,0,1,1,0,1,0,0, 1,0,1,1,1,0,0,0,1,1,0,1,0,1,1,0,1,0,0},再依次从二进制序列Q1中取4个元素、从二进制序列Q2中 取4个元素,组合成一个8位的二进制序列,并利用bin2dec(·)函数将此序列转换成数值型数据,从而得 到数值序列Q3={222,28,206,216,219,54,222,160,246,89,218,99,229,227,246,90,221,7,242,5,244,22,229,240,219,51,240,105,244,201,228,181,244,174,231,88,205,70,207,103,206,37,228,82,230, 80,229,175,223,38,204,95,231,71,240,67,246,40,240,201,230,16,247,57,223,54,206,7,219,206, 230,90,230,47,206,216,228,240,218,176,219,240,241,254,218,39,219,162,218,217,218,245,218,29, 206,49,207,61,240,239,218,220,218,156,229,243,223,250,242,78,204,87,244,237,218,24,205,90, 218,23,242,53,223,35,230,110,243,96,207,58,219,240,240,73,206,15,230,123,206,50,230,80,242,75,247,9,243,24,228,166,207,121,218,146,218,108,241,62,228,120,246,57,246,56,222,142,242,79, 228,216,247,36,240,104,246,50,229,67,219,39,241,136,204,90,244,136,218,92,206,120,241,156, 219,58,222,79,252,26,219,154,218,255,229,200,216,71,219,92,229,153,240,132,204,87,228,120, 240,20,241,181,242,24,242,65,244,175,228,141,216,66,229,200,217,22,229,254,246,116,246,91, 228,142,228,167,246,62,231,51,205,87,246,55,240,94,241,152,231,16,245,239,228,77,245,186,245,183,231,74,218,50,219,238,219,54,220,30,246,85,242,21,207,250,229,240,207,207,231,69, 241,180,241,27,206,229,230,61,247,120,206,110,205,79,244,143,246,40,246,49,222,199,244,144, 241,178,222,241,206,175,206,115,231,79,223,121,206,30,245,173,243,30,206,125,230,88,242,53, 243,8,222 87,230,82,207,155,207,42,243,20,244,154,207,104,207,2,206,78,229,207,222,250,242, 26,229,218,246,122,218,36,206,234,219,38,207,42,244,255,244,216,231,57,222,125,206,248,241, 10,204,15,206,167,218,50,204,91,247,36,217,86,246,8,206,208,245,200,219,186,217,82,223,177, 219,194,246,46,240,241,218,56,222,29,218,58,216,94,244,5,218,240,240,146,244,180,219,26,231, 115,219,54,249,95,223,61,206,102,229,81,207,39,241,204,223,155,244,179,247,20,207,111,242,60, 245,217,207,208,216,75,246,31,231,80,229,121,219,30,228,205,240,73,228,164,206,114,230,106, 240,238,240,178,247,7,242,36,228,240,253,27,206,143,228,254,204,70,218,66,207,102,206,133, 207,103,206,74,229,91,230,85,245,108,229,237,218,158,240,16,245,23,205,83,231,109,222,55, 242,18,230,36,206,14,229,249,218,31,249,74,231,57,206,15,222,40,207,106,222,217,221,67,228, 235,219,206,247,121,245,254,240,197,245,4,246,57,231,50,223,66,247,12,222,211,240,16,242,92, 240,56,223,83,243,28,241,179,231,112,217,18,245,36,245,11,206,51,242,20,229,184};
最后,计算得到R、G、B矩阵数据填放的初始位置参数分别为R_position=0、G_position=2 和B_position=0,以及R、G、B矩阵数据填放的方向参数分别为R_direction=0、G_direction=1 和B_direction=1,R、G、B矩阵填放数据的具体操作如下,
R矩阵从最左上角位置开始从左往右逐行填放数据,其中填放的数据抽取自数值序列PP中相关元素, 表示为{222,216,222,89,229,90,242,22,219,105,228,174,205,103,228,80,223,95,240,40,230,57,206, 206,230,216,218,240,218,162,218,29,207,239,218,243,242,87,218,90,242,35,243,58,240,15,206, 80,247,24,207,146,241,120,246,142,228,36,246,67,241,90,218,120,219,79,219,255,216,92,240, 87,240,181,242,175,216,200,229,116,228,167,231,87,240,152,245,77,245,74,219,54,246,21,229, 207,241,27,230,120,205,143,246,199,241,241,206,79,206,173,206,88,243,87,207,42,244,104,206, 207,242,218,218,234,207,255,231,125,241,15,218,91,217,8,245,186,223,194,240,56,218,94,218, 146,219,115,249,61,229,39,223,179,207,60,207,75,231,121,228,73,206,106,240,7,228,27,228,70, 207,133,206,91,245,237,240,23,231,55,230,14,218,74,206,40,222,67,219,121,240,4,231,66, 222,16,240,83,241,112,245,11,242,184,128,128,128,128,128,128,128,128},得到R矩阵为
G矩阵从最左下角位置开始从下往上逐列填放数据,其中填放的数据抽取自数值序列PP中相关元素, 表示为{28,219,160,218,227,221,5,229,51,244,181,231,70,206,82,229,38,231,67,240,16,223,7,230, 47,228,176,241,39,218,245,206,61,218,156,223,78,244,24,218,53,230,96,219,73,230,50,242,9, 228,121,218,62,246,56,242,216,240,50,219,136,244,92,241,58,252,154,229,71,229,132,228,20, 242,65,228,66,217,254,246,142,246,51,246,94,231,239,245,183,218,238,220,85,207,240,231,180, 206,61,206,79,246,49,244,178,206,115,223,30,243,125,242,8,230,155,243,154,207,78,222,26,246, 36,219,42,244,57,206,10,206,50,247,86,206,200,217,177,246,241,222,58,244,240,244,26,219, 95,206,81,241,155,247,111,245,208,246,80,219,205,228,114,240,178,242,240,206,254,218,102,207, 74,230,108,218,16,205,109,242,36,229,31,231,15,207,217,228,206,245,197,246,50,247,211,242, 56,243,179,217,36,206,20,128,128,128,128,128,128,128,128,128},得到G矩阵为
B矩阵从最左上角位置开始从上往下逐列填放数据,其中填放的数据抽取自数值序列PP中相关元素, 表示为{206,54,246,99,246,7,244,240,240,201,244,88,207,37,230,175,204,71,246,201,247,54,219, 90,206,240,219,254,219,217,218,49,240,220,229,250,204,237,205,23,223,110,207,240,206,123, 230,75,243,166,218,108,228,57,222,79,247,104,229,39,204,136,206,156,222,26,218,200,219,153, 204,120,241,24,244,141,229,22,246,91,228,62,205,55,241,16,228,186,231,50,219,30,242,250,207, 69,241,229,247,110,244,40,222,144,222,175,231,121,245,30,230,53,222,82,207,20,207,2,229, 250,229,122,206,38,244,216,222,248,204,167,204,36,246,208,219,82,219,46,218,29,216,5,240, 180,231,54,223,102,207,204,244,20,242,217,216,31,229,30,240,164,230,238,247,36,253,143,204, 66,206,103,229,85,229,158,245,83,222,18,206,249,249,57,222,106,221,235,247,254,245,57,223, 12,240,92,223,28,231,18,245,51,229,128,128,128,128,128,128,128,128,128},得到B矩阵为
按照上述一种汉字转图片的加密方法,某段待加密的汉字仍为:“一种汉字转图片的加密方法,是一 种比较简单、可行的方法。图片是指由图形、图像等构成的平面媒体。图片的格式很多,但总体上可以分 为点阵图和矢量图两大类。混沌的特征是原来遵循简单物理规律的有序运动形态,在某种条件下突然偏离 预期的规律性而变成了无序的形态。混沌是指确定性动力学系统因对初值敏感而表现出的不可预测的、类 似随机性的运动。又称浑沌。英语词源于希腊语,原始含义是宇宙初开之前的景象,基本含义主要指混乱、 无序的状态。作为科学术语,混沌一词特指一种运动形态。极限点附近,这一系列分岔在参数空间和相空 间都表现出尺度变换下的不变性,即自相似性。使用重正化群计算可得到这些分岔过程的一套普适常数, 它们与实验事实相符。”,其加密步骤与具体实施例1相似,仅加密密钥发生细微变化: α=0.12345000000001;或β=3.85000000000001,汉字转图片的加密结果如表1所示。由表1可 知,加密密钥的细微变化会引起汉字转图片加密彩色图片发生很大的变化,由此可见本专利所提一种汉字 转图片的加密方法对加密密钥具有敏感性。
按上述一种汉字转图片的加密方法,其加密步骤与具体实施例1相似,仅某段待加密的汉字发生微变: 第1个汉字“一”变为“二”;或第27个汉字“。”变为“!”;或第55个汉字“但”变为“旦”;或 第100个汉字“种”变为“钟”;或第151个汉字“的”变为“地”;或第199个汉字“乱”变为“敌”; 或第230个汉字“附”变为“符”;或第270个汉字“重”变为“童”;或第302个汉字“。”变为“合”, 汉字转图片的加密结果如表2所示。由表2可见:某段待加密汉字的细微变化会引起加密彩色图片的“面 目全非”,由此可见本专利所提一种汉字转图片的加密方法对某段待加密汉字的平文信息具有敏感性。
由上述具体实施例2、3分析可知,本专利所提一种汉字转图片的加密方法所生成的彩色图片密文不 仅与外部加密密钥密切相关,而且依赖于待加密汉字平文信息,因此本专利所提一种汉字转图片的加密方 法可抵抗已知/选择明文攻击,具有很强的安全性。