如何使用Matlab进行RSA图像解密

时间:2017-10-03 01:00:58

标签: matlab encryption

有人可以帮我检查并更正我的代码吗...在这里我试图加密图像并成功完成(我的图像带有黑点)。然而,当我试图解密它时,我无法恢复原始图像(我得到了带蓝点的图像)。我认为解密部分有错,我不知道它是什么。有人能帮我吗。 :D

以下是我的代码:

inImg = double(imread('images/Me.jpg')); 
imshow('images/Me.jpg');
s = size(inImg);

% Encryption:
enImg = ones(s);
for u=1:s(1)     % iterate over each row
  for v=1:s(2) % iterate over each column
     enImg(u,v) = i_encrypt(inImg(u,v),n,e); 
  end
end
for u=1:numel(inImg)
   enImg(u) = i_encrypt(inImg(u),n,e); 
end
figure;imshow(enImg);

% Decryption:
deImg = ones(s);
for u = 1:s(1)
  for v=1:s(2)
    deImg(u,v) = i_decrypt(enImg(u,v),n,d);
  end
end
for i = 1:s
   deImg(i)= i_decrypt(enImg(i),n,d);
end
figure;imshow(deImg);



% Function
function en = i_encrypt(in,n,e)
en=1;
for i=e:-1:1
   en=rem(en*in,n);
end

 % Function
 function de = i_decrypt(en,n,d)
 de=1;
 for i=d:-1:1
   de=rem(de*en,n);
 end

运行代码时,我用数字替换n,e和d。

0 个答案:

没有答案