理论基础:加密方案
加密公式:
解密公式:
img=imread('22.jpg'); % 读取一张图片
a=rgb2gray(img); % 彩色图变为灰度图
k=size(a);
phase_1=exp(10*1j.*rand(k)); % 产生两个随机矩阵
phase_2=exp(10*1j.*rand(k));
pa=complex_fft2(a,phase_1); % 一次加密
pb=complex_fft2(pa,phase_2); % 二次加密
figure,imshow(abs(pb),[]), title('2 次傅里叶变换后的图 频谱图 +加密图');% 2 次傅里叶变换后的图 +加密图
saveas(gcf, '加密图', 'jpg')
ipb=ifft2(ifft2(pb));
figure,imshow(abs(ipb),[]),title('加密后的两次逆傅里叶变换图 ') % 两次逆傅里叶变换图
saveas(gcf, '加密后的两次逆傅里叶变换图 ', 'jpg')
phase_3=exp(10j.*rand(k));
phase_4=exp(10j.*rand(k));
error_phase_img=ifft2(ifft2(pb).*conj(phase_4)).*conj(phase_3);