扩散
图像加密中,扩散处理是在不改变像素点位置的条件下,将任一明文像素点的信息隐藏在尽可能多的密文像素点中。
以下介绍一些基本的扩散算法
- 基于异或运算的扩散处理
正向(i从1到MN)的算法与其逆算法:
逆向(i从MN到1)的算法与其逆算法:
C和S是密码向量,P是明文图像。
实现:
clc;clear;
P=imread('lena.bmp');P=rgb2gray(P);
iptsetpref('imshowborder','tight');
figure(1);subplot(1,3,1);imshow(P);title('Lena图像');
[M,N]=size(P);P=double(P);
n=2*M*N;
h=0.002;t=800;
a=10;b=8/3;c=28;r=-1;
x0=1.1;y0=2.2;z0=3.3;w0=4.4;
s=zeros(1,n);
for i=1:n+t
K11=a*(y0-x0)+w0;K12=a*(y0-(x0+K11*h/2))+w0;
K13=a