X=modroundX10^48+1;Y=modroundY10^48+1;Z=modroundZ10^44;H=modroundH10^48+1;e=Nt; e表示每一行可以分为多少块Q2=DNA_bianfenkuaitR1Y1;图片1Q1_1=DNA_bianfenkuaitI11X1;Q_last_1=DNA_yunsuanQ1_1Q2Z1;Q_11t1t=DNA_jieQ_last_1
以上代码是一个基于DNA序列编码的图像加密算法的实现。具体来说:
-
对原始图像进行RGB分离,将每个通道的像素值转化为二进制表示,并将每个像素值拆分为若干个块。
-
通过用户设定的参数和随机数生成密钥,包括每个块的编码顺序X、Y、Z以及每个块的扰动矩阵H。
-
对R通道的每个块进行DNA序列编码,每个块按照Y对应的序号进行编码,然后将其和I1通道的每个块按照X对应的序号进行DNA运算,再将运算结果和前一块按照Z对应的序号进行运算,得到扩散后的块。最后将每个块按照行列顺序还原成完整的图像。
-
对G、B通道的每个块进行上述步骤,得到扩散后的图像Q。
-
进行二次置乱,将Q矩阵进行行列置换,置换的顺序根据生成的密钥进行确定。
-
展示原始图像和加密后的图像Q。
-
将Q矩阵存入Q_jiami中作为加密结果。
原文地址: https://www.cveoy.top/t/topic/eWbl 著作权归作者所有。请勿转载和采集!