欢迎来到知嘟嘟! 联系电话:13095918853 卖家免费入驻,海量在线求购! 卖家免费入驻,海量在线求购!
知嘟嘟
我要发布
联系电话:13095918853
知嘟嘟经纪人
收藏
专利号: 2020102791192
申请人: 广东工业大学
专利类型:发明专利
专利状态:已下证
专利领域: 计算;推算;计数
更新日期:2024-08-26
缴费截止日期: 暂无
价格&联系人
年费信息
委托购买

摘要:

权利要求书:

1.基于混沌和DNA的明文关联图像加密方法,其特征在于,不同的明文图像对应不同的密码流,实现明文关联,具体包括以下步骤:S1、假设待加密的原始明文图像P的大小为M*N,利用四维超混沌洛伦兹系统生成四个与明文图像大小相同的混沌伪随机序列,分别记为xn,yn,zn,wn;

S2、将xn和yn进行取模运算得到X和Y两个整数型序列,其中序列X用来控制DNA编码规则,序列Y用于扩散阶段的DNA异或操作;

S3、将原始明文图像P转换为长度为M*N的一维数组P1,用DNA编码序列X对P1和序列Y进行DNA编码,得到两个DNA序列DNA_P1和DNA_Y;

S4、计算明文的DNA编码相关值PPDC;

S5、通过明文DNA编码的相关值PPDC和混沌序列Zn、Wn计算生成用于行列置乱的序列Z和W;

S6、图像像素位置置乱操作;

S7、将置乱后的矩阵转换成长度为4MN大小的一维数组NEW_P,然后与DNA_Y进行异或操作,实现扩散过程;

S8、将实现扩散操作后的DNA序列按照X序列对应的规则进行DNA解码,转换为十进制像素值表示的M*N大小的矩阵,即为得到密文图像C。

2.根据权利要求1所述的基于混沌和DNA的明文关联图像加密方法,其特征在于,所述S1中使用的四维超混沌洛伦兹系统的数学模型如下:当参数a=10,b=8/3,c=28,-1.52≤r≤-0.06时,系统处于超混沌状态;当r=-1时,得到的四个李雅普诺夫指数分别为λ1=0.3381,λ2=0.1586,λ3=0,λ4=-15.1752,混沌系统具有两个正的李雅普诺夫指数,表明非线性系统处于超混沌状态;

由于超混沌洛伦兹系统的状态值是浮点数,不能直接应用于图像加密算法,因此将混沌状态值xi转换为整数型di:m

di=floor(xi×10)mod N;

其中,floor函数为取整函数,mod为取模运算,m、N均为正整数。

3.根据权利要求1所述的基于混沌和DNA的明文关联图像加密方法,其特征在于,所述步骤S2中,将xn进行取模运算得到X整数型序列的公式如下:X=floor(mod(xn(i)×1015,8))+1;

将yn进行取模运算得到Y整数型序列的公式如下:Y=floor(mod(yn(j)×1015,256))。

4.根据权利要求1所述的基于混沌和DNA的明文关联图像加密方法,其特征在于,所述步骤S4计算明文的DNA编码相关值PPDC的具体过程如下:S4-1、计算DNA_P1中腺嘌呤A、胸腺嘧啶T、胞嘧啶C、鸟嘌呤G的个数,分别记为numA,numT,numC,numG;

S4-2、对得到numA,numT,numC,numG进行取模运算得到num1,num2,num3,num4;

S4-3、将取模运算得到的num1,num2,num3,num4相乘,PPDC=num1×num2×num3×num4;,得到明文DNA编码的相关值PPDC。

5.根据权利要求4所述的基于混沌和DNA的明文关联图像加密方法,其特征在于,所述步骤S4-2中,将明文DNA编码后的腺嘌呤A、胸腺嘧啶T、胞嘧啶C、鸟嘌呤G的个数numA,numT,numC,numG进行取模运算的具体操作如下式,得到num1,num2,num3,num4:

15

num1=mod(numA×10 /(M×N×4),32768);

num2=mod(numT×1015/(M×N×4),32768);

num3=mod(numC×1015/(M×N×4),32768);

num4=mod(numG×1015/(M×N×4),32768)。

6.根据权利要求1所述的基于混沌和DNA的明文关联图像加密方法,其特征在于,所述步骤S5通过明文DNA编码的相关值PPDC和混沌序列Zn、Wn计算生成用于行/列置乱的序列Z和W的公式如下:

7.根据权利要求1所述的基于混沌和DNA的明文关联图像加密方法,其特征在于,所述步骤S6图像像素位置置乱操作的具体过程如下:S6-1、将DNA_P1转换为大小为M×4N的矩阵,然后进行行列置乱;

S6-2、按照由上到下的顺序利用Z序列进行行置乱过程;

S6-3、按照由左到右的顺序利用W序列进行列置乱过程。

8.根据权利要求7所述的基于混沌和DNA的明文关联图像加密方法,其特征在于,所述行列置乱的具体过程如下:从第一行到第M行依次进行置乱:

i=1:M;temp=DNA_P1(i,:);

DNA_P1(i,:)=DNA_P1(Z(i),:);

DNA_P1(Z(i),:)=temp;

从第一列到第4N列依次进行列置乱:

j=1:4N;temp=DNA_P1(:,j);

DNA_P1(:,j)=DNA_P1(:W(j));

DNA_P1(:W(j))=temp;。