基于sha-256和dna序列的彩色二维码混沌加密方法-杨宏宇.pdf
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《基于sha-256和dna序列的彩色二维码混沌加密方法-杨宏宇.pdf》由会员分享,可在线阅读,更多相关《基于sha-256和dna序列的彩色二维码混沌加密方法-杨宏宇.pdf(9页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第57卷第6期2 0 1 7年1 1月大连理工大学学报Journal of Dalian University of TechnologyVol. 57,No. 6Nov. 2 0 1 7文章编号: 1000- 8608( 2017) 06- 0629- 09基于SHA- 256和DNA序列的彩色二维码混沌加密方法杨宏宇*, 王在明(中国民航大学计算机科学与技术学院,天津 300300 )摘要:为解决彩色二维码易伪造、易携带病毒、抗攻击能力弱等问题,提出一种彩色二维码混沌加密方法.该方法利用Lorenz混沌系统产生索引置乱二维码像素值,采用SHA- 256生成加密密钥及Lorenz混沌系统初始
2、值.用DNA序列置换像素值矩阵,将RGB灰度矩阵合成为加密彩色二维码.对该方法的密钥空间、密钥灵敏度、信息熵、抗差分攻击、抗统计攻击和相关性进行了实验验证和分析.实验结果表明,该方法具有较好的伪随机性、防伪造性和抗攻击性.关键词:彩色二维码; SHA- 256;混沌系统; DNA序列;加密;抗攻击中图分类号: TP309. 7文献标识码: A doi: 10. 7511/ dllgxb201706012收稿日期: 2017- 01- 10; 修回日期: 2017- 09- 25.基金项目:国家科技重大专项资助项目( 2012ZX03002002) ;国家自然科学基金资助项目( 61179045
3、) ;中国民航科技基金资助项目( M HRD201205) ;中央高校基本科研业务费专项资金资助项目( 3122014D033) .作者简介:杨宏宇* ( 1969- ) ,男,博士,教授, E- mail: yhyxlx hotmail. com;王在明( 1990- ) ,男,硕士生, E- mail: wangzaiminghotmail. com.0 引 言彩色二维码 1作为数字媒体在网络应用中较常见,其兼具美观实用、存储信息量大和容错能力强等特点.由于目前的经典加密方法已不适应彩色二维码的加密需求,彩色二维码加密方法成为学术界的研究热点 2 .Adleman提出DNA分子编码与计算方
4、法 3至今, DNA编码与计算方法已广泛应用于图像加密、身份验证、数字签名等相关领域.文献 4提出了一种基于DNA计算的新型加密方法,但在密钥传递和分发方面面临较大困难.为了提高图像加密效率,文献 5- 7提出了基于混沌系统的图像加密方法;文献 8- 12将DNA技术和混沌系统结合,提出了基于低维混沌系统和多维混沌系统的图像加密方法;文献 13提出了基于DNA序列加法运算和混沌序列的图像加密算法;文献 14提出了基于DNA序列并结合混沌映射的RGB图像加密方法.由于上述方法均基于低维混沌映射,导致加密图像的抗攻击能力较弱.为了解决上述问题,文献 15采用SHA- 256生成一维混沌系统初始值并
5、利用布朗运动多次迭代置乱实现图像加密,但该方法的时间复杂度随像素值的置乱和扩散迭代次数大幅提升.文献 16提出了基于Lorenz混沌系统的图像隐写加密方法,但该方法在加密图像的恢复质量方面不够理想.文献 17将二维码分层处理,通过增加每种颜色的通道和数据容量提高图像的安全性,由于处理方式单一导致加密效率不够理想.针对上述方法的不足以及彩色二维码易被伪造、易携带病毒钓鱼信息、抗攻击能力弱等安全弱点,本文基于DNA序列、三维混沌系统和SHA- 256算法,提出一种彩色二维码混沌加密方法,通过Lorenz混沌系统与DNA序列和SHA- 256算法的融合,实现对彩色二维码的加密和解密操作,以生成具有较
6、好防伪造和抗攻击能力的彩色二维码密文.1 彩色二维码加解密方法1. 1 加解密方法设计1. 1. 1 SHA- 256 采用SHA- 256算法生成彩色二维码的256 bits散列值,并将其作为混沌系统的输入;同时将该散列值定义为加密密钥K,用于对二维码的加密,提高彩色二维码的安全性.将密钥序列K分成32块,表示为ki ,每块8 bits, K表示为K= ki ; i= 1, 2, , 32 ( 1)混沌系统具有初始值敏感的特性,将密钥序万方数据列K按顺序分成3组,分别为k1 k11 、 k12 k22 、k23 k32 .计算Lorenz混沌系统的初始值:x0 = X+ ( k1 k2 k1
7、1 ) / 256y0 = Y+ ( k12 k13 k22 ) / 256z0 = Z+ ( k23 k24 k32 ) / 256( 2)其中X、 Y、 Z为输入值(式( 1)中的K) , x0 、 y0 、 z0为Lorenz混沌系统的初始值.1. 1. 2 DNA序列 DNA序列指DNA的编解码规则序列.彩色二维码加解密方法使用8种DNA序列编解码规则,如表1所示.与其他方案按规则求和再取补不同,本文使用异或操作置换像素值矩阵的值.变换规则如表2所示,表示其中一种规则的异或运算.表1 DNA序列编解码规则Tab. 1 DNA sequence encode and decode rul
8、es规则A T C G123456780000010110101111111110100101000001100011001101101001110011001001表2 DNA序列的异或运算Tab. 2 DNA sequence XOR operation A G C TA A G C TG G A T CC C T A GT T C G ADNA规则的异或运算与普通二进制文件中的异或运算一样,按位异或.由异或运算本身的反身性(两次异或后得到自身) ,将其用于彩色二维码的加解密,方便、效果好且有较低的时间复杂度.例如,将两个DNA序列AGCT和CTGA采用一种如表2所示的异或运算,得到序列C
9、CTT作为结果.由序列CCTT异或序列CTGA便可以得到序列AGCT.1. 1. 3 Lorenz混沌系统 Lorenz混沌系统属三维混沌系统,描述如下:f( x) = ay- axf( y) = x( c- z) - yf( z) = xy- bz( 3)其中x、 y、 z表示混沌系统的状态变量, a、 b、 c表示系统参数.当a= 10, b= 8/ 3, c = 26时,该系统处于混沌状态,如图1所示.本文将Lorenz混沌系统初始值x0 、 y0 、 z0分别代入x、 y、 z,随着时间t迭代转化为3个实数序列,实现对彩色二维码像素值的置乱.图1 Lorenz吸引子Fig. 1 Lor
10、enz attractor1. 2 加密流程设计灰度图像仅由黑白两种颜色组成,通常称为二值色,计算中可用0和1表示;而彩色二维码则需用三通道模型( R、 G、 B)表示,其中R代表红色通道, G代表绿色通道, B代表蓝色通道.借鉴灰度图像加密原理,针对彩色二维码的特点加以改进使其更适于彩色二维码的加密.将彩色二维码用三通道模型表示后,采用灰度图像方法处理每个通道,再利用三通道模型的可逆性合并3个通道,得到彩色二维码的加密图像.彩色二维码的加密流程图如图2所示,过程设计如下:步骤1输入彩色二维码矩阵P( m, n) ,其中m、 n分别表示矩阵的行和列.步骤2使用SHA- 256算法生成密钥序列K
11、和Lorenz混沌系统的初始值( x0 , y0 , z0 ) .步骤3将彩色二维码分解成红色、绿色、蓝色3种像素值矩阵,然后将每个矩阵分别变换为二进制矩阵R( m, n 8) 、 G( m, n 8) 、 B( m, n8) ,根据选择的DNA规则Re,分别编码3个矩阵,得到3个DNA序列矩阵Pr( m, n 4) 、 Pg( m,n 4) 、 Pb( m, n 4) .步骤4将K转换为二进制序列K b,然后通过重复K b t次( t = m n 8/ 32)生成矩阵M k( m, n 8) .使用相同的编码规则Re编码M k,得到M ke.步骤5根据DNA异或运算规则按式( 3)计算后可得
12、二进制矩阵P r、 P g、 P b:036大连理工大学学报第57卷 万方数据图2 彩色二维码加密流程图Fig. 2 Color two- dimensional code encryption flow chartP r= Pr M keP g= Pg M keP b= Pb M ke( 4)步骤6用Lorenz混沌系统和X、 Y、 Z生成3个长度分别是m n 4的混沌实数序列xn 、yn 、 zn .步骤7混沌实数序列xn 、 yn 、 zn按式( 5)计算可得:( lx , fx ) = sort( x)( ly , fy ) = sort( y)( lz , fz ) = sort(
13、z)( 5)( , ) = sort ( )表示混沌序列的索引函数,fx 、 fy 、 fz分别是x 、 y、 z的新序列, lx 、 ly 、 lz分别表示f x 、 fy 、 fz的索引值.步骤8将二进制矩阵P r、 P g、 P b分别转化为向量V r( m n 4) 、 V g ( m n 4) 、 V b ( m n4)并按式( 6)置乱:V r( i) = V r( lx ( i) )V g( i) = V g( ly ( i) )V b( i) = V b( lz ( i) )( 6)步骤9将V r、 V g、 V b分别转化为3个矩阵Re( m, n 4) 、 Ge( m, n
14、 4) 、 Be ( m, n 4) ,使用选择的DNA规则Rd解码Re、 Ge、 Be,得到3个二进制的矩阵Rd、 Gd、 Bd.步骤10二进制矩阵合并还原得到加密彩色二维码.1. 3 解密流程设计解密过程是加密过程的逆操作.解密流程如图3所示,过程设计如下:图3 彩色二维码解密流程图Fig. 3 Color two- dimensional code decryption flow chart步骤1使用Rd规则,分别编码加密彩色二维码的红色、绿色和蓝色的像素值,得到3个矩阵Re、Ge、 Be,接着分别将矩阵转化为3个向量V r、 V g、V b.步骤2 V r、 V g、 V b是3个混沌
15、向量,为获得未置乱向量V r、 V g、 V b,对加密算法的步骤8按式( 7)做逆操作:136 第6期 杨宏宇等:基于SHA- 256和DNA序列的彩色二维码混沌加密方法万方数据V r( i) = V r( lx ( i) )V g( i) = V g( ly ( i) )V b( i) = V b( lz ( i) )( 7)步骤3将V r、 V g、 V b3个向量转化为3个矩阵P r、 P g、 P b.步骤4通过表2的DNA异或运算,对加密算法的步骤5按式( 8)做逆操作:Pr= P r M kdPg= P g M kdPb= P b M kd( 8)M kd是通过密钥序列K获得,与
16、加密过程的步骤5的M ke相同.步骤5 Pr、 Pg、 Pb表示3个含有DNA规则的矩阵,为得到彩码的红色、绿色、蓝色像素值,用Re规则解码Pr、 Pg、 Pb,得到二进制矩阵R( m,n 8) 、 G( m, n 8) 、 B( m, n 8) .步骤6最后得到还原后的彩色二维码.1. 4 密钥空间分析可从Lorenz混沌系统初始值精度和加密密钥空间两个方面分析彩色二维码加密方法的安全性.Lorenz混沌系统的初始值为x0 、 y0 、 z0 ,若精度为1014 ,密钥空间大小将达到1042 .最理想的情况下SHA- 256抵抗攻击的能力SSHA- 256 = 2128 ,可得总的密钥空间S
17、= 2128 1042 3. 4 1080 ,密钥空间足够大,足以抵抗穷举攻击.因此,本文方法密钥空间较大,安全性较高.2 实验与分析分别从保密性、密钥灵敏度、信息熵、抗差分攻击能力等方面对本文方法的安全性进行实验验证和分析.使用M atlab 2014a进行仿真实验,主机为DELL PC机,处理器为Inter( R) Core i7-3770 CPU,内存为4 GB.2. 1 保密性验证将134 137彩色二维码作为输入图像(图4( a) ) ,在M atlab中编码实现彩色二维码的加解密算法.参数设置如下: x0 = 11. 16, y0 =6. 61, z0 = 22. 68, Re =
18、 4, Rd = 5.加密效果如图4( b)所示,解密效果如图4( c)所示.从图4可见,原彩色二维码(图4( a) )在加密之后(图4( b) )已经无法分辨其图案,将加密的彩色二维码解密后便可将其恢复(图4( c) ) .由此可知,通过扫码设备验证后可识别原二维码和解密二维码,但无法识别加密彩色二维码.实验结果表明,本文提出的方法具有较好的加解密效果,能够满足对彩色二维码应用的保密性需求.( a)彩色二维码( b)加密效果图( c)解密效果图图4 彩色二维码加解密效果图Fig. 4 Effect charts of the color two- dimensional codeencryp
19、tion and decryption2. 2 密钥灵敏度分析为验证本文方法的密钥灵敏度,设计一组对照实验.实验中将加密密钥参数x0分别设为( a,b, c, d, e) = ( 11. 161, 11. 259, 11. 163, 13. 4612,12. 165) ,其他参数保持不变.然后使用与加密密钥存在微小偏差的解密密钥解密彩色二维码(每次只改变加密密钥的10- 10 ) .正确密钥( x0 = 11. 16)解密得到的彩色二维码如图5 ( a )所示,错误密钥( x0 =11. 160 000 000 1)解密得到的彩色二维码如图5( b)所示.正确密钥与错误密钥的差值得到的彩色二维
20、码如图5( c)所示.( a)正确密钥解密图( b)错误密钥解密图( c)密钥差值解密图图5 不同密钥解密的二维码Fig. 5 Two- dimensional code decrypted by different keys图5实验结果表明,正确密钥能够实现对彩色二维码精准解密,而存在微小偏差的错误密钥解密的彩色二维码与原彩色二维码相差较大,说明本文方法对密钥具有较高的灵敏度.为进一步验证本文方法的密钥灵敏度,将本文方法与基于动态随机增长技术的混沌块图像加密算法( chaotic block image encryption algorithmbased on dynamic random
21、growth technique,CBIEA) 18进行对比分析.为了度量解密彩色二维码与原彩色二维码的236大连理工大学学报第57卷 万方数据差异性和分析密钥灵敏度,引入均方误差( meansquared error, ems) 19 .均方误差较大的表明密钥灵敏度较高,相反,密钥灵敏度则较低.将原彩色二维码和解密彩色二维码分别表示为Q= Q( i, j ) 和E= E( i, j ) , i= 1, 2, , M , j= 1, 2, , N,则Q和E的均方误差为ems= 1M N Mi= 1Nj = 1 Q( i, j ) - E( i, j ) 2 ( 9)其中M 、 N分别表示彩色二
22、维码的长度、宽度.破解密钥与对照组密钥的均方误差如表3所示.表3 均方误差Tab. 3 The mean squared error破解方法ems/ 10- 10正确密钥a b c d e本文方法0 9 416. 74 9 417. 56 9 420. 98 9 409. 34 9 389. 75CBIEA 0 9 400. 23 9 413. 64 9 418. 67 9 426. 45 9 429. 78由表3可知,本文方法对密钥a、 b和c的灵敏度更高,而CBIEA 18对密钥d和e的灵敏度更高,这是由混沌系统的差异性造成的.可见,本文方法的密钥灵敏度较高,加解密效果较好.2. 3 信息
23、熵验证信息熵是信息随机性最重要的度量指标,可以反映加密算法的加密效率.信息熵越接近某个数值,算法的随机性越优,算法的加密效果越好.使用式( 10)对彩色二维码加密算法的信息熵进行验证和分析:H( s) = 2n- 1i= 0p( si ) log2 p( si ) - 1 ( 10)其中s表示信息源, p ( si )表示符号si的概率, 2n表示信息源s的总状态数.实验中,用一个256级的彩色二维码作为信息源,其像素值有28种,因此256级彩色二维码的理想信息熵应该是8. 256级彩色二维码的加密图像的信息熵越接近8,则表明加密图像的随机分布性越强、算法安全性越高 20 .由于DNA编解码规
24、则会随机出现在每一次彩色二维码加解密中,这种随机性可用信息熵表示.在M atlab中利用式( 10)对不同DNA编解码规则下的信息熵进行如下处理:通过选取DNA指标将DNA指标归一化,计算任选一项规则占所有规则的比重,然后计算此项的熵值,记录不同规则对应的信息熵并选择最接近理想值的值,结果如表4所示.表4 不同DNA编解码规则下的信息熵Tab. 4 Information entropy of different DNA encode anddecode rules规则1 2 3 4 5 6 7 81 7. 998 7. 996 7. 994 7. 994 7. 993 7. 997 7. 9
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 sha 256 dna 序列 彩色 二维码 混沌 加密 方法 杨宏宇
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内