基于DNA序列编码的图像加密算法实现
以上代码是一个基于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/n0ja 著作权归作者所有。请勿转载和采集!