保存密文图像在对此图像利用解密算法进行解密能不能行得通

最近密码学比赛刚结束,又回来研究同态加密这块了,一直以来,我纠结不会c语言怎么写代码来对图像进行加密,今天师兄提出了一个想法,比如我用c语言实现了图像的加解密,

然后,保存密文图像信息,然后再用解密算法对图像进行解密。好像在理论上是行得通的,那我先找个简单的加解密算法试验一下,同时看看字符串是如何处理的?

用matlab来实验。

我为了区分,写了两个主函数main和main1,写了一个简单的行列变换的作为加密函数jiami.m和解密函数jiemi.m

加密函数jiami.m

function[C]=jiami(I)
%加密过程
[M,N] = size(I);
for i = 1:M
for j = 1:N
C(i,j) =I(j,i);
end
end
end

解密函数jiemi.m

function[P]=jiemi(C)
%解密过程
[M,N] = size(C);
for i = 1:M
for j = 1:N
P(i,j) =C(j,i);
end
end
end

 首先在主函数main()中读取原图,并保存为jiami.bmp

clc;
close all;
I=imread('lena256.bmp');
figure(1);imshow(I);
title('original image');
C1=jiami(I);
figure(2);imshow(uint8(C1));
imwrite(C1,'jiami.bmp');

如果这时我把密文图像拿到别的平台去用对应的解密方法解密,图像是以矩阵的形式存储的,是可以解密出来的,

我只需要记住相应的参数,注意保存图像数据和字符串间的转换处理就行了

clc;
close all;
C2=imread('jiami.bmp');
figure(1);imshow(C2);
title('original image');
P1=jiemi(C2);
figure(2);imshow(uint8(P1));
imwrite(P1,'jiemi.bmp');

原文地址:https://www.cnblogs.com/fanglijiao/p/11838374.html