[发明专利]基于忆阻超混沌系统、元胞自动机和DNA计算的图像加密方法有效
申请号: | 201610303944.5 | 申请日: | 2016-05-09 |
公开(公告)号: | CN106023052B | 公开(公告)日: | 2017-06-13 |
发明(设计)人: | 柴秀丽;刘鹏飞;贾培艳;甘志华;杨康;张苗辉 | 申请(专利权)人: | 河南大学 |
主分类号: | G06T1/00 | 分类号: | G06T1/00 |
代理公司: | 郑州大通专利商标代理有限公司41111 | 代理人: | 陈大通 |
地址: | 475001 河*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明涉及一种基于忆阻超混沌系统、元胞自动机和DNA计算的图像加密算法,首先采用基于Chua电路的四维忆阻超混沌系统,同时明文图像通过作用于SHA256函数来产生密钥;将混沌系统产生的伪随机序列作为DNA动态编码的依据并且根据扩散后的DNA矩阵来决定元胞动态演变的规则,并且在加密的过程中,对图像做了分块处理;最后,通过伪DNA计算方法对图像进行加密,在对图像进行置乱的同时进行了扩散操作。本发明一方面增加了密钥空间,增强了算法抵抗暴力攻击的能力,另一方面又使得密钥的产生紧紧地依赖于明文,提高了算法抵抗选择明文攻击的能力,具有更强的抗穷举攻击能力,便于并行计算,进一步提高运行效率,提高算法的安全性。 | ||
搜索关键词: | 基于 忆阻超 混沌 系统 自动机 dna 计算 图像 加密算法 | ||
【主权项】:
一种基于忆阻超混沌系统、元胞自动机和DNA计算的图像加密方法,其特征在于:包含如下步骤:步骤1.利用SHA256函数对大小为M×N的明文图像P进行计算,得到一组256位的哈希值并将它作为图像密钥Key,将256位的图像密钥Key换算为32个十进制数k1,k2,...,k32,计算基于Chua电路的忆阻超混沌系统的初始状态值;步骤2.将得到的初始状态值带入忆阻超混沌系统进行迭代,得到4个大小分别为1×4MN的状态值矩阵X=[x1,1,x1,2,...,x1,4MN],Y=[y1,1,y1,2,...,y1,4MN],Z=[z1,1,z1,2,...,z1,4MN],W=[w1,1,w1,2,...,w1,4MN],对状态值矩阵X、Y、Z进行修正得矩阵X1=[x′1,1,x′1,2,...,x′1,4MN]、Y1=[y′1,1,y′1,2,...,y′1,4MN]、Z1=[z′1,1,z′1,2,...,z′1,4MN],使得x′1,h、y′1,h、z′1,h∈[1,8],对状态值矩阵W进行修正得矩阵W1=[w′1,1,w′1,2,...,w′1,4MN],使得w′1,h∈[0,1],h∈[1,4MN],将X1、Y1、Z1、W1分别按行重组为大小为M×4N的矩阵X_1,Y_1,Z_1,W_1;步骤3.对重组后的矩阵X_1、Y_1、Z_1进行分组,记A1=[X_1,Y_1],A2=[X_1,Z_1],A3=[Y_1,Z_1],利用明文的第一个像素选取将要用于DNA动态编码所需的规则数矩阵R1和R2,并使R1=Ai(1),R2=Ai(2),i=1,2,3,其中,选取R1和R2的规则如下:index=mod(P(1),3)+1;如果index=1,那么i=1,Ai=A1,此时R1=X_1,R2=Y_1;如果index=2,那么i=2,Ai=A2,此时R1=X_1,R2=Z_1;如果index=3,那么i=3,Ai=A3,此时R1=Y_1,R2=Z_1;其中,index是设定的一个变量,X_1、Y_1、Z_1表示修正重组后的状态值矩阵,P(1)表示明文图像的第一个像素值,mod(a,b)表示a对b取模,i∈[1,3];步骤4.将明文图像P按位展开,得到八个位平面并重组为大小为M×8N的矩阵U,令D(i,j)=[U(i,2*j‑1),U(i,2*j)],将矩阵U中每两个元素为一组,作为D中的一个元素,i∈[1,M],j∈[1,4N];步骤5.将矩阵D、R1、R2分别分割成p×q个分块矩阵,每个分块矩阵的大小为m×n,且满足m×p=M,n×q=4N,并将分割后的矩阵分别按行重组为大小为1×pq的一维矩阵并记为D_1、R_1、R_2,其中用D_1[k]、R_1[k]、R_2[k]分别表示D_1、R_1、R_2中第k块的分块矩阵,k=1,2,...,p×q;步骤6.从矩阵W_1的第一个元素开始按行依次选取2mn个元素,重新组成大小为m×2n的矩阵,并将该矩阵作为元胞自动机演变的初始构型C0;步骤7.对初始构型C0进行演变,其中Ck代表第k次演变后得到的构型,在进行第k次演变时,演变规则由第k‑1次经过扩散后获得的DNA图像块决定,k=1,2,...,p×q;步骤8.将D_1中第k块分块矩阵D_1[k]按照R_1中第k块分块矩阵R_1[k]中的编码规则进行DNA编码,并将编码后的矩阵记为DNA(D_1[k]);对演变得到的元胞构型Ck按照R_2中第k块分块矩阵R_2[k]中对应的编码规则进行DNA编码,并将编码后的矩阵记为DNA(Ck),k=1,2,...,p×q;步骤9.对得到的编码矩阵DNA(D_1[k])进行扩散操作;步骤10.令k=k+1,循环执行步骤7‑10,直到所有的分块都完成DNA加密;步骤11.将加密过的所有分块DNA矩阵重组为M×4N的矩阵并按照规则数矩阵R1中对应的规则数进行DNA解码操作,得到一个大小为M×8N的二进制矩阵Q1,然后对矩阵Q1进行十进制转换操作,得到一个大小为M×N的十进制密文矩阵Q2,即为加密后的密文图像。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于河南大学,未经河南大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201610303944.5/,转载请声明来源钻瓜专利网。